Real World

Blam engine: Difference between revisions

From Halopedia, the Halo wiki

m (Reverted edits by PartisanHorse (talk) to last revision by TheArb1ter117)
Tag: Rollback
 
(27 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Status|RW}}
{{Status|RealWorld}}
{{Disambig header|the game engine|the codename for ''[[Halo: Combat Evolved]]''|Blam!}}
----
{{Stub}}
{{Stub}}
{{Disambig header|the game engine|the codename for ''[[Halo: Combat Evolved]]''|Blam!}}
{{Infobox/Engine
|name=Blam engine
|image=
|othernames=
*Blam! engine
*''Halo'' engine
*Midnight engine {{C|''[[Halo 4]]''}}
|developer=[[Bungie]]
|entereddev=[[1997]]
|derivatives=
*[[#Saber3D hybrid engine|Saber3D hybrid engine]]
*[[#Tiger Engine|Tiger Engine]]
*[[Slipspace Engine]]
|firstuse=''[[Halo: Combat Evolved]]'' (2001)
|latestuse=''[[Halo 5: Guardians]]'' (2015)
}}
 
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''', alternatively known as simply the '''''Halo'' engine''', and sometimes known as the '''Midnight engine''' in the case of ''[[Halo 4]]'',{{Ref/Site|Id=ArtstationMidnightEngine|URL=https://www.artstation.com/artwork/Q53Ll|Site=Artstation|Page=Thomas Stubbs, HALO 4|D=03|M=10|Y=2022}} 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==
<imagemap>
File:HP Diagram BlamHistory-Simple.png|thumb|center|700px|A heavily simplified diagram of the development history of Blam. See [[#Gallery|the gallery]] for the full version.
</imagemap>
 
===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''.]]
Blam's origins can be traced back as early as [[Bungie]]'s [[1993]] game ''[[Wikipedia:Pathways into Darkness|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 ''[[Wikipedia:Minotaur: The Labyrinths of Crete|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''.]]
It was quickly decided that ''Minotaur'' was not well suited to a 3D perspective, as the original game's design heavily relied upon its top-down perspective, and so Bungie chose to pivot towards an entirely original game adventure game, instead of a remake or successor to ''Minotaur''.{{Ref/Reuse|JJInt93}} By the end of January 1993, the story for this new [[Wikipedia:Intellectual property|IP]] had been written, and work began in earnest on the game. During this time, Jones continued to improve upon the graphics engine and the game's interface, but also produced a level editor to allow the placement of walls, doors, guns, monsters and other miscellaneous objects into levels. This editor dramatically sped up development of the game.{{Ref/Reuse|MakingOfPathways}} ''Pathways into Darkness'' was eventually released in August 1993.{{Ref/Site|URL=http://pid.bungie.org/|Site=pid.bungie.org|Page=Pathways into Darkness|D=9|M=3|Y=2022}}
 
===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 optimizations 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''.]]
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}}
 
[[File:NH-M Screenshot EarlyBuild.jpg|thumb|left|250px|Early gameplay footage of the newly-revamped ''Marathon''.]]
This reaction spurred Bungie to abandon the ''Mosaic'' project and focus all their resources on ''Marathon'', determined to salvage the project. Upon returning from Macworld, the team "barricaded themselves in their Pilsen office" and set to work on the game. Over the course of roughly a week, Jason Jones and Ryan Martell, another Bungie programmer, rewrote ''Marathon''{{'}}s rendering engine from the ground up, completely stripping out and replacing what remained of the frontend portion of ''Pathway''{{'}}s renderer. In addition, Martell began work on a map editor called [[Vulcan]], presumably to succeed the older ''Pathways'' editor produced by Jones.{{Ref/Reuse|MarathonScrapbook}} Vulcan would go on to form the basis of Forge, a publicly-released map editor for ''Marathon'', with bugs from Vulcan persisting into Forge. The game was playtested substantially, which Jones felt resulted in the engine being remarkably stable.{{Ref/Site|URL=http://marathon.bungie.org/scrapbook/pages/page07.htm|Site=marathon.bungie.org|Page=Marathon Scrapbook, Page 7|D=9|M=3|Y=2022}}{{Ref/Site|Id=JJInt95|URL=http://marathon.bungie.org/story/imgbungieinterview95.html|Site=marathon.bungie.org|Page=Inside Mac Games Archive - Interview: Bungie Software|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 ''[[Wikipedia: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 prominent 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]], 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, ''[[Wikipedia:Myth II: Soulblighter|Myth II: Soulblighter]]'', on [[1998|December 28, 1998]]. A third game entitled ''[[Wikipedia: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''===
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 an updated, "next-generation" version of the engine used in ''Myth: The Fallen Lords'',{{Ref/Reuse|JJInt99}}{{Ref/Site|URL=https://www.halowaypoint.com/news/canon-fodder-cutting-room-lore|Site=Halo Waypoint|Page=Canon Fodder, Cutting Room Lore|D=26|M=07|Y=22}} 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}} Many remnants of the ''Myth'' engine remained prominent 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}}


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''', 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]]''.
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.


==Development==
===Future games===
{{Expand-section}}
{{Expand-section}}
According to [[Chris Butcher]], an engineering director at [[Bungie]], the Blam engine entered development in [[1997]] alongside the game [[Development of Halo: Combat Evolved|that would come to be]] ''[[Halo: Combat Evolved]]''. Each successive ''Halo'' game developed by Bungie was built upon the Blam engine, and it was significantly evolved with each successive game.{{Ref/Reuse|TigerEngine}}
Each successive ''Halo'' game developed by Bungie was built upon the Blam engine, and it was significantly evolved with each successive game.
 
<!--
Bungie discusses pStencil lighting engine;
https://web.archive.org/web/20160412042055/https://halo.bungie.net/News/content.aspx?type=topnews&cid=25650
-->
{{Clear}}


==Derived engines==
==Derived engines==
Line 13: Line 69:
{{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>[https://mixer.com/Halo?vod=72517605 '''Mixer''': ''Halo'' December 19, 2018 stream]</ref> ''[[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}}
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]]'' is the first game to utilize 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.{{Citation needed}}
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 - a tool originally developed to allow developers on ''Anniversary'' remasters to rapidly compare their new artwork with the original game. However, the tool was turned into an official feature.{{Citation needed}}


===Tiger Engine===
===Tiger Engine===
The Tiger Engine was a significantly overhauled version of the Blam engine developed for the ''Destiny'' franchise by [[Bungie]], after their split from [[Microsoft]]. It was designed to overcome a number of limitations with the Blam engine and to be future-proofed for the then-upcoming [[Wikipedia:Eighth generation of video game consoles|eighth console generation]]. Both ''[[Wikipedia:Destiny (video game)|Destiny]]'' and ''[[Wikipedia:Destiny 2|Destiny 2]]'' were developed using the engine.{{Ref/Reuse|TigerEngine}}
The Tiger Engine was a significantly overhauled version of the Blam engine developed for the ''Destiny'' franchise by [[Bungie]], after their split from [[Microsoft]]. It was designed to overcome a number of limitations with the Blam engine and to be future-proofed for the then-upcoming [[Wikipedia:Eighth generation of video game consoles|eighth console generation]]. Both ''[[Wikipedia:Destiny (video game)|Destiny]]'' and ''[[Wikipedia:Destiny 2|Destiny 2]]'' were developed using 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, 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 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}}
These constraints were not compatible with ''Destiny'' in a number of ways: it was a multi-platform game targeting 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}}
Line 47: Line 103:
*''[[Halo: Reach]]'' (2010)
*''[[Halo: Reach]]'' (2010)
*''[[Halo 4]]'' (2012)
*''[[Halo 4]]'' (2012)
*''[[Wikipedia:Destiny (video game)|Destiny]]'' (2014) {{C|Tiger Engine}}
*''[[destinypedia:Destiny|Destiny]]'' (2014) {{C|Tiger Engine}}
*''[[Halo: The Master Chief Collection]]'' (2014) {{C|Engine version depends upon game}}
*''[[Halo: The Master Chief Collection]]'' (2014) {{C|Engine version depends upon game}}
*''[[Halo 5: Guardians]]'' (2015)
*''[[Halo 5: Guardians]]'' (2015)
**''[[Halo 5: Forge]]'' (2016)
**''[[Halo 5: Forge]]'' (2016)
*''[[Wikipedia:Destiny 2|Destiny 2]]'' (2017) {{C|Tiger Engine}}
*''[[destinypedia:Destiny 2|Destiny 2]]'' (2017) {{C|Tiger Engine}}
*''[[Halo Infinite]]'' (2021) {{C|Slipspace Engine}}
*''[[Halo Infinite]]'' (2021) {{C|Slipspace Engine}}


Line 62: Line 118:


===Prototypes===
===Prototypes===
Multiple games have been prototyped using the Blam engine, while not ultimately using it in the final game.
Multiple games have also been prototyped using the Blam engine:
 
*''[[Wikipedia:Shadowrun (2007 video game)|Shadowrun]]'' (2007){{Ref/YouTube|I-uJLTLqYpA|Gamecheat13|Shadowrun Halo Prototype - The Artifact Playthrough}} {{C|Final game did not use Blam}}
*''[[Wikipedia:Hail to the Chimp|Hail to the Chimp]]''{{Ref/Twitter|ihatecompvir|1439934470254051328|Quote=So that Hail to the Chimp prototype from Deluge runs on the Blam engine. Neato, not sure if its H1 or H2 Blam (could be either)|D=23|M=9|Y=2021}}{{Ref/Twitter|zeddikins|Code=1439984177831727110|Zeddikins|Quote=Hail To The Chimp build is split off from Stubbs, as theres still some bitmaps for it|D=23|M=9|Y=2021}} (2008) {{C|Final game did not use Blam}}
*''[[destinypedia:Destiny of Fighters: Super Turbo|Destiny of Fighters: Super Turbo]]''{{Ref/Site|URL=http://www.cand.land/prototypes|Site=David Candland|Page=Functional Prototypes|D=18|M=01|Y=2022}} (2018) {{C|Tiger Engine; unreleased; internal Bungie [[Wikipedia:Game jam|game jam]] project}}
 
==Gallery==
===Flow charts===
<gallery>
File:HP Diagram BlamHistory-Simple.png|A simplified version of the development history of the Blam engine.
File:HP Diagram BlamHistory-Normal.png|A larger version of the previous flow chart, including the development history of the ''Halo: CE'' and ''Halo 2'' ports.
File:HP Diagram BlamHistory-Full.png|A further expanded version of the flow chart, including all ''Halo'' game ports.
</gallery>


*''[[Wikipedia:Shadowrun (2007 video game)|Shadowrun]] (2007)
===Development screenshots===
*''[[Wikipedia:Hail to the Chimp|Hail to the Chimp]]'' (2008)
<gallery>
File:H5G Prerelease Sprint-PistolPolyCounts.png|A side-by-side image of the [[M6D magnum]] from ''Combat Evolved'' and [[M6H magnum|M6H2 magnum]] from ''Halo 5: Guardians'', highlighting the increase in poly count.
</gallery>


==Sources==
==Sources==

Latest revision as of 15:32, November 3, 2023

This article is about the game engine. For the codename for Halo: Combat Evolved, see Blam!.

Era-rw.png This article is a stub. You can help Halopedia by expanding it.
Blam engine

Also known as:

  • Blam! engine
  • Halo engine
  • Midnight engine (Halo 4)

Developed by:

Bungie

Entered development:

1997

Derivative engines:

First use:

Halo: Combat Evolved (2001)

Latest use:

Halo 5: Guardians (2015)

 

The Blam engine,[1] often stylised Blam! engine, alternatively known as simply the Halo engine, and sometimes known as the Midnight engine in the case of Halo 4,[2] is the game engine that powers the majority of 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[edit]

Diagram of the history of the Blam engine
A heavily simplified diagram of the development history of Blam. See the gallery for the full version.

Early roots: Minotaur and Pathways into Darkness[edit]

Early development image of the Pathways into Darkness 3D renderer
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 Pathways into Darkness. Inspired by id Software's 1992 title Wolfenstein 3D, which itself began as a 3D remake of 1981's 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.[3] In the summer of 1992, Jason Jones began work on creating a 3D 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 texture mapping for walls.[4]

Image of Bungie's internal level editor for Pathways into Darkness
An image of the level editor created for Pathways.

It was quickly decided that Minotaur was not well suited to a 3D perspective, as the original game's design heavily relied upon its top-down perspective, and so Bungie chose to pivot towards an entirely original game adventure game, instead of a remake or successor to Minotaur.[3] By the end of January 1993, the story for this new IP had been written, and work began in earnest on the game. During this time, Jones continued to improve upon the graphics engine and the game's interface, but also produced a level editor to allow the placement of walls, doors, guns, monsters and other miscellaneous objects into levels. This editor dramatically sped up development of the game.[4] Pathways into Darkness was eventually released in August 1993.[5]

Further development: Mosaic, Marathon and Myth[edit]

Following the release of Pathways into Darkness, Bungie began work on two future projects, Mosaic and Marathon.[4] Mosaic was to feature significantly improved graphics than Pathways, including texture mapping for the floors and ceilings, as well as optimizations aimed to make it possible for slower computers to reach acceptable framerates without switching to a lower-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.[3]

A gameplay screenshot from Marathon Zero.
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,[3][4] 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 Zero, an alpha version of the game that was demoed at the Macworld Expo at San Francisco in 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.[6]

In-development screenshot of Marathon
Early gameplay footage of the newly-revamped Marathon.

This reaction spurred Bungie to abandon the Mosaic project and focus all their resources on Marathon, determined to salvage the project. Upon returning from Macworld, the team "barricaded themselves in their Pilsen office" and set to work on the game. Over the course of roughly a week, Jason Jones and Ryan Martell, another Bungie programmer, rewrote Marathon's rendering engine from the ground up, completely stripping out and replacing what remained of the frontend portion of Pathway's renderer. In addition, Martell began work on a map editor called Vulcan, presumably to succeed the older Pathways editor produced by Jones.[6] Vulcan would go on to form the basis of Forge, a publicly-released map editor for Marathon, with bugs from Vulcan persisting into Forge. The game was playtested substantially, which Jones felt resulted in the engine being remarkably stable.[7][8]

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 2: Durandal and Marathon Infinity, releasing on November 24, 1995 and 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.[9]

After completion of the Marathon trilogy, Bungie's focus moved on to a new project, which would come to be known as 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 prominent in other RTS games.[citation needed] Myth's engine featured significant technological leaps over Marathon's, with the use of a static polygonal 3D mesh for terrain, [10] and the introduction of the tags system for storing game data in a platform-agnostic manner.[11] Nevertheless, Myth still inherited technology from the Marathon trilogy. At least one component, the physics engine, was a substantially improved version of that used in the Marathon engine.[10]

Myth: The Fallen Lords was released on November 7, 1997, and was followed by a sequel in the same engine, Myth II: Soulblighter, on December 28, 1998. A third game entitled Myth III: The Wolf Age would eventually be produced by a different studio, MumboJumbo, and released on November 2, 2001.

Inception of Blam: Halo[edit]

According to Chris Butcher, an engineering director at Bungie, the Blam engine entered development in late 1997 alongside the game that would come to be Halo: Combat Evolved.[1] The Blam engine first started out as an updated, "next-generation" version of the engine used in Myth: The Fallen Lords,[10][12] 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 than a strategy game, and pivoted towards a third-person design.[10] Many remnants of the Myth engine remained prominent 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 volumetric lighting, per-pixel reflections and 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 deformable terrain system, where explosions and orbital strikes would create permanent craters in the landscape.[10] However, this feature was ultimately cut.

Future games[edit]

Help.png This section needs expansion. You can help Halopedia by expanding it.

Each successive Halo game developed by Bungie was built upon the Blam engine, and it was significantly evolved with each successive game.

Derived engines[edit]

Slipspace Engine[edit]

Main article: Slipspace Engine
Help.png This section needs expansion. You can help Halopedia by expanding it.

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.[13] Halo Infinite is the first game to utilize the Slipspace Engine, and it will presumably succeed the Blam engine as the engine of choice for future Halo titles.[14]

Saber3D hybrid engine[edit]

Main article: Saber3D engine
Help.png This section needs expansion. You can help Halopedia by expanding it.

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 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 - a tool originally developed to allow developers on Anniversary remasters to rapidly compare their new artwork with the original game. However, the tool was turned into an official feature.[citation needed]

Tiger Engine[edit]

The Tiger Engine was a significantly overhauled version of the Blam engine developed for the Destiny franchise by Bungie, after their split from Microsoft. It was designed to overcome a number of limitations with the Blam engine and to be future-proofed for the then-upcoming eighth console generation. Both Destiny and Destiny 2 were developed using the engine.[1]

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 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 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.[1]

These constraints were not compatible with Destiny in a number of ways: it was a multi-platform game targeting release on a multitude of consoles, all of its target platforms contained multi-core processors which requires 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.[1]

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.[1]

Games using the Blam engine[edit]

Released games[edit]

The following games were released on the Blam engine, or a descendant of it:

Cancelled projects[edit]

These games were developed on the Blam engine but ultimately cancelled before release.

Prototypes[edit]

Multiple games have also been prototyped using the Blam engine:

Gallery[edit]

Flow charts[edit]

Development screenshots[edit]

Sources[edit]

  1. ^ a b c d e f GDC Vault, Lessons from the Core Engine Architecture of Destiny (Retrieved on Sep 22, 2021) [archive]
  2. ^ Artstation, Thomas Stubbs, HALO 4 (Retrieved on Oct 3, 2022) [archive]
  3. ^ a b c d pid.bungie.org, Inside Mac Games Archive - Interview: Bungie's Jason Jones (Retrieved on Mar 9, 2022) [archive]
  4. ^ a b c d pid.bungie.org, Inside Mac Games Archive - The Making Of: Pathways into Darkness (Retrieved on Mar 9, 2022) [archive]
  5. ^ pid.bungie.org, Pathways into Darkness (Retrieved on Mar 9, 2022) [archive]
  6. ^ a b marathon.bungie.org, Marathon Scrapbook, Page 3 (Retrieved on Mar 9, 2022) [archive]
  7. ^ marathon.bungie.org, Marathon Scrapbook, Page 7 (Retrieved on Mar 9, 2022) [archive]
  8. ^ marathon.bungie.org, Inside Mac Games Archive - Interview: Bungie Software (Retrieved on Mar 9, 2022) [archive]
  9. ^ marathon.bungie.org, Inside Mac Games Archive - Sneak Peek: Marathon 2 (Retrieved on Mar 9, 2022) [archive]
  10. ^ a b c d e Inside Mac Games, Interview: Halo's Jason Jones (Retrieved on Aug 15, 2000) [archive]
  11. ^ Game Developer, Postmortem: Bungie's Myth: The Fallen Lords (Retrieved on Mar 9, 2022) [archive]
  12. ^ Halo Waypoint, Canon Fodder, Cutting Room Lore (Retrieved on Jul 26, 2022) [archive]
  13. ^ YouTube - Halopedia Archive, 343 Social Stream - Happy Halodays (19 December 2018): 23:09
  14. ^ Halo Waypoint, Our Journey Begins (Retrieved on Sep 22, 2021) [archive]
  15. ^ YouTube - Gamecheat13, Shadowrun Halo Prototype - The Artifact Playthrough
  16. ^ Twitter, @ihatecompvir: "So that Hail to the Chimp prototype from Deluge runs on the Blam engine. Neato, not sure if its H1 or H2 Blam (could be either)" (Retrieved on Sep 23, 2021) [archive]
  17. ^ Twitter, @zeddikins: "Hail To The Chimp build is split off from Stubbs, as theres still some bitmaps for it" (Retrieved on Sep 23, 2021) [archive]
  18. ^ David Candland, Functional Prototypes (Retrieved on Jan 18, 2022) [archive]