Skip to content

coinbump/PhaseJumpPro

Repository files navigation

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