Engine terminology: Difference between revisions

From OniGalore
(added lede and linked to companion article; added names of other subsystems)
m (linked to Mac/Win and PS2/PC comparison articles; wikilinked all the differing types on PS2)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{UpdatedForOniX|1.0.0}}
{{UpdatedForOniX|1.0.0}}
Here is a high-level view of the different versions of the Oni engine and a brief introduction to some of the subsystems in the engine. Also see [[Game data terminology]] to learn more about the game data files.
Here is a high-level view of the different versions of the Oni engine and a brief introduction to some of the subsystems in the engine. It's meant to be read in tandem with [[Game data terminology]]. For a list of general differences between the Windows, Mac and PS2 versions of Oni, see [[PS2 vs PC]] and [[Mac vs PC]].


==Engine versions==
==Engine versions==
Line 8: Line 8:


;Mac, Windows demo, v1.1<!--, OniX-->
;Mac, Windows demo, v1.1<!--, OniX-->
This version was used for Mac retail and demo releases and can be identified as '''v1.1''' from [[Oni (folder)/Oni ReadMe|the Mac read-me]], and underwent another month of development after v1.0. It was also used for the Windows demo, but is sometimes referred to as the "Mac" engine for simplicity. <!--[[OniX]] is built on this version of the engine.--> Its most obvious difference is the addition of .sep files to the GameDataFolder, but some templates were changed as well.
This version was used for Mac retail and demo releases and can be identified as '''v1.1''' from [[Oni (folder)/Oni ReadMe|the Mac read-me]], and underwent another month of development after v1.0. It was also used for the Windows demo, but is sometimes referred to as the "Mac" engine for simplicity. <!--[[OniX]] is built on this version of the engine.--> Its most obvious difference is the addition of .sep files to the GameDataFolder which now contain some of the data formerly stored in .raw files. The format of the individual templates is generally unchanged (with minor differences in [[SNDD]] and [[TRAM]]).


;PS2
;PS2
This version was created by Rockstar North for the PlayStation 2 port. It also uses .sep files but makes additional changes to templates. It went through another 3 weeks to a month of development after the Mac version was completed and could possibly be thought of as v1.2, but is probably best understood as a fork of the v1.1 engine made for PS2 compatibility.
This version was created by Rockstar North for the PlayStation 2 port. It also uses .sep files but makes additional changes to templates ([[AGQG]], [[IGSt]], [[M3GM]], [[SNDD]], [[TRAM|TRAM/TREX]], [[TSFT]], [[TSGA]] and [[TXMP]]). It went through another 3 weeks to a month of development after the Mac version was completed and could possibly be thought of as a v1.2 engine, but is probably best understood as a fork of the v1.1 engine made for PS2 compatibility.


==Subsystems==
==Subsystems==

Latest revision as of 20:16, 16 April 2026

Here is a high-level view of the different versions of the Oni engine and a brief introduction to some of the subsystems in the engine. It's meant to be read in tandem with Game data terminology. For a list of general differences between the Windows, Mac and PS2 versions of Oni, see PS2 vs PC and Mac vs PC.

Engine versions

There are three versions of Oni's engine found in released versions of the game. They are referred to interchangeably by various names.

Windows retail, Windows, PC, v1.0

This version of the engine can be identified as v1.0 from its read-me but is often referred to as the "Windows" or "PC" engine. This version of the engine was used for all localized Windows releases translated into non-English languages as well.

Mac, Windows demo, v1.1

This version was used for Mac retail and demo releases and can be identified as v1.1 from the Mac read-me, and underwent another month of development after v1.0. It was also used for the Windows demo, but is sometimes referred to as the "Mac" engine for simplicity. Its most obvious difference is the addition of .sep files to the GameDataFolder which now contain some of the data formerly stored in .raw files. The format of the individual templates is generally unchanged (with minor differences in SNDD and TRAM).

PS2

This version was created by Rockstar North for the PlayStation 2 port. It also uses .sep files but makes additional changes to templates (AGQG, IGSt, M3GM, SNDD, TRAM/TREX, TSFT, TSGA and TXMP). It went through another 3 weeks to a month of development after the Mac version was completed and could possibly be thought of as a v1.2 engine, but is probably best understood as a fork of the v1.1 engine made for PS2 compatibility.

Subsystems

The engine consists of various subsystems, some of which have colorful animé-related names and some of which have boring descriptive names. If an article is devoted to documenting more of that subsystem, it will be linked.

AI2

The second iteration of the code for driving the AIs (NPCs).

Akira

The environment code, responsible for holding the game world in memory. Named for the 1988 film Akira.

BFW

A layer rather than a subsystem: stands for "BungieFrameWork". This is the lower layer of the game engine, consisting of generalized cross-platform engine code. The upper layer is simply called "Oni" and contains specializations needed to implement Oni's gameplay logic.

BSL

Standing for "BFW Scripting Language", this is the subsystem responsible for running Oni's scripting language.

Motoko

The renderer code, responsible for drawing Oni's graphics. Named for the main character of the 1995 film Ghost in the Shell.

Totoro

The code for Oni's 3D animation system. Named for the 1988 film My Neighbor Totoro.

Et cetera

There are various other subsystems that we essentially never talk about, such as LocalInput, WindowManager, SoundSystem2 and TemplateManager.