Incomplete Code

From Orion Engine Wiki
Revision as of 02:20, 10 April 2017 by Admin (talk | contribs)
Jump to navigation Jump to 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.
  • Finish the material editor in the Orion Genesis world builder.
  • Finish the .cgfx importer plug-in for Orion Genesis.

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.

Networking

  • In the network driver, use Windows events, instead of polling for events.
  • Finish UDP communication.
  • 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.

Scripting

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