PhaseJumpPro
PhaseJumpPro copied to clipboard
Game Design Patterns for Unity, C++ and (eventually Godot)
Phase Jump Pro
Game Design Patterns common to all games.
Project Goals
The goal of this project is to establish a library of platform-neutral, language-neutral and engine-neutral design patterns for games. The code originated in C++, was rewritten for Unity in C#, and revised in C# over the years. With the rising popularity of Godot, the plan is to move more focus to that engine rather than Unity. Several of the core design patterns have also been ported to C++, but C++ is not as high a priority as the C# code.
Expect lots of file renames and folder moves as I figure out how to create patterns that work in different engines (Unity is multi-component vs Godot which is single component).
Eventually I would like to see this library support the most popular programming languages: Swift, Kotlin, Java, etc. But that's in the far future if ever. Before that can happen I need to stabilize code names, patterns, and APIs.
Timeline for Completion
I only have spare time every now and then to work on this, so progress will be slow. I'd like to finish v3.0 by early 2025, but anything could happen.
When Will it Be Complete?
The idea is to have a complete Unity and Godot SDK by v3.0, and possibly a complete C++ SDK for PhaseJumpPro v3.0 as well, depending on time constraints.
Documentation
The documentation limited right now. It is a work in progress here: Link
Porting Progress
Name | Unity | Godot | C++ | Notes |
---|---|---|---|---|
Animation | Yes | Partial | No | |
Camera | Yes | n/a | No | |
Classes | Yes | Partial | Yes | |
Core | Yes | No | No | |
Data | Yes | No | No | |
Developer | Yes | Yes | No | |
Editor | Yes | No | Some unit tests | |
Effects | Yes | Partial | No | |
Examples | Yes | No | No | |
Emitters | Yes | No | No | |
Experimental | Yes | No | No | |
Extensions | Yes | Yes | n/a | |
Geometry | Yes | Yes | No | |
Go | Yes | No | No | |
Graph | Yes | Yes | No | |
Input | Yes | No | No | |
Layout | Yes | No | No | |
Materials | Yes | No | n/a | |
Mesh | Yes | No | No | |
Model | Yes | No | No | |
Move Paths | Yes | No | No | |
Renderers | Yes | n/a | n/a | |
Shaders | Yes | No | No | |
Steering | Yes | No | No | |
Text Effects | Yes | No | No | |
Tool Canvas | Yes | No | No | |
Types | Yes | No | No | |
UI | Yes | No | No | |
Utilities | Yes | No | No |