Incomplete Code

From Orion Engine Wiki
Jump to: navigation, search

There are only a few key areas left that need to be finished, before we can start creating a game using the Orion Engine framework. Note that some of the features mentioned on this page will likely have to wait for a later release to be finished.

NOTE: See the Engine Features page for details on the features that are currently finished.

This documentation is only a preliminary specification and is subject to change at any time.

Effect System

  • Convert all existing scene objects to use the new effect system. Decide what needs to be deprecated from the API.
  • Finish the material editor, and effect importers, in the Orion Genesis world builder.

Animation System

  • Finish animation track blending.
  • Finish animation event handling.

Terrain Management

  • Test adding multiple patches of terrain together.
  • Spline-based terrain and the associated tools.

Scene Manager

  • Maintain large worlds by dynamically loading/unloading scene elements.


  • In the network driver, use Windows Overlapped I/O with callback notifications, instead of polling for events. I plan to allow upwards of 10,000 connections per-server.
  • Finish UDP communication.
  • Finish packet compression and encryption.

Geometry Library

  • Finish bones and skinned mesh support.
  • Finish patch mesh support.
  • Finish progressive mesh support.

Physics Library

  • Path finding, path creation, etc.
  • Collision analyzer for solving complex collisions (i.e. rolling, bouncing, sliding, spinning, etc.)
  • Simulation manager.
    • Inverse kinematics (IK) system for 3 joint articulation.
    • Vehicles, such as car, bike, boat, etc.
    • Flocking, autonomous agents, etc.
    • Attached objects with breakable restraints.
    • Springs.
    • Inertial behavior, viscosity, friction, buoyancy, etc.

Sound Manager

  • Allocate and manage sound buffers/channels, handle buffer priorities, dynamic load/unload, etc.

2D GUI Control Library

  • Create new list box and/or drop-down list control.
  • Create new menu control.
  • Create new tab control.


  • Finish implementing high-level script language w/advanced data types.