A downloadable game

Github Repo

Gameplay



Features

  • Level Editor

A level editor with custom tools to create different materials, enemies with AI pathing, load and save level files. Set the player start position and erase tiles.

You can easily add custom assets to the level editor by adding textures to the AssetConfig. This allows for rapid level building.

  • Scenes

The game has 3 main scenes. The main scene that the gameplay is inside of is the Play scene. The play scene handles collision, keyboard inputs, enemy AI, score and player states. The main menu lets the player select different levels and also displays the players highest score. The level editor allows for quick rapid prototyping of the levels.

Code snippets


The game engine class manages all the scenes and the life cycle of the game. It manages the scenes with a map containing all of them. It has functions to easily change to new or existing scenes. The game engine class also handles user inputs with an action system. allowing scenes to create new actions to key binds.

Entity Component System


Entities are managed by an EntityManager class. this class handles spawning entities, retrieving entities and killing entities. You can add different components to each entity which hold custom data that can be used inside scenes. Some of the components used in this game are Health component for handling player health. A transform component to keep track of entities position in the world and velocity. The transform component also keeps track of the previous position.