Namespace AlphaFramework
AlphaFramework is a high-level game framework built on top of OmegaEngine. It provides an architecture for managing game worlds, logic, and presentation. Its design emphasizes clean separation of responsibilities.
Core concepts
AlphaFramework organizes game development into two domains:
World layer
For building engine-agnostic models of game worlds.
- Universe: Defines static world data, describes what exists in the world
- Session: Represents the current game state, tracks dynamic state and change
See AlphaFramework.World for details.
Presentation layer
- Presenter: Translates world state into renderable objects
- Game: Manages the application lifecycle and orchestrates updates
See AlphaFramework.Presentation for details.
flowchart LR
subgraph World
Universe
Session
end
subgraph Presentation
Presenter
Game
end
subgraph OmegaEngine
Engine
end
Session --> Universe
Presenter --> Universe
Presenter --> Engine
Game --> Session
Game --> Presenter
Additional resources
Project Templates
Use the official OmegaEngine templates to quickly scaffold a project using AlphaFramework.Practical Examples
See FrameOfReference for real-world usage patterns and sample implementations.
API
Namespaces
- AlphaFramework.Editor
Toolkit for creating IDE-like editors for games based on OmegaEngine and AlphaFramework. You can use it to create GUI dialogs, maps, particle systems, etc. for your game.
- AlphaFramework.Presentation
Provides a basis for building presenters that visualize AlphaFramework.World-based game worlds using OmegaEngine.Graphics.Renderables.
- AlphaFramework.World
Provides a basis for building engine-agnostic models of game worlds.