Technical Reference/terms

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (updated markup to mediwiki standard for a glossary/definition list (this generates dt/dd markup for search engines))
m (Definitions of OpenSimulator technical terms: added YEngine, XEngine, and XMREngine)
 
(17 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
== Definitions of OpenSimulator technical terms ==
 
== Definitions of OpenSimulator technical terms ==
  
 +
;<span id="Bakes">Bakes</span>
 +
:An abbreviation for '''Bakes on Mesh'''. Also sometimes referred to by the acronym '''BoM'''. Refers to a server-side process adopted by Second Life and later OpenSimulator v0.9.1.0 that combines multiple texture layers used on an avatar into a single texture for delivery to a viewer. For example, skin, tattoos, and multiple layers of clothing textures could be combined into a single texture. As part of the process, the corresponding region of the avatar may be hidden so that it does not interfere with the "baked" mesh.
  
;<span id="Region">Region</span>
+
;<span id="Caps">Caps</span>
: A region has an X/Y position in a grid and a regionhandle calculated from the position. A region can also be defined as an IP endpoint that the Viewer can use to establish a client connection. The unique ID of a region is a UUID. This means that a region can change position, and because of that position change, the regionhandle will be recalculated. The regionhandle will uniquely identify a position in a grid.
+
:An abbreviation that is short for '''Capabilities'''. Caps refers to the capabilities that a particular grid region provides to viewers such as voice or multimedia. For more, see [[CAPS]].
  
:A region contains a number of sub components:
+
;<span id="Client">Client</span>
:* Scene
+
:A program that connects to OpenSimulator over a network. A Viewer is a type of client that allows a user to view the simulation. Other types of clients might include search engines, messaging applications, or other programs that connect to OpenSimulator but do not create a visual presence within the simulation.
:* Client/Viewer circuits
+
 
 +
;<span id="COF">COF</span>
 +
:An abbreviation for '''C'''urrent '''O'''ut'''f'''it. Refers to the attachments and wearables associated with an '''avatar'''.
 +
 
 +
;<span id="Entity">Entity</span>
 +
:A thing that exists within the simulation. It may have a visible appearance, position, a rotation, velocity, and other attributes. It is responsible for providing a physical proxy that can be handed off to a physics engine. It may be invisible, static, or have no physical proxy but it must still implement all of these concepts.
 +
 
 +
;<span id="Grid">Grid</span>
 +
:An array of one or more regions maintained by a collection of OpenSimulator ROBUST grid services that form a single, self-contained Virtual World. May also refer to a '''Serverless Grid'''.
 +
 
 +
;<span id="Hypergrid">Hypergrid</span>
 +
:Sometimes abbreviated HG. Refers to both the communications protocol that integrates multiple grids and the collection of grids using the protocol. In theory the Hypergrid protocol allows users to teleport from a region in one grid to a region in another grid. For an overview of the concept, see [[Hypergrid]]. For details on specific versions of the Hypergrid protocol, see [[Hypergrid 1.0]], [[Hypergrid 1.5]], and [[Hypergrid 2.0]].
 +
 
 +
;<span id="LLSD">LLSD</span>
 +
:Acronym for '''L'''inden '''L'''ab '''S'''tructured '''D'''ata. A standard for encoding data for use with LLUDP communications between the simulator and the viewer. For details on standard, see [http://wiki.secondlife.com/wiki/LLSD|Linden Lab Structure Data].
 +
 
 +
;<span id="LLUDP">LLUDP</span>
 +
:Acronym for '''L'''inden '''L'''ab '''UDP'''. The designation is commonly used in the OpenSimulator community for the Linden Lab Second Life Binary UDP Protocol used for communication between virtual world simulators and viewers. For details on the protocol itself, see the [http://wiki.secondlife.com/wiki/Protocol Second Life Open Source Protocol documentation]. For more on the OpenSimulator implementation of the protocol, see [http://opensimulator.org/wiki/LLUDP_ClientStack LLUDP ClientStatck].
 +
 
 +
;<span id="Mesh">Mesh</span>
 +
:Any type of entity that stores geometry data instead of procedural instructions to generate geometry. Depending on the implementation, a mesh may or may not implement additional interfaces such as the scripting container interface or LLUDP concepts. Mesh support was originally introduced in OpenSimulator by the realXtend team.
 +
 
 +
;<span id="Megaregion">Megaregion</span>
 +
:An experimental and now deprecated type of region that could exceed the usual 256x256 meter size limit by combining multiple standard regions. Megaregions were deprecated in OpenSimulator v0.8.2 and support for them was removed in OpenSimulator v0.9.0. For more, see [[Megaregions]].
 +
 
 +
;<span id="MRM">MRM</span>
 +
:Acronym for '''M'''ini '''R'''egion '''M'''odule. A script engine designed by Adam Frisby to support writing scripts in C#. MRM was intended as an intermediate tool, more powerful than normal scripting but less complex that writing a custom region module. MRM was added to OpenSimulator in 2009 but was unmaintained after that. Support for MRM was removed in OpenSimuator v0.9.1.0. For more see [[Configuration/files/OpenSim/OpenSim.ini#.5BMRM.5D|OpenSim.ini MRM config]]
 +
 
 +
;<span id="OGS1">OGS1</span>
 +
:Acronym for '''O'''penSimulator '''G'''rid '''S'''ervices version '''1'''. A collection of grid services software used through OpenSimulator version 0.6 to provide UGAIM services to grid clients. OGS1 relied heavily on a Microsoft .NET technology called Remoting. Developers decided to move away from relying on .NET specific methods in order to make the software more portable and to increase performance. OGS2 was proposed and experimented with, but never adopted. In place of OGS1, OpenSimulator 0.7 and later adopted ROBUST as a replacement technology. For more, see [[Grid_Architecture_Diagram|OGS1 Diagram]]
 +
 
 +
;<span id="OGS2">OGS2</span>
 +
:Acronym for '''O'''penSimulator '''G'''rid '''S'''ervices version '''2'''. An experimental improvement to OGS1. The code was written and tested but never adopted in a release version of OpenSimulator. Instead, '''ROBUST''' was developed to replace OGS1.
 +
 
 +
;<span id="Prim">Prim</span>
 +
:Abbreviation for Geometric Primitive. A prim is a type of entity that originated in the Second Life and is a procedurally generated basic shape that has an efficient network representation. It implements the basic concepts required to be an entity, plus many additional concepts that are specific to the LLUDP protocol. It also implements some extra generic concepts in OpenSimulator, such as acting as a script container.
 +
 
 +
;<span id="Region">Region</span>
 +
:A 256 x 256 meter area that has an X/Y position in a '''grid''' and a '''regionhandle''' calculated from the position. A region can also be defined as an IP endpoint that the Viewer can use to establish a client connection. The unique ID of a region is a UUID. This means that a region can change position, and because of that position change, the regionhandle will be recalculated. The regionhandle will uniquely identify a position in a grid. A region contains a number of sub components such as Scene and Client/Viewer circuits. See also '''Varregion''' and '''MegaRegion''' for comparison. '''Note''': in some cases, region may refer to the regions database table which stores data related to a simulator's regions. For more on the DB usage, see [[Regions_(database_table)]].
  
 
;<span id="Regionhandle">Regionhandle</span>
 
;<span id="Regionhandle">Regionhandle</span>
 
:A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive).
 
:A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive).
 +
 +
;<span id="ROBUST">ROBUST</span>
 +
:Acronym for '''R'''edesigned '''O'''penSimulator '''B'''asic '''U'''niversal '''S'''erver '''T'''echnology. A modular replacement for '''OGS1''' to provide grid services including '''UGAIM''' as well as allowing third party modules to replace standard grid services or implement new ones. Adoption of ROBUST began with OpenSimulator v0.6.6 and incrementally replaced additional OGS1 services until OpenSimulator v0.7 when ROBUST provided all services and OGS1 was completely removed. For more, see [[ROBUST]]
  
 
;<span id="Scene">Scene</span>
 
;<span id="Scene">Scene</span>
:A scene is part of a region, currently there is a one to one relationship, i.e. one region has one scene. A scene contains all the 3d ''objects'', called ''Entities'', entities can either be ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.
+
:In 3D graphics, a scene is the visual representation of all the '''entities''' and visual characteristics (light, shadows, atmospheric effects, etc) of a defined physical space. The visual representation is expressed in a '''scene graph''' and shared between the '''viewer''' and '''simulator'''. The scene may change over time due to updates in the location or appearance of entities. In OpenSimulator, a scene is part of a '''region'''. Currently there is a one to one relationship; i.e. one region has one scene. The entities in an OpenSimulator scene are represented as either ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.
  
;<span id="Avatar-ScenePresence">Avatar/ScenePresence</span>
+
;<span id="SceneGraph">Scene Graph</span>
 +
:In 3D graphics, a scene graph is a data structure that represents all the '''entities''' in a scene. Generally scene graphs in MMOs are designed to be highly efficient hierarchical representations of entities arranged logically or spatially. OpenSimulator, however, because it relies on viewers designed for Second Life, inherits Second Life's suboptimal scene graph design. This unusual scene graph design makes it very difficult to develop new viewers based on conventional 3D libraries such as Ogre or Godot which use more recent Entity-Component or hierarchical Object-Oriented scene graphs. Open Simulator developer Adam Frisby, working with RealXtend, devised an improved scene graph for OpenSimulator that would retain compatibility with Second Life viewers while providing hierarchical features and compatibility with newer 3D graphics libraries. Adam's feature proposal was accepted but stalled when he left to work on other projects and remains unfinished. For more on Adam's proposed scene graph, see the [[Feature Proposals]] page. A good starting point for learning about OpenSimulators scene graph code is '''OpenSim.Region.Framework.Scenes''' in SceneGraph.cs.
 +
 
 +
;<span id="ScenePresence">ScenePresence</span>
 
:Each viewer is represented by one or more avatars. The Root avatar or ScenePresence functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.
 
:Each viewer is represented by one or more avatars. The Root avatar or ScenePresence functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.
  
;<span id="Viewer">Viewer</span>
+
;<span id="ServerlessGrid">Serverless Grid</span>
:An application which is used to view the state of the simulation. Currently only three different viewers are known: the LL viewer, the OpenSL test client and AjaxLife.
+
:A '''Grid''' formed by connecting multiple stand-alone '''regions''' without using '''ROBUST''' grid services. Serverless Grids were supported in older versions of OpenSimulator. For more see [[Serverless Grids]]
  
 
;<span id="Session">Session</span>
 
;<span id="Session">Session</span>
Line 31: Line 77:
  
 
;<span id="Session">Simulator</span>
 
;<span id="Session">Simulator</span>
:A program which can manage several ''Regions''
+
:Frequently abbreviated as '''Sim'''. Refers to an instance of the OpenSimulator server that hosts one or more Regions.
 +
 
 +
;<span id="UGAIM">UGAIM</span>
 +
:Acronym for the common grid services: '''U'''ser, '''G'''rid, '''A'''sset, '''I'''nventory, and '''M'''essages. Originally, the order of the letters in the acronym was related to the order in which the services needed to be started in early versions of OpenSimulator. Other combinations and orders may appear in the OpenSimulator documentation, code comments, and mailing list archive, for example: UGAI, UGRM, URM, UGAIS etc. It's often necessary to research the context to determine specifically what additional letters refer to but the general idea is the list of grid services.
 +
 
 +
;<span id="Varregion">Varregion</span>
 +
:A special type of region that can exceed the usual 256x256 meter size limit. The viewer in use must support the Varregion feature. Varregions may be sized in increments of 256 meters up to a maximum of 8192. For more, see [[Varregion]].
 +
 
 +
;<span id="Viewer">Viewer</span>
 +
:A client application that connects to OpenSimulator and displays a view of the simulation to a user. There are many viewers but most are forks of the original open-sourced SL viewer. For more, see [[Connecting]].
 +
 
 +
;<span id="XEngine">XEngine<span>
 +
:The default script engine in OpenSimulator for executing LSL and OSSL scripts. For XEngine configuration parameters and other details, see the [[XEngine]] page.
  
----
+
;<span id="XMREngine">XMREngine</span>
 +
:A third party script engine module for executing LSL and OSSL scripts. Designed as an alternative to '''XEngine'''. The code was forked by the OpenSimulator team to use as the basis of '''YEngine'''. The YEngine and XMREngine code has diverege somewhat since the fork. For more information on XMREngine, see [http://wiki.dreamnation.net/index.php/XMREngine_Script_Engine DreamNation XMREngine Script Engine] wiki or view the [https://github.com/dreamnation/xmrengine XMREngine source on github].
  
* [[OpenSim.cs]] (OpenSim.cs )
+
;<span id="YEngine">YEngine</span>
* [[OpenSim SwInit|OpenSim_SwInit]] (Initialization from Main() )
+
:An LSL/OSSL script engine for OpenSimulator designed as an alternative to '''XEngine''' and based on the open source code of '''XMREngine'''. YEngine has better memory management and performance than XEngine. YEngine is not enabled by default. For information on switching from XEngine to YEngine, see the [[YEngine]] page.
* [[OpenSim SwMainLoopl|OpenSim_SwMainLoopl]] (After initialization, a main loop waits for connections or commands)
+
* [[OpenSim SwRegionHandshake|OpenSim_SwRegionHandshake]] (How a client connects to the simulator)
+
* [[OpenSim UserService|OpenSim_UserService]] (How the user server works)
+
* [[OpenSim InterRegionCommunications|OpenSim_InterRegionCommunications]] (How the sim communicates with other sims)
+
* [[OpenSim GridService|OpenSim_GridService]] (How the grid server works)
+
* [[OpenSim AssetService|OpenSim_AssetService]] (How the asset server works)
+
* [[OpenSim SimService|OpenSim_SimService]] (How the simulator operates after a connection is made)
+
* [[Sim Throttles|Sim_Throttles]] (How the simulator handles throttling of packets)
+
<br />
+
  
 
= See Also =
 
= See Also =

Latest revision as of 13:45, 25 September 2020


This is a glossary of software technical reference terms commonly found in descriptions of how OpenSimulator works from invocation, initialization, main loop and various services.

[edit] Definitions of OpenSimulator technical terms

Bakes
An abbreviation for Bakes on Mesh. Also sometimes referred to by the acronym BoM. Refers to a server-side process adopted by Second Life and later OpenSimulator v0.9.1.0 that combines multiple texture layers used on an avatar into a single texture for delivery to a viewer. For example, skin, tattoos, and multiple layers of clothing textures could be combined into a single texture. As part of the process, the corresponding region of the avatar may be hidden so that it does not interfere with the "baked" mesh.
Caps
An abbreviation that is short for Capabilities. Caps refers to the capabilities that a particular grid region provides to viewers such as voice or multimedia. For more, see CAPS.
Client
A program that connects to OpenSimulator over a network. A Viewer is a type of client that allows a user to view the simulation. Other types of clients might include search engines, messaging applications, or other programs that connect to OpenSimulator but do not create a visual presence within the simulation.
COF
An abbreviation for Current Outfit. Refers to the attachments and wearables associated with an avatar.
Entity
A thing that exists within the simulation. It may have a visible appearance, position, a rotation, velocity, and other attributes. It is responsible for providing a physical proxy that can be handed off to a physics engine. It may be invisible, static, or have no physical proxy but it must still implement all of these concepts.
Grid
An array of one or more regions maintained by a collection of OpenSimulator ROBUST grid services that form a single, self-contained Virtual World. May also refer to a Serverless Grid.
Hypergrid
Sometimes abbreviated HG. Refers to both the communications protocol that integrates multiple grids and the collection of grids using the protocol. In theory the Hypergrid protocol allows users to teleport from a region in one grid to a region in another grid. For an overview of the concept, see Hypergrid. For details on specific versions of the Hypergrid protocol, see Hypergrid 1.0, Hypergrid 1.5, and Hypergrid 2.0.
LLSD
Acronym for Linden Lab Structured Data. A standard for encoding data for use with LLUDP communications between the simulator and the viewer. For details on standard, see Lab Structure Data.
LLUDP
Acronym for Linden Lab UDP. The designation is commonly used in the OpenSimulator community for the Linden Lab Second Life Binary UDP Protocol used for communication between virtual world simulators and viewers. For details on the protocol itself, see the Second Life Open Source Protocol documentation. For more on the OpenSimulator implementation of the protocol, see LLUDP ClientStatck.
Mesh
Any type of entity that stores geometry data instead of procedural instructions to generate geometry. Depending on the implementation, a mesh may or may not implement additional interfaces such as the scripting container interface or LLUDP concepts. Mesh support was originally introduced in OpenSimulator by the realXtend team.
Megaregion
An experimental and now deprecated type of region that could exceed the usual 256x256 meter size limit by combining multiple standard regions. Megaregions were deprecated in OpenSimulator v0.8.2 and support for them was removed in OpenSimulator v0.9.0. For more, see Megaregions.
MRM
Acronym for Mini Region Module. A script engine designed by Adam Frisby to support writing scripts in C#. MRM was intended as an intermediate tool, more powerful than normal scripting but less complex that writing a custom region module. MRM was added to OpenSimulator in 2009 but was unmaintained after that. Support for MRM was removed in OpenSimuator v0.9.1.0. For more see OpenSim.ini MRM config
OGS1
Acronym for OpenSimulator Grid Services version 1. A collection of grid services software used through OpenSimulator version 0.6 to provide UGAIM services to grid clients. OGS1 relied heavily on a Microsoft .NET technology called Remoting. Developers decided to move away from relying on .NET specific methods in order to make the software more portable and to increase performance. OGS2 was proposed and experimented with, but never adopted. In place of OGS1, OpenSimulator 0.7 and later adopted ROBUST as a replacement technology. For more, see OGS1 Diagram
OGS2
Acronym for OpenSimulator Grid Services version 2. An experimental improvement to OGS1. The code was written and tested but never adopted in a release version of OpenSimulator. Instead, ROBUST was developed to replace OGS1.
Prim
Abbreviation for Geometric Primitive. A prim is a type of entity that originated in the Second Life and is a procedurally generated basic shape that has an efficient network representation. It implements the basic concepts required to be an entity, plus many additional concepts that are specific to the LLUDP protocol. It also implements some extra generic concepts in OpenSimulator, such as acting as a script container.
Region
A 256 x 256 meter area that has an X/Y position in a grid and a regionhandle calculated from the position. A region can also be defined as an IP endpoint that the Viewer can use to establish a client connection. The unique ID of a region is a UUID. This means that a region can change position, and because of that position change, the regionhandle will be recalculated. The regionhandle will uniquely identify a position in a grid. A region contains a number of sub components such as Scene and Client/Viewer circuits. See also Varregion and MegaRegion for comparison. Note: in some cases, region may refer to the regions database table which stores data related to a simulator's regions. For more on the DB usage, see Regions_(database_table).
Regionhandle
A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive).
ROBUST
Acronym for Redesigned OpenSimulator Basic Universal Server Technology. A modular replacement for OGS1 to provide grid services including UGAIM as well as allowing third party modules to replace standard grid services or implement new ones. Adoption of ROBUST began with OpenSimulator v0.6.6 and incrementally replaced additional OGS1 services until OpenSimulator v0.7 when ROBUST provided all services and OGS1 was completely removed. For more, see ROBUST
Scene
In 3D graphics, a scene is the visual representation of all the entities and visual characteristics (light, shadows, atmospheric effects, etc) of a defined physical space. The visual representation is expressed in a scene graph and shared between the viewer and simulator. The scene may change over time due to updates in the location or appearance of entities. In OpenSimulator, a scene is part of a region. Currently there is a one to one relationship; i.e. one region has one scene. The entities in an OpenSimulator scene are represented as either ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.
Scene Graph
In 3D graphics, a scene graph is a data structure that represents all the entities in a scene. Generally scene graphs in MMOs are designed to be highly efficient hierarchical representations of entities arranged logically or spatially. OpenSimulator, however, because it relies on viewers designed for Second Life, inherits Second Life's suboptimal scene graph design. This unusual scene graph design makes it very difficult to develop new viewers based on conventional 3D libraries such as Ogre or Godot which use more recent Entity-Component or hierarchical Object-Oriented scene graphs. Open Simulator developer Adam Frisby, working with RealXtend, devised an improved scene graph for OpenSimulator that would retain compatibility with Second Life viewers while providing hierarchical features and compatibility with newer 3D graphics libraries. Adam's feature proposal was accepted but stalled when he left to work on other projects and remains unfinished. For more on Adam's proposed scene graph, see the Feature Proposals page. A good starting point for learning about OpenSimulators scene graph code is OpenSim.Region.Framework.Scenes in SceneGraph.cs.
ScenePresence
Each viewer is represented by one or more avatars. The Root avatar or ScenePresence functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.
Serverless Grid
A Grid formed by connecting multiple stand-alone regions without using ROBUST grid services. Serverless Grids were supported in older versions of OpenSimulator. For more see Serverless Grids
Session
Each connection between a viewer and a region, regardless if the avatar is the root or a child, is a session.
Simulator
Frequently abbreviated as Sim. Refers to an instance of the OpenSimulator server that hosts one or more Regions.
UGAIM
Acronym for the common grid services: User, Grid, Asset, Inventory, and Messages. Originally, the order of the letters in the acronym was related to the order in which the services needed to be started in early versions of OpenSimulator. Other combinations and orders may appear in the OpenSimulator documentation, code comments, and mailing list archive, for example: UGAI, UGRM, URM, UGAIS etc. It's often necessary to research the context to determine specifically what additional letters refer to but the general idea is the list of grid services.
Varregion
A special type of region that can exceed the usual 256x256 meter size limit. The viewer in use must support the Varregion feature. Varregions may be sized in increments of 256 meters up to a maximum of 8192. For more, see Varregion.
Viewer
A client application that connects to OpenSimulator and displays a view of the simulation to a user. There are many viewers but most are forks of the original open-sourced SL viewer. For more, see Connecting.
XEngine
The default script engine in OpenSimulator for executing LSL and OSSL scripts. For XEngine configuration parameters and other details, see the XEngine page.
XMREngine
A third party script engine module for executing LSL and OSSL scripts. Designed as an alternative to XEngine. The code was forked by the OpenSimulator team to use as the basis of YEngine. The YEngine and XMREngine code has diverege somewhat since the fork. For more information on XMREngine, see DreamNation XMREngine Script Engine wiki or view the XMREngine source on github.
YEngine
An LSL/OSSL script engine for OpenSimulator designed as an alternative to XEngine and based on the open source code of XMREngine. YEngine has better memory management and performance than XEngine. YEngine is not enabled by default. For information on switching from XEngine to YEngine, see the YEngine page.

[edit] See Also

Personal tools
General
About This Wiki