subdirectory_arrow_right Metroid Prime (Game)
▲
1
▼
According to programmer Zoid Kirsch, when he first started programming and learning BASIC, one of the first programs he wrote at the age of 13 was a maze generation algorithm that could generate a maze of any size with a single solution (a C code port of Kirsch's original BASIC implementation, posted by him on Usenet in 1989, is included in the self-source tab for this submission). During the development of Metroid Prime, when designing Central Dynamo, the room in the Phazon Mines with the Power Bomb upgrade, he used the same algorithm to add a randomly generated maze for the Morph Ball that players would have to solve.
One of the game's tech leads Jack Mathews expressed concern that this algorithm would eventually generate an impassible maze, so to ensure that the maze was of sufficient length, he wrote a tool that would generate and then solve the maze, picking 300 random seeds that the solver indicated at least 75% of the maze was required to be traversed. This results in 300 different mazes that can be generated in Central Dynamo. The maze also features two obstacles along the route in the form of water puddles that must be bombed to short out the nearby nodes and open the path.
When this story was originally posted to Twitter in 2022, programmer Robin Lavallée commented that he wrote a similar algorithm for the Wii game Prince of Persia: The Forgotten Sands, where all seeds were equally likely, and the solution would be stored as he built the maze.
One of the game's tech leads Jack Mathews expressed concern that this algorithm would eventually generate an impassible maze, so to ensure that the maze was of sufficient length, he wrote a tool that would generate and then solve the maze, picking 300 random seeds that the solver indicated at least 75% of the maze was required to be traversed. This results in 300 different mazes that can be generated in Central Dynamo. The maze also features two obstacles along the route in the form of water puddles that must be bombed to short out the nearby nodes and open the path.
When this story was originally posted to Twitter in 2022, programmer Robin Lavallée commented that he wrote a similar algorithm for the Wii game Prince of Persia: The Forgotten Sands, where all seeds were equally likely, and the solution would be stored as he built the maze.
Zoid Kirsch tweet:
https://twitter.com/ZoidCTF/status/1591122506806882304
C code port of Kirsch's original BASIC implementation, posted by him on Usenet in 1989:
https://groups.google.com/g/comp.lang.c/c/Uw2mgfSPtbI/m/SXmTt6_pCB8J
Jack Mathews tweet:
https://twitter.com/jack_mathews/status/1591155796695732224
Robin Lavallee tweet:
https://twitter.com/robinlavallee/status/1591141684012003331
More detailed explanation of how the maze works:
https://wiki.metroidprime.run/wiki/Central_Dynamo
https://twitter.com/ZoidCTF/status/1591122506806882304
C code port of Kirsch's original BASIC implementation, posted by him on Usenet in 1989:
https://groups.google.com/g/comp.lang.c/c/Uw2mgfSPtbI/m/SXmTt6_pCB8J
Jack Mathews tweet:
https://twitter.com/jack_mathews/status/1591155796695732224
Robin Lavallee tweet:
https://twitter.com/robinlavallee/status/1591141684012003331
More detailed explanation of how the maze works:
https://wiki.metroidprime.run/wiki/Central_Dynamo
subdirectory_arrow_right Prince of Persia: The Forgotten Sands (Game), Prince of Persia: The Forgotten Sands (Game), Prince of Persia: The Forgotten Sands (Game)
▲
1
▼
The same picture of the Prince fighting a Charger enemy is featured on the back of each version of the game, despite the Chargers only appearing in the Xbox 360, PS3, and PC versions of the game.
Related Games
Prince of Persia: The Forgotten Sands
Prince of Persia: The Forgotten Sands
Prince of Persia: Warrior Within
Prince of Persia
Prince of Persia: The Forgotten Sands
Prince of Persia: The Two Thrones
Prince of Persia: The Sands of Time
Prince of Persia 2: The Shadow and the Flame
Prince of Persia: Redemption
Prince of Persia
Assassin's Creed Revelations
Tom Clancy's Rainbow Six: Vegas
Assassin's Creed Origins
Assassin's Creed Syndicate
Assassin's Creed Shadows
Assassin's Creed Valhalla
Assassin's Creed Rogue
Assassin's Creed IV Black Flag
Assassin's Creed Brotherhood
Immortals Fenyx Rising
Assassin's Creed Odyssey
Assassin's Creed Unity
Assassin's Creed III
Sonic the Hedgehog 4: Episode I
Sonic the Hedgehog
Despicable Me: The Game
Alan Hansen's Sports Challenge
Sonic the Hedgehog 2
Wonder Momo
Hopping Mappy
Streets of Rage
Harvest Moon: Magical Melody
Vegas Stakes
Pokémon Snap
Dance Dance Revolution: Disney Grooves
Golden Axe
Clockwerk
Donkey Kong Country 3: Dixie Kong's Double Trouble!
Bio Miracle Bokutte Upa
Street Fighter II: Champion Edition
Super Mario Galaxy
SpongeBob SquarePants: Plankton's Robotic Revenge
Super Monkey Ball: Banana Blitz
Tales of Monkey Island
1080° Snowboarding
Earthworm Jim 4
TNA Impact!
Guitar Hero: Metallica
Skylanders: SuperChargers Racing
Real Bout Fatal Fury Special