Para quem não sabe o que é procendural, dizendo de forma simples, é uma programação que sempre que é iniciado será diferente, como por exemplo um labirinto, toda vez que for iniciar no labirinto, o caminho sempre será diferente.
A boa noticia é que consegui colocar no Dopamine Rogue, onde o labirinto da mente sempre é diferente, monstros, itens e saídas diferentes, como a fase feliz que é o auge da dopamine, e a propria cidade, onde casas e predios e cidades estão em locais diferentes.
O motivo de quase desistir
Vamos falar tecnicamente agora, no inicio do desenvolvimento eu já iniciei no labirinto da mente, após fazer os demonios e o cenário, fui tentar desenvolver a programação para a fase ser procendural, e bom… Simplemente não conseguia, vi exemplos de outros jogos para ver se me ajudava, mas não encaixava em um jogo 2D, tentei criar com IA para ver se me dava uma luz, mas a IA tem seus limites e não conseguiu nem me da um caminho nem nada, tudo nao fazia sentido.
Basicamente o codigo não conseguia identificar que precisava ter um espaco para o jogador conseguir passar, desenvolvi de forma aleatória para ter paredes e itens em locais aelatórios mas nunca tinha um caminho aberto, simples assim.
Fiquei 1 semana inteira parado sem criar nada, só insistindo no erro, até que parei e deixei uns dias sem criar nada. Deu até um certo desanimo e pensei até em parar o desenvolvimento ali, é um sonho que sempre quis realizar e desistir já no começo era desanimador, mas talvez eu não fosse capaz?
Após uns dias, ainda estava desanimado com o desenvolvimento do jogo, peguei minha bicicleta e andei no parque, sempre me pegava pensando em como fazer, mas finalmente eu tive uma luz e parei de fazer um codigo que crie todo o caminho e resolvi criar vários caminhos manualmente, sei que assim deixa de ser procendural, mas em um game 2D seria fazil apenas colocar os numeros dos locais que cada item, parede e chão devem estar, além de sempre ter uma saída já que todo cenário será pensado.
Mas não deixará de ser procendural, pois, criei várias maneiras diferente para os cenários, mas é escolhida de mandeira aleatória, totalmente aleatória, raramente vai ter um cenário que pode ser o mesmo de outra jogada, mas só se o jogador zerar várias vezes todos os finais para conseguir.
Então implementei na cidade, os predios, as casas e missões são sempre em locais aleatórios, somente lá dentro, tirando a casa de Emma, serão sempre iguais, só os locais.
Não foi o codigo mais dificil que fiz, pois eu não consegui iniciar nada, mas teve outro desenvolvimento que parecia que estava andando mas sempre dava errado, então virou sim o codigo mais dificil que eu fiz, que foi o desenvolvimento da vida dos NPCs e vou contrar sobre no proximo post.