-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the Cairo Engine Wiki! The Cairo Engine is simply an additional layer to Unity that servse to simplify the development of games.
It's core functionalities that should serve to streamline development are:
- The Runtime
One class controls the overall flow of the game. It allows easy access to all of the games unique systems without any deep searching to debug issues.
- Behaviours
While Unity MonoBehaviours are powerful, managing them can become rather cumbersome. Cairo Behaviours creates a simplified approach to adding and modifying unique Game Object functionalities, and also provides many Behaviours that are common for many games.
- The State Machine
The State Machine can be enabled for any Object, by simply calling the EnableStateMachine(Object) method. It makes managing State machine objects quite simple, by allowing the Runtime to control States and how they behave. And, states can be expanded upon within Monobehaviours attached to the Object, by creating new State extending Classes. *Archetypes
The framework comes packaged with many object Archetypes used to simplify game development, with Level controls like Level streaming, Player/AI Controllers for Entity interfacing, and obviously, it's own system for handling Objects and Entities. These are also implemented with different Networkinf systems in mind, so that there is no need for the user to stress about networking development. *Engine Modules
The whole framework comes together by having the Framework Engine hold all the Modules that power the game. The Engine interfaces with these modules to Initialize and Update the game. These are what would be accessed through the Runtime code, where you would create Runtime State Classes to control the base game flow, and then use the Engine Modules to create gameplay.
- In The Future
We plan to create a tool within Unity that mocks Construct's Event Sheets, with functionality akin to Playmaker. This would simply be a graphical interface on top of the current Runtime class, that would allow visual modification of it.