A WIP turn-based roguelike maze runner against an AI-driven enemy.
Based on the classic roguelike tutorial as well as the Labyrinth pen-and-paper game and tailored for maze generation and AI maze solving.
The player has to solve the maze with limited visibility (Field of View = 1 cell ahead) before the rival AI reaches the end of its own maze. However, the player is able to see the full enemy's map and thus may predict their moves.
The mazes are procedurally generated (originally by Recursive Backtracking, but one can use any maze generation algorithm that yields a 2d array of wall/maze to be converted later into tiles) and have traps as well as buffs, which affect movement speed. Difficulty levels affect their chance of spawning.
The game itself is turn-based, like most classic roguelikes. Whoever starts traversing through the maze first is decided randomly.
The AI finds a solution for the maze using Recursive Backtracking algorithm (again, any can be used as long as it can find a way in a perfect maze) and then starts moving through the map using the generated way. Any obstacles or buffs met are counted for the enemy as they traverse the maze as well.
The story
(based on Keygard fantasy story series)
Unexpectedly, the forest citadel of the Murk Elves has been besieged by the powers of darkness led by Larutiore, a crafty undead thief looking to summon the ancient evil spirits of his mentor, the Great Serpent Grindmur.
The latter, fortunately, has been sleeping in the soil for ages and built a series of mazes to deceive possible trespassers. With Larutiore and his minions on the march, the city was quickly destroyed and the elves gone into hiding underground, in the vast grottos beneath their city.
Little they know, that in the very same grottos exists an entrance to the final maze, leading to the room where Grindmur himself sleeps, and Larutiore has already entered that maze..
Thus, time is running out quickly for the Elven King leading whatever is left of his squad to find reinforcements. If he succeeds before Larutiore finds Grindmur, the elves have a chance, otherwise their world is completely and utterly doomed.
Status on 09.01.22
The game itself is playable in PyCharm but the enemy doesn't move yet.
Status on 31.03.22
The alpha is fully playable, both in PyCharm and in the build.