Table of Contents

OmegaEngine is a general-purpose 3D graphics for .NET Framework and DirectX 9. The engine is designed to be light-weight, modular and gameplay-agnostic. It is designed to be:

  • light-weight (core engine including dependencies < 8MB),
  • modular (use only the parts you need for your project) and
  • gameplay-agnostic (also suitable for visualization projects, etc.).

OmegaGUI is a GUI toolkit for OmegaEngine with an XML file format und Lua scripting.
The AlphaEditor contains a WYSIWYG editor for the toolkit.

AlphaFramework is a complementary framework for OmegaEngine.
It provides base classes for designing a game world using the Model-View-Presenter pattern.

FrameOfReference is the official sample game for OmegaEngine.
It is intended as a sample/reference for developers working on other games.

Prerequisites

You must install these components before you can use OmegaEngine:

First steps

Create a WinForms project targetting .NET Framework 4.7.2 or newer with the platform set to x86.
Add a reference to the NuGet package OmegaEngine. Then add the following code to render a textured sphere:

var engine = new Engine(this, new EngineConfig { TargetSize = ClientSize });
var scene = new Scene
{
    Positionables = { Model.Sphere(engine, XTexture.Get(engine, "flag.png")) }
};
var view = new View(scene, new TrackCamera()) { BackgroundColor = Color.CornflowerBlue };
engine.Views.Add(view);

Paint += delegate { engine.Render(); };

NuGet packages

Package Namespace Description
OmegaEngine OmegaEngine 3D graphics rendering based on DirectX 9.
OmegaEngine.Foundation OmegaEngine.Foundation Rendering-agnostic infrastructure like storage and data structures.
OmegaGUI OmegaGUI GUI toolkit with XML file format und Lua scripting.
AlphaFramework.World AlphaFramework.World Basis for engine-agnostic models of game worlds.
AlphaFramework.Presentation AlphaFramework.Presentation Basis for presenters that visualize game worlds using the engine.
AlphaEditor AlphaFramework.Editor Toolkit for creating editors for games based on AlphaFramework.

Dependencies

flowchart TD
    engine[OmegaEngine] --> foundation[OmegaEngine.Foundation]
    gui[OmegaGUI] --> engine
    world[AlphaFramework.World] --> foundation
    presentation[AlphaFramework.Presentation] --> world
    presentation --> engine
    editor[AlphaEditor] --> presentation
    editor --> gui

Project templates

The OmegaEngine project templates help you create C# projects that use OmegaEngine, OmegaGUI and AlphaFramework.