Eu quero fazer um jogo simples, semelhante aos livros de escolha seu próprio aventura. O jogador é apresentado com um texto narrativo e escolhe sua ação em uma lista de possibilidades. Isso, por sua vez, leva a um novo texto narrativo, ad infinitum. O único problema é que, dependendo de algumas decisões anteriores, a lista de possibilidades pode ser diferente.
À primeira vista, isso soa como uma carga de instruções if-else, implicando que um mecanismo de regras estaria em vigor. Mas, também me parece uma máquina de estados finitos.
Estou prestes a escrever isso em Java ou talvez Groovy. Atualmente, estou mais interessado nas questões conceituais, ou seja, como isso deve ser feito em um nível amplo (como as pessoas implementam jogos de xadrez ou de cartas, afinal?), Mas alguns conselhos sobre uma biblioteca específica também são bem-vindos.
Obviamente, o "mecanismo de jogo" do título não se refere à detecção de colisões ou outras mecânicas de física / gráficos, mas a lógica que decide quais opções um jogador deu à situação e ao seu estado atual.