Phoenix engine: Difference between revisions

citation for HW2 on Phoenix
(citation for HW2 on Phoenix)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Status|RealWorld}}
{{Disambig header|the game engine|other uses of the word "Phoenix" in ''Halo''|Phoenix}}
{{Disambig header|the game engine|other uses of the word "Phoenix" in ''Halo''|Phoenix}}
----
----
{{Status|RW}}
{{Callsign}}
{{Callsign}}
{{Infobox/Engine
|name="Phoenix engine"
|image=
|othernames=''Halo Wars'' engine
|developer=[[Ensemble Studios]]
|entereddev=[[2005]]
|derivedfrom=
|derivatives=
|firstuse=''[[Halo Wars]]'' (2009)
|latestuse=''[[Halo Wars 2]]'' (2017)
}}


The "'''Phoenix engine'''"{{Ref/Note|The name "Phoenix engine" is not an official term, and is instead inferred from the codename of the project it was originally developed for, Phoenix, and the fact that many internal ''Halo Wars'' files are prefixed <code>PHX</code>, for '''PH'''oeni'''X'''. Though unofficial, the name "Phoenix engine" is the most commonly used term in the community, and thus it is adopted here.}} is a [[Wikipedia:Game engine|game engine]] designed for the [[Wikipedia:Real-time strategy|real-time strategy]] genre, which was developed between [[2005]] and [[2009]]. The engine takes its name from the eponymous [[Phoenix (Ensemble pitch)|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]]''.
The "'''Phoenix engine'''"{{Ref/Note|The name "Phoenix engine" is not an official term, and is instead inferred from the codename of the project it was originally developed for, Phoenix, and the fact that many internal ''Halo Wars'' files are prefixed <code>PHX</code>, for '''PH'''oeni'''X'''. Though unofficial, the name "Phoenix engine" is the most commonly used term in the community, and thus it is adopted here.}}{{Ref/Site|Id=Wrensi|URL=https://mattjordandesigner.com/hw2|Site=Matt Jordan - Game Designer|Page=Halo Wars 2|D=14|M=04|Y=2023}} is a [[Wikipedia:Game engine|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 [[Phoenix (Ensemble pitch)|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]]''.


==Development history==
==Development history==
Line 10: Line 21:
Circa 2005, around the same time [[Ensemble Studios]] was shipping ''[[Wikipedia:Age of Empires III|Age of Empire 3]]'', Ensemble employee Angelo Laudon was experimenting with a prototype of Ensemble's previous game, ''[[Wikipedia:Age of Mythology|Age of Mythology]]'', that allowed the previously [[Wikipedia:Personal computer|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 (Ensemble pitch)|Phoenix]]'', which would be a real-time strategy game released on the [[Xbox 360]].{{Ref/Site|Id=RG|URL=https://sites.google.com/site/richgel99/|Site=Rich Geldreich|Page=Halo Wars|D=21|M=01|Y=2022}}
Circa 2005, around the same time [[Ensemble Studios]] was shipping ''[[Wikipedia:Age of Empires III|Age of Empire 3]]'', Ensemble employee Angelo Laudon was experimenting with a prototype of Ensemble's previous game, ''[[Wikipedia:Age of Mythology|Age of Mythology]]'', that allowed the previously [[Wikipedia:Personal computer|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 (Ensemble pitch)|Phoenix]]'', which would be a real-time strategy game released on the [[Xbox 360]].{{Ref/Site|Id=RG|URL=https://sites.google.com/site/richgel99/|Site=Rich Geldreich|Page=Halo Wars|D=21|M=01|Y=2022}}


Before the Phoenix engine ever entered development, Ensemble initially attempted to port the ''Age of Empire 3''{{'}}s iteration of the [[ageofempires:Bang Engine|Bang! engine]], an older, PC-exclusive engine originally created for ''Age of Mythology''.{{Ref/Site|URL=http://www.gamespot.com/pc/strategy/ageofmythology/news.html?sid=2680346|Site=GameSpot|Page=Ensemble Studios interview|D=06|M=03|Y=2009}} 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 [[Wikipedia:Windows API|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 [[Wikipedia:Frame rate|frames per second]], and load times were as long as 5 minutes due to a slow, custom [[Wikipedia:Interpreter (computing)|interpreter]] used by the script processor compoment of the map generator.{{Ref/Reuse|RG}}
Before the Phoenix engine ever entered development, Ensemble initially attempted to port the ''Age of Empire 3''{{'}}s iteration of the [[ageofempires:Bang Engine|Bang! engine]], an older, PC-exclusive engine originally created for ''Age of Mythology''.{{Ref/Site|URL=http://www.gamespot.com/pc/strategy/ageofmythology/news.html?sid=2680346|Site=GameSpot|Page=Ensemble Studios interview|D=06|M=03|Y=2009}} 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 [[Wikipedia:Windows API|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 [[Wikipedia:Frame rate|frames per second]], and load times were as long as 5 minutes due to a slow, custom [[Wikipedia:Interpreter (computing)|interpreter]] used by the script processor component of the map generator.{{Ref/Reuse|RG}}


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 [[Wikipedia:x86|x86]] systems with a large amount of [[Wikipedia:Random-access memory|RAM]] and a [[Wikipedia:Virtual memory|virtual memory]] system. These specifications differed significantly from those offered by the Xbox 360, which had an [[Wikipedia:Out-of-order execution#In-order processors|in-order]] [[Wikipedia:PowerPC|PowerPC]] [[Wikipedia:Central processing unit|CPU]], limited RAM, no virtual memory and no built-in [[Wikipedia:Hard disk drive|hard drive]].{{Ref/Reuse|RG}}
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 [[Wikipedia:x86|x86]] systems with a large amount of [[Wikipedia:Random-access memory|RAM]] and a [[Wikipedia:Virtual memory|virtual memory]] system. These specifications differed significantly from those offered by the Xbox 360, which had an [[Wikipedia:Out-of-order execution#In-order processors|in-order]] [[Wikipedia:PowerPC|PowerPC]] [[Wikipedia:Central processing unit|CPU]], limited RAM, no virtual memory and no built-in [[Wikipedia:Hard disk drive|hard drive]].{{Ref/Reuse|RG}}
Line 21: Line 32:
The engine and its toolset were worked upon between 2005 and 2007 by a group of at least 6 engineers, among a development team of roughly 25 for the project overall. Angelo and his team focussed on producing a new RTS simulation engine optimised for the 360. Meanwhile, for the engine tools, an entirely new editor was created for the engine in [[Wikipedia:C Sharp (programming language)|C#]] by [[Andrew Foster]] and [[Colt McAnlis]], while [[David Bettner]] created audio-related tools and engine code.{{Ref/Reuse|RG}}
The engine and its toolset were worked upon between 2005 and 2007 by a group of at least 6 engineers, among a development team of roughly 25 for the project overall. Angelo and his team focussed on producing a new RTS simulation engine optimised for the 360. Meanwhile, for the engine tools, an entirely new editor was created for the engine in [[Wikipedia:C Sharp (programming language)|C#]] by [[Andrew Foster]] and [[Colt McAnlis]], while [[David Bettner]] created audio-related tools and engine code.{{Ref/Reuse|RG}}


Some time in 2006, after it had been in development for between 12 and 18 months, Ensemble formally pitched the Phoenix project to Microsoft, who agreed to produce is provided that it be reworked as a ''Halo'' title, due to concerns that an entirely new real-time strategy IP on a console would not be successful. This set the project down the path that led it to becoming ''[[Halo Wars]]''.{{Ref/Site|Id=Goodman|URL=https://www.gamesindustry.biz/articles/2012-09-26-tony-goodman-the-publisher-as-we-know-it-may-become-extinct|Site=gamesindustry.biz|Page=Tony Goodman: "The publisher as we know it may become extinct"|D=21|M=9|Y=2021}}
Some time in 2006, after it had been in development for between 12 and 18 months, Ensemble formally pitched the Phoenix project to Microsoft, who agreed to produce it provided that it be reworked as a ''Halo'' title, due to concerns that an entirely new real-time strategy IP on a console would not be successful. This set the project down the path that led it to becoming ''[[Halo Wars]]''.{{Ref/Site|Id=Goodman|URL=https://www.gamesindustry.biz/articles/2012-09-26-tony-goodman-the-publisher-as-we-know-it-may-become-extinct|Site=gamesindustry.biz|Page=Tony Goodman: "The publisher as we know it may become extinct"|D=21|M=9|Y=2021}}


===Development of ''Halo Wars''===
===Development of ''Halo Wars''===
Line 33: Line 44:
===Development of ''Halo Wars 2''===
===Development of ''Halo Wars 2''===
{{Expand-section}}
{{Expand-section}}
A sequel to ''Halo Wars'', ''[[Halo Wars 2]]'', entered pre-production in [[2014]] but did not enter development until at least [[2015]], under a different studio from the original, [[Creative Assembly]]. Despite the different studio, ''Halo Wars 2'' was developed under the Phoenix engine, just like the original.{{Ref/Note|It is believed that ''Halo Wars 2'' uses an evolution of the same engine as ''Halo Wars'', due to similarities in the internal file structure and naming scheme.}}{{Citation needed}}
A sequel to ''Halo Wars'', ''[[Halo Wars 2]]'', entered pre-production in [[2014]] but did not enter development until at least [[2015]], under a different studio from the original, [[Creative Assembly]]. Despite the different studio, ''Halo Wars 2'' was developed under the Phoenix engine, just like the original.{{Ref/Note|It is believed that ''Halo Wars 2'' uses an evolution of the same engine as ''Halo Wars'', due to similarities in the internal file structure and naming scheme.}}{{Ref/Reuse|Wrensi}}


''Halo Wars 2'' was released on [[2017|February 21, 2017]].
''Halo Wars 2'' was released on [[2017|February 21, 2017]].
Line 42: Line 53:
*''[[Halo Wars]]'' (2009)
*''[[Halo Wars]]'' (2009)
**''[[Halo Wars: Definitive Edition]]'' (2016)
**''[[Halo Wars: Definitive Edition]]'' (2016)
*''[[Halo Wars 2]]'' (2017)
*''[[Halo Wars 2]]'' (2017){{Ref/Reuse|Wrensi}}


==Notes==
==Notes==