lukanpeixe / projetocastleroid

Trabalhando em códigos para o mod/mapa de aventura para Terraria produzido pelo Idealizador e seguidores do canal Press key to play.
Apache License 2.0
8 stars 7 forks source link

16 - Criar/Modificar Inteligências Artificias (AI) de Monstros e Bosses #17

Open lukanpeixe opened 7 years ago

lukanpeixe commented 7 years ago

Estava começando a fazer uma tabela com os mobs que preciso para a primeira área(jardim), e percebi algo bem infeliz: a maioria dos tipos de AI's do jogo são de criaturas móveis e guiadas pela posição do jogador.

Para um projeto no estilo Castlevania/Metroid, isso é um baita de um problema, pois muito dos inimigos deste tipo de jogo se movem sem se importar com a posição do personagem, fazendo uma rota repetidas vezes, outros ficam parados no lugar, enquanto atacam estáticos para uma determinada direção, e ainda existe aqueles monstros que mesclam os dois estilos.

Enfim, preciso que alguém pesquise a possibilidade de editar as AI's do jogo. Eu fiz uma busca não muito profunda e não encontrei nada de muito útil.

Links para quem quer saber mais sobre as AI's do Terraria:

Tabela com Parâmetros de todos NPC's

Lista com código e descrição de todas as AI's Vanillas

ghost commented 7 years ago

Da para remover todos os mobs padrões e recria-los no mod com uma AI que preste q-q

ghost commented 7 years ago

E editar AI's seria o que falei de decompilar o jogo, vou tentar com o hacker's view e un programas que eu tenho, mas não garanto nada

Kemado commented 7 years ago

Preciso de algo do tipo, o inimigo deve saltar a cada 2s e depois avançar um passo...

Kemado commented 7 years ago

Ou seja você me passa a logica e eu tento atendê-la via código XD

lukanpeixe commented 7 years ago

E editar AI's seria o que falei de decompilar o jogo, vou tentar com o hacker's view e un programas que eu tenho, mas não garanto nada

Se conseguir algo, me avise. O @Gurigraphics estava conseguindo decompilar alguams partes.

Preciso de algo do tipo, o inimigo deve saltar a cada 2s e depois avançar um passo...

Não me da liberdade, se não vou abusar! haha

Para começar, pega uma slime, faz ela ficar parada no x, mas pular verticalmente de 3 em 3 segundos. Depois faz outra igual, só quando o personagem chegar perto dela. E por fim, faça uma que dispare constantemente para a direita, de 1 em 1 segundo, também imóvel em ambos os eixos, ams com uma "animação parada". (Acho que apelei haha falei que ia abusar... =P)

Kemado commented 7 years ago

Hehehe, realmente este é mais trabalhoso vou trabalhar na ia assim que terminar o spawn dos npcs via wireless. Obs-> já está funconando o problema é que spawna de dois em dois vou ver se resolvo, afinal tenho 3 dias para terminar isso, caso o contrario ficarei frustrado XD

lukanpeixe commented 7 years ago

Sobre Spawn, não esqueça que o formato de estátua é inconveniente, seria ideal se fosse um quadro ou um item que flutue sem a presença de parede ou "chão". mas se você só desenrolar o spawn, eu me viro com esta questão da estátua :smiley:

Kemado commented 7 years ago

Foi isso que deixou um pouco mais fácil consegui fazer um spawn através de uma cama com sprite diferente, que no caso era uma árvore e ao clicar spawnava monstros. Estou na fase final de testes acredito que em breve tenho boas novas.

ghost commented 7 years ago

@lukanpeixe O guri ele só pegou as opções que tem disponivel para o código se fosse para decompilar e dai nós nos mudados de programação básica em C# e api e java coisas simples para assembly q-q que nem eu sei direito, eu tenho que procurar num código de 114134234213 linhas q-q

Kemado commented 7 years ago

Galera consegui algo interessante já fiz o slime ate pular e em 3 em 3 s. O problema agora e faze ele atirar projeteis enfim vou subir o que fiz...

lukanpeixe commented 7 years ago

Galera consegui algo interessante já fiz o slime ate pular e em 3 em 3 s. O problema agora e faze ele atirar projeteis enfim vou subir o que fiz...

Isso parece divertido, vou testar e depois comento :smile:

lukanpeixe commented 7 years ago

Alguma coisa errada não deu certo kkk

Eu spawno o monstro, ele aparece bonitinho, porém começa a rolar uma sequencia de números que vai de 0 à 3 no chat do jogo (um número por linha). O Pulo esta meio "teleporte" quando sobe mas desce mais naturalmente. Fora isso, ela tem uma super sensibilidade a knockback, mas isso é tranquilo de resolver ^^

Mesmo assim agradeço o protótipo de gosma :japanese_ogre:

Kemado commented 7 years ago

Ah ta esse numero eu uso pra retonar mensagens no jogo quando algo da certo, essa quertão de que parece que ele teleporta realmente isso é um teleporte, sem falar que você não testou blocos acima do npc ele.simplismente ignora colisões. Em fim de volta ao laboratório.... kkkkk

lukanpeixe commented 7 years ago

Não tem problema ele ignorar colisões, desde que ele não sai do lugar pré determinado, por isso negar o knockback :) Mas fique tranquilo, só foi umas constataçãos, teremos tempo para quebrar a cabeça com isso haha

lukanpeixe commented 7 years ago

Trazendo para cá a postagem do @Kemado no #19 que aborda AI para comentar a mesma.

https://github.com/lukanpeixe/projetocastleroid/issues/19#issuecomment-266145426