Mapa de jogo, inimigos

Mapas

Os mapas do jogo serão baseados em tiles, com camadas. Assim posso definir camadas de “fundo”, “frente”, “máscara”, etc. Dessa forma, um dos metadados de um mapa é uma matriz [l][a][c], onde:

  • l é a largura do mapa, em tiles;
  • a é a altura do mapa, também em tiles;
  • c é o número de camadas do mapa.

Assim, a posição [12][10][1] daria o objeto na camada 1 e posição (12 * t,10 * t), sendo t o tamanho do tile.

Ainda devem ser definidos como devem ser detectadas as colisões do jogador com o mapa, como lidar com gatilhos de eventos de script e como posicionar os inimigos, o que nos leva a…

Inimigos

Uma coisa que deve ser levada em consideração é o posicionamento dos inimigos, mas isso depende de uma decisão de design: Os inimigos “reaparecem” quando o jogador passa por uma certa posição (pense Megaman), ou só reaparecem ao sair/entrar de um mapa (Castlevania SOTN e outros recentes)?

A primeira opção seria mais interessante com a implementação de um sistema de níveis, no qual o jogador pode acumular experiência ao eliminar inimigos. O problema é que esse sistema, se não balanceado corretamente, pode forçar o jogador a parar o progresso para alcançar um certo nível, o que considero uma forma artificial de aumentar o tempo de jogo, sem contar que é chato pacas. Sendo assim, creio que seja adequada a segunda opção.

Deixe um comentário