Incomplete Code: Difference between revisions

From Orion Engine Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 27: Line 27:
== Networking ==
== Networking ==


* 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.
* Finish packet compression and encryption.
* Finish UDP communication (for things like voice chat).


== Geometry Library ==
== Geometry Library ==

Revision as of 21:05, 31 August 2019

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.

Networking

  • Finish packet compression and encryption.
  • Finish UDP communication (for things like voice chat).

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.