[RESOLVIDO] Como faço inimigo em muiltiplayer cooperativo?
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como faço inimigo em muiltiplayer cooperativo?
O inimigo no meu jogo é um NavMeshAgent que segue pelo mapa, te persegue quando te detecta e te ataca a certa distância. Se eu colocar o jogo para multiplayer online, como faço para que o inimigo possa detectar os dois players(os dois são da mesma equipe). Não precisa ser ao mesmo tempo, pode ser que o parâmetro "player" fique vazio enquanto não tiver nenhum player no campo de visão, ou que ele detecte o que estiver mais perto, ajudem por favor.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Como faço inimigo em muiltiplayer cooperativo?
Já começou a fazer a migração pro multiplayer? Já escolheu a biblioteca que vai usar?
Bom, normalmente cada player ou npc possui um Id único que é atribuído assim que o objeto é criado no server, por esse id você consegue referenciar corretamente o mesmo jogador entre todos os clientes executando seu jogo, a detecção pode ser feita no servidor caso o servidor tenha autoridade sobre todos os npcs, ou até em alguns dos clientes, dependendo de como seu jogo está estruturado, mandando um comando pro servidor com o ID do player, o comando sincroniza o ID do alvo entre todas as versões do npc e eles começam a perseguir o mesmo jogador em todos os clientes.
#edit
Pensando aqui com meus botões... Se você só sincronizar o player, o navmesh pode escolher caminhos diferentes pra cada versão do inimigo (nos pcs diferentes), então nesse caso acho mais viável deixar o server cuidar da movimentação e apenas sincronizar a posição do npc usando o componente de sincronização de transform da sua biblioteca de escolha;
Bom, normalmente cada player ou npc possui um Id único que é atribuído assim que o objeto é criado no server, por esse id você consegue referenciar corretamente o mesmo jogador entre todos os clientes executando seu jogo, a detecção pode ser feita no servidor caso o servidor tenha autoridade sobre todos os npcs, ou até em alguns dos clientes, dependendo de como seu jogo está estruturado, mandando um comando pro servidor com o ID do player, o comando sincroniza o ID do alvo entre todas as versões do npc e eles começam a perseguir o mesmo jogador em todos os clientes.
#edit
Pensando aqui com meus botões... Se você só sincronizar o player, o navmesh pode escolher caminhos diferentes pra cada versão do inimigo (nos pcs diferentes), então nesse caso acho mais viável deixar o server cuidar da movimentação e apenas sincronizar a posição do npc usando o componente de sincronização de transform da sua biblioteca de escolha;
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Como faço inimigo em muiltiplayer cooperativo?
Eu tô bem no começo do projeto, tô fazendo o sistema de movimentação que é um pouco diferente. Eu não expliquei direito, os diferentes inimigos estão espalhados pelo mapa, o que eu quero é que quando você entre no campo de visão de um deles esse inimigo específico te ataque, mas ao sair do área de visão dele ele te "desmarque" como alvo e volte ao comportamento padrão, deixando esse campo livre para ele detectar um outro jogador que se aproximar.Fagner escreveu:Já começou a fazer a migração pro multiplayer? Já escolheu a biblioteca que vai usar?
Bom, normalmente cada player ou npc possui um Id único que é atribuído assim que o objeto é criado no server, por esse id você consegue referenciar corretamente o mesmo jogador entre todos os clientes executando seu jogo, a detecção pode ser feita no servidor caso o servidor tenha autoridade sobre todos os npcs, ou até em alguns dos clientes, dependendo de como seu jogo está estruturado, mandando um comando pro servidor com o ID do player, o comando sincroniza o ID do alvo entre todas as versões do npc e eles começam a perseguir o mesmo jogador em todos os clientes.
#edit
Pensando aqui com meus botões... Se você só sincronizar o player, o navmesh pode escolher caminhos diferentes pra cada versão do inimigo (nos pcs diferentes), então nesse caso acho mais viável deixar o server cuidar da movimentação e apenas sincronizar a posição do npc usando o componente de sincronização de transform da sua biblioteca de escolha;
Só uma dúvida, posso usar esse fórum para pedir ajuda de pessoas no desenvolvimento, eu preciso de alguém que saiba animar em 3d, queria saber se é permitido usar o fórum pra chamar pessoas pro projeto.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Como faço inimigo em muiltiplayer cooperativo?
"Só uma dúvida, posso usar esse fórum para pedir ajuda de pessoas no desenvolvimento"
Pode sim, claro, crie um tópico em Formação de equipes, deixe informações sobre o projeto, o que espera dele e de preferência como pretende remunerar os participantes.
Sobre a dúvida do tópico, se a detecção funciona no jogo offline, funciona sem muitos problemas no online, o server tem uma "cópia" do game, se ele detectar lá, é só questão de mostrar essa detecção nos clientes (maquinas das pessoas rodando o jogo). Se preocupe antes em deixar o jogo redondinho, já é complicado por si só, mas se tiver tudo certo a migração pro multiplayer é mais fácil.
Pode sim, claro, crie um tópico em Formação de equipes, deixe informações sobre o projeto, o que espera dele e de preferência como pretende remunerar os participantes.
Sobre a dúvida do tópico, se a detecção funciona no jogo offline, funciona sem muitos problemas no online, o server tem uma "cópia" do game, se ele detectar lá, é só questão de mostrar essa detecção nos clientes (maquinas das pessoas rodando o jogo). Se preocupe antes em deixar o jogo redondinho, já é complicado por si só, mas se tiver tudo certo a migração pro multiplayer é mais fácil.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Como faço inimigo em muiltiplayer cooperativo?
Valeu, achei o tópico da formação de equipes, já até postei lá. Então, meu maior foco agora tá em aplicar uma boa mecânica pro jogo pra deixar ele bom de se jogar. Vou dar uma pesquisada a mais sobre o multiplayer pra não ter erro na hora de transferir.Fagner escreveu:"Só uma dúvida, posso usar esse fórum para pedir ajuda de pessoas no desenvolvimento"
Pode sim, claro, crie um tópico em Formação de equipes, deixe informações sobre o projeto, o que espera dele e de preferência como pretende remunerar os participantes.
Sobre a dúvida do tópico, se a detecção funciona no jogo offline, funciona sem muitos problemas no online, o server tem uma "cópia" do game, se ele detectar lá, é só questão de mostrar essa detecção nos clientes (maquinas das pessoas rodando o jogo). Se preocupe antes em deixar o jogo redondinho, já é complicado por si só, mas se tiver tudo certo a migração pro multiplayer é mais fácil.
Agora sério, vcs são o melhor fórum de unity que já vi no Brasil, só tem cara esperto, que sabe mesmo responder, e são prestativos demais, parabéns pelo trabalho.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como faço uma seta na direção do inimigo?
» [RESOLVIDO] Como faço pro inimigo dar dano no personagem (jogo 2D de plataforma)
» [RESOLVIDO] Como eu faço o player sair do carro?
» [RESOLVIDO] Cronometro par Inimigo como se faz ?
» [RESOLVIDO] COMO FAZER UM INIMIGO
» [RESOLVIDO] Como faço pro inimigo dar dano no personagem (jogo 2D de plataforma)
» [RESOLVIDO] Como eu faço o player sair do carro?
» [RESOLVIDO] Cronometro par Inimigo como se faz ?
» [RESOLVIDO] COMO FAZER UM INIMIGO
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos