Plasma

From Guild of Archivists
Revision as of 13:06, 15 December 2019 by Alahmnat (talk | contribs) (Salvaged from MYSTlore)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Plasma is a game engine originally created by Headspin. While it is primarily responsible for graphics, some versions handle networking and scriptability, as detailed below. Plasma was being designed as early as 1997[1], and acquired in late 1998 by Cyan as part of the Headspin merger. Following the acquisition, Plasma became their underlying technology for all newly developed games until Obduction. For developers, Plasma also includes a toolset for 3ds Max, Autodesk's 3D modelling and texturing software, which Cyan uses for the creation of all of their Ages.[2]

Compared by product[edit | edit source]

Each major Cyan product uses a distinct version of Plasma:

  • realMyst was built on top of Plasma 1 (or 1.0), merely an evolution from Headspin's original code. Before that, never-released DIRT (and early variants of Mudpie[3]) also used Plasma 1, and despite having completely different content (in terms of graphics, storyline, etc.), realMyst takes a lot of cues from those projects. DIRT's remnants were eventually moved bit by bit into later projects, such as Uru and End of Ages, which occasionally required some time-consuming porting.
  • 2003/2004 versions of Uru, i.e. Uru: Ages Beyond Myst, the cancelled Uru Live (2003), Uru: To D'ni, Uru: The Path of the Shell (and, of course, the bundle Uru: Complete Chronicles), as well as Untìl Uru all use Plasma 2 (2.0), which was a rewrite mainly in order to implement more complex networking features, which were obviously crucial to online aspects of Uru, and a means of scriptability through the Python language. Plasma 2's feature set is not a superset of Plasma 1's; for budgetary/timing reasons, some features were not re-implemented in Plasma 2. Strictly speaking, The Path of the Shell and Complete Chronicles have a slightly revised version of Plasma 2, supporting an increased amount of graphics cards (especially various chipset-integrated Intel models); this is typically known as the "CC codebase".
  • Myst V: End of Ages uses Plasma 21 (2.1), whose version number is actually a nod that it merges back some of Plasma 1's original graphical features (retroactively, Plasma 2 would be called 20 to avoid ambiguity). Plasma 21 removes the networking and scripting code again, as neither would serve a purpose for this project. It also adds new graphics abilities, such as pixel shaders, whose effect can be seen, for instance, in the moving grass on Noloben.
  • Uru Live (2006) is based heavily on Uru (specifically, The Path of the Shell's codebase), but still has enough changes as to be incompatible (most importantly, its physics have been ported from the Havok engine to the PhysX engine, though they do not take advantage of PhysX hardware acceleration). Most, if not all, Plasma 20 features are available, but some 21 ones are merged in (the extent of which is currently under NDA); as a result, this new release of Uru has higher system requirements than the original Uru did. This version of Plasma is sometimes referred to as "205" (2.0.5) to signify that it's "somewhere between 20 and 21".
  • Hex Isle is based on Plasma 2.1 and extends the material system to support Bloom HDR lighting. The release version of Hex Isle indicated a Plasma version 3 (3.0). It also has extended scripting support and allows the use of .fx shader files.

Compared by version, chronologically ordered[edit | edit source]

1 (10, 1.0)[edit | edit source]

Based on: Headspin code

  • Initial version, progressed directly from Headspin Plasma

DirectX version: 7.0

Implemented in: early pre-releases of DIRT and Mudpie; realMyst

2 (20, 2.0)[edit | edit source]

(Public release version 63.11)

Based on: 1

  • Major rewrite, some incompatibilities
  • Fewer graphical features due to limited resources
  • Bindings to Havok physics engine
  • Massive multiplayer networking support
  • Python-based support for scripting

DirectX version: 8.0

Implemented in: Uru: Ages Beyond Myst, Uru Live (2003), Uru: To D'ni

2 + CC[4][edit | edit source]

(Public release version 63.12)

Based on: 2

  • Additional support for more graphics chips, especially various Intel integrated chipsets

DirectX version: 8.0

Implemented in: Uru: The Path of the Shell, Uru: Complete Chronicles

21 (2.1)[edit | edit source]

(Public release version 6.10)

Based on: 2 + CC

  • Replaced Havok physics support with ODE[5]
  • Removed networking
  • Removed scripting
  • Added support for pixel shader model 1.0[6]

DirectX version: 9.0

Implemented in: Myst V: End of Ages, Crowthistle

205 (2.0.5)[edit | edit source]

(Public version 69.1 to 70)

Based on: 2 + CC

  • Replaced Havok physics support with PhysX[7]
  • Completely rewritten, optimized networking
  • Backported support for pixel shaders from 21, possibly model 2.0[citation needed]

DirectX version: 9.0

Implemented in: Myst Online: Uru Live

3 (30, 3.0)[edit | edit source]

(Public version 9)[citation needed]

Based on: 2.1

  • Uses the ODE Physics engine
  • Has better material and lighting support, including HDR Bloom lighting effects
  • Uses a special scripting language to create tiles in the world-space

DirectX version: 9.0

Implemented in: Hex Isle

References[edit | edit source]

  1. A chatlog with Brice Tebbs about Plasma's history is available: chat log
  2. Interestingly, everything is handled by 3ds Max; that is, no post-export work is done on any of the Ages. A chatlog with Brice Tebbs about the tools is available: chat log.
  3. Some early screenshot and video material for what eventually ended up in Uru and Myst V: End of Ages was in fact rendered in Plasma 1, and would therefore not work in those newer projects at all without adjustment.
  4. Not an actual title. The version number actually remained unchanged.
  5. Some Cyan developers contributed to the ODE open source project.
  6. Most prominently used in Noloben for the water and grass animations.
  7. While PhysX uniquely offers hardware acceleration, Plasma does not reach the necessary complexity to take discernible advantage of that.