Project: Stella's Quest

Project Description

Engine: TGE (school engine) / Unity (editor)
Duration: 8 weeks
Genre: Adventure

Contributions

  • Scripted event system
  • Unity tools for Level designers
  • Export/Import pipeline of scripted events
  • Camera controller
  • Collectables

Scripted Event System

I started implementing a system that could handle different scripted events. For example, when the player walks on a selected tile:
-> The player is forced to walk to a specific tile
-> Enemies spawn and doors close
-> Once all the enemies have been killed
-> The doors opens

I realized that this logic could be abstracted to having different "Actions" that were activated on command. The core of the system is having a base class called "Action" and have different behaviors derive from this class.

At the moment an action is executed it will register itself to a container that handles the execution of the current active actions. The action will then update until it thinks that it doesn't need to update anymore, meaning the action itself decides when it will stop updating. 

The system becomes more useful when implementing different "Composite Actions", such as "ActionSequence" and "ActionDependency", the first mentioned simply updating the actions in order and the latter updating all actions at once until all have finished executing.

The above problem could then be solved using an "ActionSequence" that contains the behaviors in order.

The first part of the sequence in action

Unity Tools

The scripted events in the game was created by level designers as it created a more modular pipeline. The level designers could select different events to happen when the player walked on specified tiles. 

Level design tool in Unity to create an Arena Event

The data was exported to the TGE project to create the corresponding actions.

Camera Controller

The game's levels typically employ a top-down camera following the player. However, the dungeon level features a static camera that transitions between rooms as the player enters each one.

Transitions between the camera modes was also implemented, however not utilized in this game.