Blam engine: Difference between revisions

From Halopedia, the Halo wiki

No edit summary
(Massive update on the pre-Halo history of Bungie's engine)
Line 22: Line 22:


==Development history==
==Development history==
[[File:HP Diagram BlamHistory-Simple.png|thumb|right|450px|A heavily simplified diagram of the development history of Blam. See [[#Gallery|the gallery]] for full version.]]
<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|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 ''[[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=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=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=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 optimisations that aimed to make it possible for slower computers tp 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|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 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]]. 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=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=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=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 2: Durandal]]'' and ''[[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=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 ''[[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]] 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 II: Soulblighter]]'', on [[1998|December 28, 1998]]. A third game entitled ''[[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 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 focussing 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.
 
===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.


<!--
<!--

Revision as of 12:22, March 9, 2022

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

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 and alternatively known as simply the Halo engine, 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

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

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.[2] 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.[3]

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.[2] 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.[3] Pathways into Darkness was eventually released in August 1993.[4]

Further development: Mosaic, Marathon and Myth

Following the release of Pathways into Darkness, Bungie began work on two future projects, Mosaic and Marathon.[3] 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 tp 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.[2]

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,[2][3] 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 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.[5]


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.[5] 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.[6][7]

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

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 promiment 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, [9] and the introduction of the tags system for storing game data in a platform-agnostic manner.[10] 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.[9]

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

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 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 focussing 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.[9] 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 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.[9] However, this feature was ultimately cut.

Future games

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

Slipspace Engine

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.[11] 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.[12]

Saber3D hybrid engine

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.[citation needed]

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 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 targetting 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

Released games

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

Cancelled projects

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

Prototypes

Multiple games have also been prototyped using the Blam engine:

Gallery

Flow charts

Development screenshots

Sources