and work on the sound effects. A major early decision was to develop and release the game simultaneously on both Mac OS and Microsoft Windows, which would be a first for the company. Up to this point in their history, their only venture into PC gaming had been a port of Marathon 2: Durandal. Bungie had not been happy with the port, and were determined that The Fallen Lords be a genuine cross-platform release. This meant designing the game from the ground up to be cross-platform compatible, rather than developing it for one operating system and then porting it to another. As such, 90% of the game's source code was platform independent, with 5% written for PC subroutines and 5% for Mac-specific functionality. All of the game's data, from cutscenes to the number of warriors who are left-handed, was stored in platform-independent data files called "tags", which are automatically byte-swapped when necessary and accessed via a cross-platform file manager. As the team was more familiar with developing for Mac OS, the initial coding was done on a Mac using CodeWarrior. When PC builds were required, the team switched to Windows, using Visual C++. Ultimately, the entire game was written in C. To ensure the game looked identical on both PCs and Macs, the team created and implemented their own dialog manager and font manager, which allowed them to use custom graphics for all interface items. The font manager supported antialiased, two-byte fonts, and a variety of text-parsing formats, allowing international localizations to be completed relatively easily. Programming Although The Fallen Lords employs a fully 3D terrain, with 3D polygonal buildings, the characters are 2D sprites. To bring the 3D environment and the 2D characters together and construct each level, the team developed four separate programming tools; "Tag Editor" edited the constants stored in the cross-platform data files; "Extractor" handled the 2D sprites and the sequencing of their animations; "Loathing" acted as the map editor; and "Fear" dealt with the 3D polygonal models such as houses, pillars, and walls. Jason Jones explained: Loathing was specifically built around the Myth engine and allowed the team to modify the 3D landscape, apply lighting, determine terrain type, script the AI, and position structures, scenery, and enemies. The artists used PowerAnimator on an SGI Indigo 2 to create polygonal models and render all the characters. The 3D models were imported into the game using Fear,