Game Overview

Game Structure

The game starts from the Game scene located in the Jumpy/Scenes folder.

Prefabs are located in the Jumpy/Resources/Level folder and are loaded from scripts at runtime.

All game UI prefabs are located in Jumpy/Resources/UI and are loaded from scripts at runtime.

All game sounds are located in Jumpy/Resources/Sounds and are loaded only when needed.

All game graphics are located in the Jumpy/Graphics folder which contains the following subfolders:

  • Animations - all animations from the project.

  • Chicken - contains the 3D object for the player.

  • Fonts - game font.

  • FX - materials and textures used for in-game animations.

  • Icon - game icon.

  • Sprites - all textures used in the game.

  • UI - all textures used in-game UI

All game scripts are located in the Jumpy/Scripts folder.

Scripts

General purpose scripts

GameManager.cs

Contains references to the important project capabilities.

All plugin initializations should be made here.

HelperMethods.cs

Contains methods that are not game related.

SingleReference.cs

Singleton template for Unity - only one instance per script is available.

Animation Scripts

AnimatorEventsTrigger.cs

This is added to any animator state and triggers when that state exits.

TweenManager.cs

Used to make animations from code.

Input Scripts

UserInputManager.cs

Listens for button pressed events, and triggers the corresponding events to UI.

MyButton.cs

Replace the Unity “Button” component on every button with “MyButton” to automatically send events to UserInputManager.

Sound Scripts

SoundLoaderManager.cs

All game sounds are played using methods from this class.

Save Scripts

GameProgressManager.cs

A proxy class between game save and gameplay scripts.

Contains all values that are needed to be passed between game scripts.

SavedProperties.cs

Contains all variables that will be saved when user quits the game.

UI Scripts

AssetsLoaderManager.cs

Loads and unloads all game UI.

GenericInterfaceController.cs

Contains all methods needed to load and interact with full-screen UI.

It is an abstract class that needs to be implemented by all full-screen UI scripts from the game.

GenericPopup.cs

Contains all methods needed to load and interact with UI popups.

It is an abstract class that needs to be implemented by all UI popups in the game.

InGameInterface.cs

In-game full-screen UI.

Handles UI display and listens for clicks.

Implements GenericInterfaceController.

LevelCompletePopup.cs

End level UI.

Handles end-level UI and listens to clicks.

PausePopup.cs

Handles in game pause popup.

TitleScreenPopup.cs

Handles the main menu UI.

Gameplay Scripts

LevelManager.cs

Loads all level scripts.

Handles player interactions.

Updates level camera.

Generates power-ups.

Checks for level complete.

LevelBuilder.cs

Loads all background prefabs.

Updates level looks based on player position.

LevelObstacles.cs

Handles all game obstacles.

Player.cs

Controls player position, animations, colliders and physics.

Alignment.cs

Helper class to arrange an object at any corner of the screen.

Corn.cs

Controls the corn power up.

Cylinder.cs

Handles the bottom cylinder.

Last updated