Create a 3D maze runner game where the player controls a character that needs to navigate through a randomly generated maze to reach the exit. You'll use C++ linked lists to generate and manage the maze structure and apply 3D math for character movement and camera control.
Maze Generation: Implement a maze generation algorithm using a linked list data structure to create a random 3D maze. You can use a simple algorithm like recursive backtracking or Prim's algorithm.
Character Control: Create a character that the player can control using the WASD keys or arrow keys for movement in a 3D space. Implement collision detection to prevent the character from moving through walls.
Camera Control: Implement a camera system that follows the character's movement. You can use a third-person perspective to enhance the gameplay experience.
Exit and Win Condition: Place an exit point at a random location within the maze. The player wins when they reach the exit.
User Interface: Display a simple user interface that shows the player's progress, such as the number of steps taken or a timer.
Graphics and Audio: Add some basic 3D graphics and audio elements to make the game more engaging.