Development Status¶
Portal Framework is still in early development.
High Level Roadmap¶
timeline
MVP : Build Infrastructure
: Engine Infrastructure
: Resource Management
: ECS
: Basic Renderer
: Serialization
: Documentation
: Packaging System
: Cross Platform Support
Working Game : Basic Editor
: Animation System
: Audio System
: Advanced Shaders
: Basic Networking
: UI System
: Scripting
: AI System
: Binary Resources Archive
: C - Vars
: Save System
And Beyond : Physics System
: Networked Physics
: Networked Game Infrastructure
: Mods
: Defered Rendering
Current State¶
Currently, portal engine is at the end of the MVP phase of the roadmap.
The focus up until now has been on getting the basic infrastructure in place, and getting the engine to a point where it
will be straightforward to add new features.
Detailed Roadmap¶
Here is a detailed list of planned features and modules.
You can see more issues here and which issues are currently being worked on here.
Basic Editor¶
Phase: Working Game
Like most game engines, Portal Engine should have a game editor to edit the scenes and resources.
The current plan is to use ImGui as the base and create a generic and modular editor that will be extendable for
future features.
Animation System¶
Phase: Working Game
Add an animation system, with all its dependencies.
Audio System¶
Phase: Working Game
Add an audio system that supports both static audio and 3d dynamic audio.
Advanced Shaders¶
Phase: Working Game
Implement advanced shaders (PBR, etc…) in slang, Using Real Time Rendering book as reference, and
extending the shader system to support multiple and dynamic shaders.
Basic Networking¶
Phase: Working Game
Refactor the networking module to make it up to standard with the rest of the engine.
UI System¶
Phase: Working Game
Add a basic UI system to use in game (not based on ImGui).
Scripting¶
Phase: Working Game
Add scripting support to create and control game states, objects, entities and the like.
Currently the plan is to either use Lua, Python, C# or use WebAssembly to support all languages. Still under consideration.
AI System¶
Phase: Working Game
Add an AI system for creating intelligent game entities such as enemies and NPCs.
This will include pathfinding, behavior trees, navigation meshes, and decision-making systems.
Binary Resources Archive¶
…
C - Vars¶
…
Save System¶
…
Physics System¶
Phase: And Beyond
Implement a basic physics system, or include a physics engine like Jolt
Networked Physics¶
Phase: And Beyond
Combine the physics system and networking to allow networked physics interactions.
Networked Game Infrastructure¶
Phase: And Beyond
Improve the networking system to allow replicated player movement, client-side prediction, server reconciliation,
and lag compensation.
Mods¶
Phase: And Beyond
Implement a mod system using webassembly’s sandbox.