X

Frozen Echoes: The light within

School

2024

C#

Unity

About

Frozen Echoes is a story game about the self determination theory in psychology. The theory states that there are three intrinsic basic needs for a human being: autonomy, competence and relatedness. The game is designed around these three constructs and we added a bossfight as a way of overcoming your inner psychological battle. You go through three levels, where each level teaches you about one of the basic psychological needs stated above.

Info

  • Duration: 9 weeks
  • Language: C#
  • Tools: Unity, Custom Framework

Proces

For this school project we had 9 weeks in order to create the game. We decided to split the time up in weeks of three, whereby we took three weeks to design, three weeks to develop and three weeks of time to test, fix bugs and as a buffer, in case something went wrong along the way.

Design

The first week we focused on coming up with a concept and defining our personal goals for this project. We came up with a couple of concepts that all fit the same psychological theme. Therefore in week two, we decided on combining a few of the ideas and we came up with the final conept.

After that we focused on designing the levels, characters, gameplay systems, seting up git, the Unity project and we refined parts of the concept that where still a bit vage.

Framework

After three weeks, we started on the prototype, using a custom Unity framework for asynchronous programming and UI. Each level had its own 'bootstrap' (level manager) with necessary scene references, minimizing the need for Unity's 'SerializeField'. References, like players or Scriptable Objects, were placed in a 'Core container' and injected into the 'bootstraps' upon level load. UI canvases were also automatically injected, simplifying scene references. However, everything had to be loaded from the 'Services' scene, complicating testing since you had to manually adjust the code to specify the starting level.

We made a player that could move and interact, a portal that brought you to the next level, an audio system, a lot of shaders and VFX, a bossfight and all the assets and functionality needed for the individual levels.

After a bit of testing we had some great feedback and changed parts of the concept to better fit the expactations of our players. The last weeks of implementation we focused on the bossfight, bug fixing and finishing the documentation.

Result

What I learned from this project is how to program asynchronously and how to adapt my code style to work as little in the engine as possible.

Contribution

My responsibility for this project was to create (most of) the gameplay systems such as the player, the bossfight, an audio system, an interaction system, a pickup system, a small dialogue system, the functionality that was needed for each level and I helped writing the documentation for the project.

For the VFX and shaders we had a Technical Artist and the rest was handled by our designer or the framework.

Learning Resources