Tiger Engine

The ***Tiger Engine*** is the name of the game engine for the *Destiny* series. It was created by Bungie after they gained their independence from Microsoft and is an overhauled version of the blam! Engine that was used for the *Halo* series.

## History

Bungie's blam! Engine was created in 1997 to develop the first Halo game. This engine was used throughout the 2000s to develop all of Bungie's *Halo* games, as well as in the development of two game projects, codenamed *Phoenix* and *Gypsum*.

By 2008, Bungie felt that the engine was started to feel "old" and restrictive. It was created to be used on a single platform (Xbox), and it was single-threaded instead of multi-threaded, meaning that it couldn't take advantage of platform multi-core processors and perform tasks at the same time. These core design principles were hard to change, and Bungie realized that it would become increasingly difficult to change as development began to work on *Destiny*.

There was a debate on licensing an engine from another company that would offer continuous support or to create a brand new engine. Knowing that they wanted to take the gameplay framework and networking from the blam! Engine to use in Destiny because they didn't know if they could replicate it, they decided that the best decision was to heavily modify the blam! Engine instead.

The new engine, codenamed "Tiger Engine" because of a piece of *Destiny* concept art that featured a space tiger in it, was forked off from the blam! Engine in 2008, taking the codebase of the in-development *Halo: Reach*. The engine was worked on for over five years, except for a five-month break in 2010 when the engineering team joined the *Halo: Reach* team to help ship the game. After *Reach* shipped in 2011, the *Reach* engineering team then joined the Tiger project to further help with the engine. It was around this time that the engine's systems were being put together, including artists and designers trying out new ideas in test levels, however, no production content could be created yet. In 2012, all of the pieces of the engine were put together, with full production beginning on July 1. This included creating Destiny for the Xbox 360, PlayStation 3, Xbox One, and PS4. By December 15, 2013, the full game was playable on all platforms. The only thing remaining was optimization and polish work for the engine.

The engine was built around new core design principles: multithreading and cross-platform, divide the codebase into layers to decouple engine functionality from game logic, preserve all of the good features of the blam! Engine and none of the bad, and support all advanced tech Bungie would ever want to develop.

## Lessons Learned

Bungie learned several lessons along the way. The main one being that porting old code, even code that they really wanted to use, into the newly written code for the engine was much harder than expected. The older code had to first be extracted from the blam! Engine, and then replaced in the Tiger Engine. The reason being that if it were kept the same the engine would have two multi-threading systems and two memory managers, which would actually take away from resources cause you're splitting them up.

After the code was replaced, it then had to "talk" or be linked to the new engine's systems, which took over a year to implement and the progress was extremely slow. They also had to make sure that the code could be used on multiple platforms. Eventually, much of the older code was deprecated, but a lot still remained in the code.

The hybrid approach of using part of the blam! Engine while creating new code took 3.5 years, which Bungie felt took 2-3x times slower than it "should have been."

1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 GDC Vault: Lessons from the Core Engine Architecture of Destiny (March 2-6, 2015)