Project Architecture
Last updated
Last updated
Broadly speaking, the modules in Rocky Rampage is divided into the following:
Gameplay (input, game loop, physics, camera, entities, etc)
UI (user interface, menu, etc)
Systems (managers, data, persistence, etc)
Support System (audio, ads, analytics, etc.)
Tutorial
We use multiple Architecture principles within Rocky Rampage, which depends on the relationship between modules (see the diagram)
UI <-> Model are using Model-View-(Reactive)Presenter relationship.
This means that the view (View part in UI) should not be able to modify data in Models.
Views are modified by either data-binding or manually called by the Menu.
We heavily use UniRx for this, mainly for data-binding and handling events.
Gameplay <-> Model are using Unity's component based system.
This means that the view and logic part of Gameplay are modified within the gameobject or prefab.
Model will supply the data for Gameplay objects