Editing Blam engine
From Halopedia, the Halo wiki
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 9: | Line 9: | ||
*Blam! engine | *Blam! engine | ||
*''Halo'' engine | *''Halo'' engine | ||
|developer=[[Bungie]] | |developer=[[Bungie]] | ||
|entereddev=[[1997]] | |entereddev=[[1997]] | ||
Line 20: | Line 19: | ||
}} | }} | ||
The '''Blam engine''',{{Ref/Site|Id=TigerEngine|URL=https://www.gdcvault.com/play/1022106/Lessons-from-the-Core-Engine|Site=GDC Vault|Page=Lessons from the Core Engine Architecture of Destiny|D=22|M=9|Y=2021}} often stylised '''Blam! engine''' | The '''Blam engine''',{{Ref/Site|Id=TigerEngine|URL=https://www.gdcvault.com/play/1022106/Lessons-from-the-Core-Engine|Site=GDC Vault|Page=Lessons from the Core Engine Architecture of Destiny|D=22|M=9|Y=2021}} often stylised '''Blam! engine''' and alternatively known as simply the '''''Halo'' engine''', is the [[Wikipedia:Game engine|game engine]] that powers the majority of ''[[Halo (disambiguation)|Halo]]'' titles, beginning with ''[[Halo: Combat Evolved]]'' in [[2001]]. It has since been succeeded by the [[Slipspace Engine]] in [[2021]], with the release of ''[[Halo Infinite]]''. | ||
==Development history== | ==Development history== | ||
Line 28: | Line 27: | ||
===Early roots: ''Minotaur'' and ''Pathways into Darkness''=== | ===Early roots: ''Minotaur'' and ''Pathways into Darkness''=== | ||
[[File:NH-PiD Screenshot Early3DRenderer.jpg|thumb|250px|A very early development version of the 3D graphics engine used by ''Pathways''.]] | [[File:NH-PiD Screenshot Early3DRenderer.jpg|thumb|right|250px|A very early development version of the 3D graphics engine used by ''Pathways''.]] | ||
Blam's origins can be traced back as early as [[Bungie]]'s [[1993]] game ''[[ | Blam's origins can be traced back as early as [[Bungie]]'s [[1993]] game ''[[Pathways into Darkness]]''. Inspired by [[Wikipedia:id Software|id Software]]'s [[1992]] title ''[[Wikipedia:Wolfenstein 3D|Wolfenstein 3D]]'', which itself began as a 3D remake of 1981's ''[[Wikipedia:Castle Wolfenstein|Castle Wolfenstein]]'', ''Pathways'' was originally conceived as "''Minotaur 3D''", a 3D remake of Bungie's previous game ''[[Minotaur: The Labyrinths of Crete]]'', released the year before.{{Ref/Site|Id=JJInt93|URL=http://pid.bungie.org/IMGjasoninterviewOct93.html|Site=pid.bungie.org|Page=Inside Mac Games Archive - Interview: Bungie's Jason Jones|D=9|M=3|Y=2022}} In the summer of 1992, [[Jason Jones]] began work on creating a 3D [[Wikipedia:Rendering (computer graphics)|rendering]] framework for Bungie's next game, soon producing a simple graphics engine that was able to simulate halls and walls using wireframe trapezoids. Though crude, this rendering engine laid the foundations of what would become the engine used for the game, and was improved and modified for months by Jones and others at Bungie until late 1992, introducing features such as [[Wikipedia:Texture mapping|texture mapping]] for walls.{{Ref/Site|Id=MakingOfPathways|URL=http://pid.bungie.org/IMGmakingofPID.html|Site=pid.bungie.org|Page=Inside Mac Games Archive - The Making Of: Pathways into Darkness|D=9|M=3|Y=2022}} | ||
[[File:NH-PiD Screenshot LevelEditor.jpg|thumb|left|250px|An image of the level editor created for ''Pathways''.]] | [[File:NH-PiD Screenshot LevelEditor.jpg|thumb|left|250px|An image of the level editor created for ''Pathways''.]] | ||
Line 35: | Line 34: | ||
===Further development: ''Mosaic'', ''Marathon'' and ''Myth''=== | ===Further development: ''Mosaic'', ''Marathon'' and ''Myth''=== | ||
Following the release of ''Pathways into Darkness'', Bungie began work on two future projects, ''[[Mosaic (cancelled Bungie project)|Mosaic]]'' and ''[[Marathon]]''.{{Ref/Reuse|MakingOfPathways}} ''Mosaic'' was to feature significantly improved graphics than ''Pathways'', including texture mapping for the floors and ceilings, as well as | Following the release of ''Pathways into Darkness'', Bungie began work on two future projects, ''[[Mosaic (cancelled Bungie project)|Mosaic]]'' and ''[[Marathon]]''.{{Ref/Reuse|MakingOfPathways}} ''Mosaic'' was to feature significantly improved graphics than ''Pathways'', including texture mapping for the floors and ceilings, as well as optimisations that aimed to make it possible for slower computers to reach acceptable [[Wikipedia:Frame rate|framerates]] without switching to a lower-[[Wikipedia:Display resolution|resolution]] mode. Another goal of the game was to produce more intelligent enemy artificial intelligence, capable of reacting to the player in more unique and interesting ways, such as searching for backup when outnumbered.{{Ref/Reuse|JJInt93}} | ||
[[File:NH-MZ Screenshot Demo.jpg|thumb|250px|The ''Marathon'' demo that was shown at Macworld in 1994, entitled ''Marathon Zero''.]] | [[File:NH-MZ Screenshot Demo.jpg|thumb|right|250px|The ''Marathon'' demo that was shown at Macworld in 1994, entitled ''Marathon Zero''.]] | ||
Originally a sequel to ''Pathways into Darkness'', ''Marathon'' entered development around the same time as as ''Mosaic'',{{Ref/Reuse|JJInt93}}{{Ref/Reuse|MakingOfPathways}} initially starting out as a series of coding experiments aimed at making the ''Pathways'' engine faster and more structurally elegant, while also seeking to improve enemy intelligence, as with ''Mosaic''. These experiments led to the creation of ''[[Marathon#Marathon Zero|Marathon Zero]]'', an alpha version of the game that was demoed at the [[Wikipedia:Macworld/iWorld|Macworld Expo]] at [[Wikipedia:San Francisco|San Francisco]] in [[1994|January 1994]]. However, this demo garnered very little reaction from the public, and many dismissed the game as ''Pathways into Darkness'' with some minor cosmetic improvements.{{Ref/Site|Id=MarathonScrapbook|URL=http://marathon.bungie.org/scrapbook/pages/page03.htm|Site=marathon.bungie.org|Page=Marathon Scrapbook, Page 3|D=9|M=3|Y=2022}} | Originally a sequel to ''Pathways into Darkness'', ''Marathon'' entered development around the same time as as ''Mosaic'',{{Ref/Reuse|JJInt93}}{{Ref/Reuse|MakingOfPathways}} initially starting out as a series of coding experiments aimed at making the ''Pathways'' engine faster and more structurally elegant, while also seeking to improve enemy intelligence, as with ''Mosaic''. These experiments led to the creation of ''[[Marathon#Marathon Zero|Marathon Zero]]'', an alpha version of the game that was demoed at the [[Wikipedia:Macworld/iWorld|Macworld Expo]] at [[Wikipedia:San Francisco|San Francisco]] in [[1994|January 1994]]. However, this demo garnered very little reaction from the public, and many dismissed the game as ''Pathways into Darkness'' with some minor cosmetic improvements.{{Ref/Site|Id=MarathonScrapbook|URL=http://marathon.bungie.org/scrapbook/pages/page03.htm|Site=marathon.bungie.org|Page=Marathon Scrapbook, Page 3|D=9|M=3|Y=2022}} | ||
Line 45: | Line 44: | ||
''Marathon'' was ultimately released on December 21, 1994, and was met with significant commercial success relative to the studio's small size. Within the first year, at least 100,000 copies of the game were sold worldwide. This success prompted work on two sequels, ''[[Marathon#Marathon 2: Durandal|Marathon 2: Durandal]]'' and ''[[Marathon#Marathon Infinity|Marathon Infinity]]'', releasing on [[1995|November 24, 1995]] and [[1996|October 15, 1996]] respectively. Each of the sequels was built upon the same engine and technology that powered the first game, but with significant iterations, improvements and optimisations each time. ''Marathon 2''{{'}}s iteration of the engine was reportedly roughly twice as fast, which permitted Bungie to increase the resolution from the original game's 448x272 to 640x320, a 68% increase in the number of rendered pixels. However, the later games did require more capable hardware than the original.{{Ref/Site|URL=http://marathon.bungie.org/story/imgm2sneak.html|Site=marathon.bungie.org|Page=Inside Mac Games Archive - Sneak Peek: Marathon 2|D=9|M=3|Y=2022}} | ''Marathon'' was ultimately released on December 21, 1994, and was met with significant commercial success relative to the studio's small size. Within the first year, at least 100,000 copies of the game were sold worldwide. This success prompted work on two sequels, ''[[Marathon#Marathon 2: Durandal|Marathon 2: Durandal]]'' and ''[[Marathon#Marathon Infinity|Marathon Infinity]]'', releasing on [[1995|November 24, 1995]] and [[1996|October 15, 1996]] respectively. Each of the sequels was built upon the same engine and technology that powered the first game, but with significant iterations, improvements and optimisations each time. ''Marathon 2''{{'}}s iteration of the engine was reportedly roughly twice as fast, which permitted Bungie to increase the resolution from the original game's 448x272 to 640x320, a 68% increase in the number of rendered pixels. However, the later games did require more capable hardware than the original.{{Ref/Site|URL=http://marathon.bungie.org/story/imgm2sneak.html|Site=marathon.bungie.org|Page=Inside Mac Games Archive - Sneak Peek: Marathon 2|D=9|M=3|Y=2022}} | ||
After completion of the Marathon trilogy, Bungie's focus moved on to a new project, which would come to be known as ''[[ | After completion of the Marathon trilogy, Bungie's focus moved on to a new project, which would come to be known as ''[[Myth#Myth: The Fallen Lords|Myth: The Fallen Lords]]''. ''Myth'' was to be a [[real-time strategy]] game, with a particular focus on commanding units as opposed to the resource management and base building promiment in other RTS games.{{Citation needed}} ''Myth''{{'}}s engine featured significant technological leaps over ''Marathon''{{'}}s, with the use of a static [[Wikipedia:Polygonal modeling|polygonal]] 3D mesh for terrain, | ||
{{Ref/Site|Id=JJInt99|URL=http://www.insidemacgames.com/features/99/jones/jones.shtml|Site=Inside Mac Games|Page=Interview: Halo's Jason Jones|D=15|M=8|Y=2000}} and the introduction of the [[tag]]s system for storing game data in a platform-agnostic manner.{{Ref/Site|URL=https://www.gamedeveloper.com/design/postmortem-bungie-s-i-myth-the-fallen-lords-i-|Site=Game Developer|Page=Postmortem: Bungie's Myth: The Fallen Lords|D=9|M=3|Y=2022}} Nevertheless, ''Myth'' still inherited technology from the ''Marathon'' trilogy. At least one component, the [[Wikipedia:Physics engine|physics engine]] | {{Ref/Site|Id=JJInt99|URL=http://www.insidemacgames.com/features/99/jones/jones.shtml|Site=Inside Mac Games|Page=Interview: Halo's Jason Jones|D=15|M=8|Y=2000}} and the introduction of the [[tag]]s system for storing game data in a platform-agnostic manner.{{Ref/Site|URL=https://www.gamedeveloper.com/design/postmortem-bungie-s-i-myth-the-fallen-lords-i-|Site=Game Developer|Page=Postmortem: Bungie's Myth: The Fallen Lords|D=9|M=3|Y=2022}} Nevertheless, ''Myth'' still inherited technology from the ''Marathon'' trilogy. At least one component, the [[Wikipedia:Physics engine|physics engine]] was a substantially improved version of that used in the ''Marathon'' engine.{{Ref/Reuse|JJInt99}} | ||
''Myth: The Fallen Lords'' was released on [[1997|November 7, 1997]], and was followed by a sequel in the same engine, ''[[ | ''Myth: The Fallen Lords'' was released on [[1997|November 7, 1997]], and was followed by a sequel in the same engine, ''[[Myth#Myth II: Soulblighter|Myth II: Soulblighter]]'', on [[1998|December 28, 1998]]. A third game entitled ''[[Myth#Myth III: The Wolf Age|Myth III: The Wolf Age]]'' would eventually be produced by a different studio, [[Wikipedia:MumboJumbo|MumboJumbo]], and released on [[2001|November 2, 2001]]. | ||
===Inception of Blam: ''Halo''=== | ===Inception of Blam: ''Halo''=== | ||
According to [[Chris Butcher]], an engineering director at [[Bungie]], the Blam engine entered development in late [[1997]] alongside the game [[Development of Halo: Combat Evolved|that would come to be]] ''[[Halo: Combat Evolved]]''.{{Ref/Reuse|TigerEngine}} The Blam engine first started out as | According to [[Chris Butcher]], an engineering director at [[Bungie]], the Blam engine entered development in late [[1997]] alongside the game [[Development of Halo: Combat Evolved|that would come to be]] ''[[Halo: Combat Evolved]]''.{{Ref/Reuse|TigerEngine}} The Blam engine first started out as a next-generation version of the ''Myth: The Fallen Lords''{{'}} terrain engine, with the addition of polygonal units as opposed to the 2D sprites used by ''Myth''. Bungie quickly decided, however, that focusing in on a single character would be a more compelling use of the [[Halo universe|''Halo'' universe]] than a strategy game, and pivoted towards a third-person design.{{Ref/Reuse|JJInt99}} Despite this, many remnants of the ''Myth'' engine remained in the Blam engine, most notably the [[tag]] system, which remained a core part of Blam for the entirety of the engine's lifespan.{{Citation needed}} | ||
Nonetheless, many improvements were made over the ''Myth'' engine. Circa [[1999]], Blam supported features such as [[Wikipedia:Volumetric lighting|volumetric lighting]], per-pixel [[Wikipedia:Reflection (computer graphics)|reflections]] and [[Wikipedia:Texture mapping#Multitexturing|multitexturing]]. All of these features would eventually make it into the game's [[Xbox]] release in [[2001]]. At that time, the engine also supported a [[Wikipedia:Destructible environment|deformable terrain]] system, where explosions and orbital strikes would create permanent craters in the landscape.{{Ref/Reuse|JJInt99}} However, this feature was ultimately cut. | Nonetheless, many improvements were made over the ''Myth'' engine. Circa [[1999]], Blam supported features such as [[Wikipedia:Volumetric lighting|volumetric lighting]], per-pixel [[Wikipedia:Reflection (computer graphics)|reflections]] and [[Wikipedia:Texture mapping#Multitexturing|multitexturing]]. All of these features would eventually make it into the game's [[Xbox]] release in [[2001]]. At that time, the engine also supported a [[Wikipedia:Destructible environment|deformable terrain]] system, where explosions and orbital strikes would create permanent craters in the landscape.{{Ref/Reuse|JJInt99}} However, this feature was ultimately cut. | ||
Line 69: | Line 68: | ||
{{Main|Slipspace Engine}} | {{Main|Slipspace Engine}} | ||
{{Expand-section}} | {{Expand-section}} | ||
The Slipspace Engine is a heavily revamped and modernised game engine developed by [[343 Industries]], which is derived from Blam. While containing significant amounts of new and overhauled code, the engine is ultimately based upon the version of Blam used in ''[[Halo 5: Guardians]]'' and still retains remnants of this engine.{{Ref/YouTube|8qqGrIFlgXQ|Halopedia Archive|343 Social Stream - Happy Halodays (19 December 2018)|Time=1389|Detail=23:09}} ''[[Halo Infinite]]'' | The Slipspace Engine is a heavily revamped and modernised game engine developed by [[343 Industries]], which is derived from Blam. While containing significant amounts of new and overhauled code, the engine is ultimately based upon the version of Blam used in ''[[Halo 5: Guardians]]'' and still retains remnants of this engine.{{Ref/YouTube|8qqGrIFlgXQ|Halopedia Archive|343 Social Stream - Happy Halodays (19 December 2018)|Time=1389|Detail=23:09}} ''[[Halo Infinite]]'' will be the first game to utilise the Slipspace Engine, and it will presumably succeed the Blam engine as the engine of choice for future ''Halo'' titles.{{Ref/Site|Id=SlipspaceOurJourneyBegins|URL=https://www.halowaypoint.com/en-us/news/our-journey-begins|Site=Halo Waypoint|Page=Our Journey Begins|D=22|M=9|Y=2021}} | ||
===Saber3D hybrid engine=== | ===Saber3D hybrid engine=== | ||
{{Main|Saber3D engine}} | {{Main|Saber3D engine}} | ||
{{Expand-section}} | {{Expand-section}} | ||
One of the key design goals of the ''Anniversary'' remasters of ''Halo: CE'' and ''[[Halo 2]]'' was to leave the titles' original gameplay completely untouched, so that the games would play exactly as they originally did. As a result, both ''[[Halo: Combat Evolved Anniversary]]'' and ''[[Halo 2: Anniversary]]'' use their respective game's original engine. However, in order to produce the remastered anniversary graphics, developer [[Saber Interactive]] needed a significantly more modern [[Wikipedia:Rendering (computer graphics)|rendering engine]]. Thus, for each of the games, they retrofitted their own internally-developed engine, the Saber3D engine, onto the original engine to facilitate the remastered graphics, while preserving the original Blam engine's gameplay logic so that the games play exactly as they originally did. This has been compared to essentially running two game engines at once, within the same game. This unique design also allowed for the ability for the player to switch between the two graphical modes at any time within the gameplay | One of the key design goals of the ''Anniversary'' remasters of ''Halo: CE'' and ''[[Halo 2]]'' was to leave the titles' original gameplay completely untouched, so that the games would play exactly as they originally did. As a result, both ''[[Halo: Combat Evolved Anniversary]]'' and ''[[Halo 2: Anniversary]]'' use their respective game's original engine. However, in order to produce the remastered anniversary graphics, developer [[Saber Interactive]] needed a significantly more modern [[Wikipedia:Rendering (computer graphics)|rendering engine]]. Thus, for each of the games, they retrofitted their own internally-developed engine, the Saber3D engine, onto the original engine to facilitate the remastered graphics, while preserving the original Blam engine's gameplay logic so that the games play exactly as they originally did. This has been compared to essentially running two game engines at once, within the same game. This unique design also allowed for the ability for the player to switch between the two graphical modes at any time within the gameplay.{{Citation needed}} | ||
===Tiger Engine=== | ===Tiger Engine=== | ||
Line 81: | Line 80: | ||
The Tiger Engine was a response to a number of constraints of the Blam engine that were becoming increasingly problematic as time passed, and both video game hardware and the industry evolved. Rather than [[Wikipedia:Technical debt|technical debt]] or messy code, these constraints were mainly a result of the core design principles of the Blam engine - for instance, Blam assumed that there would only be one target platform for its games, and was largely [[Wikipedia:Thread_(computing)#Single-threaded_vs_multithreaded_programs|single-threaded]]. As Bungie continued to iterate upon the Blam engine with each subsequent game, more and more code was built upon these fundamental assumptions, turning them essentially into "unwritten rules" of the engine.{{Ref/Reuse|TigerEngine}} | The Tiger Engine was a response to a number of constraints of the Blam engine that were becoming increasingly problematic as time passed, and both video game hardware and the industry evolved. Rather than [[Wikipedia:Technical debt|technical debt]] or messy code, these constraints were mainly a result of the core design principles of the Blam engine - for instance, Blam assumed that there would only be one target platform for its games, and was largely [[Wikipedia:Thread_(computing)#Single-threaded_vs_multithreaded_programs|single-threaded]]. As Bungie continued to iterate upon the Blam engine with each subsequent game, more and more code was built upon these fundamental assumptions, turning them essentially into "unwritten rules" of the engine.{{Ref/Reuse|TigerEngine}} | ||
These constraints were not compatible with ''Destiny'' in a number of ways: it was a multi-platform game | These constraints were not compatible with ''Destiny'' in a number of ways: it was a multi-platform game targetting release on a multitude of consoles, all of its target platforms contained [[Wikipedia:Multi-core processor|multi-core processors]] which requires [[Wikipedia:Thread (computing)Single-threaded_vs_multithreaded_programs|multithreading]] to take full advantage of, and finally, ''Destiny'' would feature many sizable content updates after launch, which Blam did not support. However, Bungie still wanted to preserve large portions of the Blam engine, notably the gameplay framework and networking code, and so couldn't build a new engine or switch to a third-party one.{{Ref/Reuse|TigerEngine}} | ||
Thus, a team of engineers was formed within Bungie to develop the Tiger Engine. In [[2008]], they forked the codebase of the then in-development ''[[Halo: Reach]]'', and began to work on exhaustively overhauling the majority of the engine to alleviate the highlighted constraints. The team worked steadily on the Tiger Engine for more than five years, excluding a 5-month hiatus in [[2010]] when they briefly rejoined the ''Halo: Reach'' engineering team to help ship the game. In [[2011]], after the release of ''Reach'', the former ''Reach'' engineering team then joined the ''Destiny'' project and contributed further to the development of the Tiger Engine. By mid-[[2012]], the engine had progressed to a state where the art and level design teams could begin producing art assets and designing missions, respectively, and by the end of [[2013]], ''Destiny'' was fully playable on all platforms, leaving only optimisation and polish work to be done on the Tiger Engine, before the game's launch in [[2014]].{{Ref/Reuse|TigerEngine}} | Thus, a team of engineers was formed within Bungie to develop the Tiger Engine. In [[2008]], they forked the codebase of the then in-development ''[[Halo: Reach]]'', and began to work on exhaustively overhauling the majority of the engine to alleviate the highlighted constraints. The team worked steadily on the Tiger Engine for more than five years, excluding a 5-month hiatus in [[2010]] when they briefly rejoined the ''Halo: Reach'' engineering team to help ship the game. In [[2011]], after the release of ''Reach'', the former ''Reach'' engineering team then joined the ''Destiny'' project and contributed further to the development of the Tiger Engine. By mid-[[2012]], the engine had progressed to a state where the art and level design teams could begin producing art assets and designing missions, respectively, and by the end of [[2013]], ''Destiny'' was fully playable on all platforms, leaving only optimisation and polish work to be done on the Tiger Engine, before the game's launch in [[2014]].{{Ref/Reuse|TigerEngine}} |