It’s not the bang engine, it’s the phoenix engine (partly based on the bang engine)… Circa 2005, around the same time Ensemble Studios was shipping Age of Empires 3, Ensemble employee Angelo Laudon was experimenting with a prototype of Ensemble’s previous game, Age of Mythology, that allowed the previously PC-only game to be played with a controller “without too much friction”. This prototype would come to form the basis of Ensemble’s next project after the release of Age of Empires III, known as Phoenix, which would be a real-time strategy game released on the Xbox 360.[2]
Before the Phoenix engine ever entered development, Ensemble initially attempted to port the Age of Empires 3’s iteration of the Bang! engine, an older, PC-exclusive engine originally created for Age of Mythology.[3] Engineers Rich Geldreich and Billy Khan spent around 3 months in 2005 porting the engine from PC to Xbox 360, in what Geldreich described as “the most painful and mind numbing task [he] ever did [at Ensemble]”. Ultimately, it was a waste of time, as while the game was made to run and the Win32 networking backend was rewritten for the Xbox 360 to allow for multiplayer on the console, the game’s performance was incredibly poor, averaging between only 3-8 frames per second, and load times were as long as 5 minutes due to a slow, custom interpreter used by the script processor component of the map generator.[2]
Geldreich attributed the poor performance to the significant difference in target hardware between the original target platforms of the Bang! engine and the Xbox 360. While he praised the engine itself, particularly its resilience with respect to corrupted, modified or deleted data, which helped significantly with the 360 port, and its random map generation, it was fundamentally designed for single-threaded x86 systems with a large amount of RAM and a virtual memory system. These specifications differed significantly from those offered by the Xbox 360, which had an in-order PowerPC CPU, limited RAM, no virtual memory and no built-in hard drive.[2]
Ultimately, this port of the Bang! engine was only used for some internal playtesting and prototyping, running multiplayer matches with new maps and custom game scripts created by Graeme Devine and Angelo Laudon. Attempting to play the ported version of the engine, though, highlighted indisputably to the team that a direct PC to Xbox 360 port would never properly work for the engine, due to not being fun to work on for the Ensemble staff, very few of whom truly understood the Bang! engine, and due to the fact that such a port would not be competitive with other Xbox 360 first-party releases. In addition, the Bang! engine was heavily single-threaded, and thus even with extensive optimisation of the engine, performance still wouldn’t have been acceptable. Consequently, the port of Bang! engine was abandoned in favour of starting a new engine from scratch. The “Phoenix engine”[Note 1][1] is a game engine designed for the real-time strategy (RTS) genre, which was developed between 2005 and 2009. The engine takes its name from the eponymous cancelled video game project by Ensemble Studios, for which it was originally created. Circa 2006, when Microsoft directed Ensemble to retool the pitched project as a Halo game, the Phoenix engine was retained and would go on to power the final product, Halo Wars, and its eventual sequel Halo Wars 2.