Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
3 participantes
Página 1 de 1
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
pessoal alguém aqui sabe onde eu posso aprender a fazer uma IA estilo aquela do zombicide? Alguém sabe como faz aquela IA pra me da umas dicas?
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
Como que é essa i.a? Posta vídeo.
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
Zombicide é um jogo de tabuleiro, n tem video da IA dele
mas os comportamentos são os seguintes:
ELAS SÃO CAPAZES DE SE DIVIDIR EM GRUPOS IGUAIS PARA IR ATRÁS DO PLAYER
ANDAM 1 CASA POR TURNO(AS VEZES DUAS, TEM IA QUE FAZ ISSO), SE ESTIVER PROXIMA DO PLAYER ELA PRIORIZA O ATAQUE.
VÃO PARA ÁREA QUE MAIS TEM BARULHO
SE ELAS SE DIVIDEM EM GRUPOS, OS GRUPOS DEVEM SER IGUAIS, CASO FALTE ZUMBIS PARA UM DOS GRUPOS, O JOGO DEVE SPAWNAR ZUMBIS ATÉ Q OS GRUPOS FIQUEM IGUAIS
mas os comportamentos são os seguintes:
ELAS SÃO CAPAZES DE SE DIVIDIR EM GRUPOS IGUAIS PARA IR ATRÁS DO PLAYER
ANDAM 1 CASA POR TURNO(AS VEZES DUAS, TEM IA QUE FAZ ISSO), SE ESTIVER PROXIMA DO PLAYER ELA PRIORIZA O ATAQUE.
VÃO PARA ÁREA QUE MAIS TEM BARULHO
SE ELAS SE DIVIDEM EM GRUPOS, OS GRUPOS DEVEM SER IGUAIS, CASO FALTE ZUMBIS PARA UM DOS GRUPOS, O JOGO DEVE SPAWNAR ZUMBIS ATÉ Q OS GRUPOS FIQUEM IGUAIS
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
Acho assim:
Vc pode colocar pontos prefixados em cada casa do tabuleiro e fazer a IA ir para o ponto mais próximo do local de barulho quando chegar ao seu turno, e vc pode ir contando quantas casas ela avançou para que nao ultrapasse o 1 ou 2.
Depois vc verifica se ela está próxima o bastante do player, e caso a distancia for menor que x ela executa o ataque aonde x é igual ao Range maximo de ataque da AI.
No caso dos grupos, vc pode procurar os pontos prefixados mais próximos da AI, e spawnar os zumbis nestes ponto, e contar quantos zumbis foram spawnados e caso a quantidade de zumbis atuais no grupo for menor que a quantidade de zumbis spawnados vc spawna mais zumbis no grupo até chegar a quantidade certa.
Para fazer a parte dd grupos voce pode usar um script com um id do grupo do zumbi. Dos pontos prefixados vc pode usar gameojects vazios como referencia. Usar Navmesh para a locomoção da IA. Vector3.Distance para medir a distancia do player. Vector3.Distance para medir a distancia entre os audioSources da cena para saber o local mais perto produindo Barulho. E Instantiate para as ordas.
Pelo menos eu penso assim.
Recomendo começar com um tabuleiro mais simples, com uma IA mais simples, depois voce pode ir customizando e personalizando ela.
Vc pode colocar pontos prefixados em cada casa do tabuleiro e fazer a IA ir para o ponto mais próximo do local de barulho quando chegar ao seu turno, e vc pode ir contando quantas casas ela avançou para que nao ultrapasse o 1 ou 2.
Depois vc verifica se ela está próxima o bastante do player, e caso a distancia for menor que x ela executa o ataque aonde x é igual ao Range maximo de ataque da AI.
No caso dos grupos, vc pode procurar os pontos prefixados mais próximos da AI, e spawnar os zumbis nestes ponto, e contar quantos zumbis foram spawnados e caso a quantidade de zumbis atuais no grupo for menor que a quantidade de zumbis spawnados vc spawna mais zumbis no grupo até chegar a quantidade certa.
Para fazer a parte dd grupos voce pode usar um script com um id do grupo do zumbi. Dos pontos prefixados vc pode usar gameojects vazios como referencia. Usar Navmesh para a locomoção da IA. Vector3.Distance para medir a distancia do player. Vector3.Distance para medir a distancia entre os audioSources da cena para saber o local mais perto produindo Barulho. E Instantiate para as ordas.
Pelo menos eu penso assim.
Recomendo começar com um tabuleiro mais simples, com uma IA mais simples, depois voce pode ir customizando e personalizando ela.
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
eu consegui fazer a IA andar do jeito q eu preciso aqui, mas ainda tenho um problema, ela conta as casas e para, dai se eu tento resetar pra ela andar mais uma casa e parar, ou ela anda pra frente sem parar ou ela não anda
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
YmKx escreveu:eu consegui fazer a IA andar do jeito q eu preciso aqui, mas ainda tenho um problema, ela conta as casas e para, dai se eu tento resetar pra ela andar mais uma casa e parar, ou ela anda pra frente sem parar ou ela não anda
Pode postar o script?
Voce pode criar uma bool para saber se está no turno, se estiver no turno vc reseta a quantidade de casas, e passa uma nova posição para ela, e se nao estiver no turno ou a ja estiver chegado à quantidade de casas, a velocidade do NavMesh dela vai para 0 ou ela recebe target null
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
- Script:
- Código:
public NavMeshAgent agnt;
public GameObject[] ways;
public int index;
public int pontos = 1;
public Personagem_1 P;
public Vector3 pos;
public string name_t;
public string name_inicial;
public int col;
public int player_points;
// Use this for initialization
void Start () {
pos = transform.position;
//name_inicial = GameObject.Find;
}
// Update is called once per frame
void Update () {
if (player_points == 0) {
reset_info ();
}
if (pontos == 1) {
agnt.isStopped = false;
agnt.SetDestination (Vector3.forward);
}
if (pontos == 0) {
player_points = 3;
if (agnt.isStopped == false) {
pos = transform.position;
agnt.isStopped = true;
}
}
}
void reset_info(){
pontos = 1;
col = 1;
}
void OnTriggerEnter(Collider other){
if (other.gameObject.tag == "Tile") {
if (col == 1) {
name_inicial = other.gameObject.name;
col = 0;
}
name_t = other.gameObject.name;
if (name_inicial != name_t) {
StartCoroutine (muda_valor());
}
}
}
IEnumerator muda_valor(){
yield return new WaitForSeconds (3);
pontos = 0;
}
public void ZombieShooted ()
{
this.agnt.isStopped = false;
P.level += 1;
}
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
Tente remover a linha 60 e 63
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
ela fica andando loucamente sem parar
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
Mas em qual momento a variável Player Points recebe o valor 0?
Pelo que vejo ela só vai voltar a continuar quando a variável PlayerPoints for igual a 0
Pelo que vejo ela só vai voltar a continuar quando a variável PlayerPoints for igual a 0
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
assim, o jogo é por turnos, eu coloquei essa player points só pra fazer o teste no movimento da IA, os pontos do player vão zerar após ele fazer 3 ações
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
E voce ja colocou essas tres ações?
Tent mudar o valor da variável pelo Inspector
Tent mudar o valor da variável pelo Inspector
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
nesse script ai eu to mudando pelo inspector mesmo, só q ele buga daquele jeito q eu disse, ou ele anda sem parar, ou ele simplesmente não anda
o script q vai controlar no jogo a quantidade de pontos do player vai ficar no script do proprio player
o script q vai controlar no jogo a quantidade de pontos do player vai ficar no script do proprio player
YmKx- Avançado
- PONTOS : 2961
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Tópicos semelhantes
» Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
» FAZER JOGO ESTILO O MR PRESIDENT
» Como posso fazer um jogo 2d de quebra cabeça?
» ¿COMO POSSO FAZER JOGO DE FUTEBOL NO UNITY?
» Por onde começar a aprender a programar?
» FAZER JOGO ESTILO O MR PRESIDENT
» Como posso fazer um jogo 2d de quebra cabeça?
» ¿COMO POSSO FAZER JOGO DE FUTEBOL NO UNITY?
» Por onde começar a aprender a programar?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos