Quiero hacer un juego simple similar a los libros de elige tu propia aventura. Al jugador se le presenta un texto narrativo y puede elegir su acción de una lista de posibilidades. Esto, a su vez, conduce a un nuevo texto narrativo, hasta el infinito. El único inconveniente es que, dependiendo de algunas decisiones anteriores, la lista de posibilidades puede diferir.
A primera vista, esto suena como una carga de declaraciones if-else, lo que implica que un motor de reglas estaría en su lugar. Pero, también me parece una máquina de estados finitos.
Estoy a punto de escribir esto en Java o quizás en Groovy. Actualmente estoy más interesado en los problemas conceptuales, es decir, ¿cómo se debe hacer esto a un nivel amplio (de todos modos, ¿cómo implementan las personas los juegos de ajedrez o de cartas?), Pero algunos consejos sobre una biblioteca específica también son bienvenidos.
Obviamente, el "motor del juego" del título no se refiere a la detección de colisiones u otra física / mecánica de gráficos, sino a la lógica que decide qué opciones le ha dado un jugador a la situación y su estado actual.