LabyRun is a 2D maze race game built with Python and pygame.
Two players start on opposite sides of a mirrored maze and race towards the treasure in the center, using power-ups and dealing with random events along the way.
- Two players race through a maze to reach the middle win zone.
- The maze is mirrored, so both players have to find the same path.
- Power-ups and random global events dynamically change the rules mid-race.
- Python 3.10+
pygamelibrary
pip install pygameIn the project root directory:
python main.py- Procedurally generated maze – a new random maze is created for each game.
- Two-player local race – both players compete on the same keyboard and screen.
- Map power-ups – temporary bonuses and penalties that affect you or your opponent.
- Random global events – short events that make the race less predictable.
- Menus, settings and leaderboard – simple UI to start the game, tune options and view best players.
Power-ups are items placed in the maze that temporarily change how players move or interact:
- Speed boosts and slows
- Size changes
- Teleports
- Freezing and reversed controls
From time to time, short global events change the rules for both players, for example:
- Harder-to-see walls
- Temporary shortcuts in the maze
- Sudden teleports
- Slower movement for both players
The game tracks how many matches each player has played and won, as well as basic timing information, and shows a simple leaderboard with the best results.


