Eu sempre quis criar um jogo de interpretação de papéis 2D à moda antiga, como Star Ocean, Final Fantasy, Sword of Mana e até a série “Tales of”, e acho que muitas pessoas o fazem. Mas antes mesmo de escrever uma única linha de código, fiz muita pesquisa, desenho e testes.
Encontrei quase todas as respostas para minhas perguntas, mas há um problema que não consegui resolver: como você cria uma detecção de colisão realista, porém simples , como nos jogos que eu citei antes?
Já conheço várias maneiras de calcular a detecção de colisões, veja os seguintes exemplos:
Nada disso satisfaz minhas necessidades.
- As colisões baseadas em ladrilhos são muito simples e combinam mais com um Zelda do que com um Star Ocean. Além disso, o desenho de cada peça precisa preencher todo o espaço para parecer realista.
- O pixel perfeito possui muitas restrições. Se seu ladrilho tiver algum pixel aqui e ali, o jogador provavelmente ficará preso no meio do nada (ou seja: em alguns jogos, você ficará preso em uma raiz de árvore com 2 pixels de largura).
- E máscaras binárias usam muita memória e configurações.
Eu li muita documentação, mas nunca encontrei algo que parecesse bom para mim. E todos os meus testes não pareciam nem um pouco com o que eu costumava brincar. Portanto, se você tiver bons links ou tutoriais sobre como o RPG 2D evoluído funciona, entre em contato.