Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.
Chad Wolfe edited this page May 24, 2022 · 1 revision

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.

Clone this wiki locally