Hourglass
Project TypeSide Project
Team Size7
LanguageUnity C#
RoleGame Programmer

Introduction

Hourglass was my graduation project. It is a game that involves travel through time and space. In the game, players have to go back and forth to solve puzzles in different time periods. There are many action elements along the way, making it a challenging game. My primary duty in the project was to implement gameplay features, including character movement, object interaction, and boss fighting. In addition, we introduced shaders to enhance the animation effect and make it more energetic. Besides developing systems in the project, I also learned to cooperate with other people who had different areas of expertise.

It is a 2D-scrolling puzzle game, about a scientist willing to restore the mistakes he did before. Players could travel between three different time period (past, now, future) anytime to solve puzzle, experiencing the story, seeing a village from flouring to destroyed.

plant-seed
swing-rope-1

Time Travel Mechanic

Time Travel Mechanic is the main gaming mechanism of the game. I designed a system to divide the three spatiotemporal scenes into different layers and manage them with a state manager that controls the game’s camera to choose which layer scene to view and hides scenes that do not belong in this spatiotemporal scene, thereby controlling and managing resources appropriately to boost efficiency. There are no cutscenes between the times and spaces in this system, making the experience smoother.

time-travel-1
time-travel-2
time-travel-4
time-travel-5

Boss Fight

I used the state machine’s design pattern to manage the boss’s AI for the boss level. It observes the current state of the boss and makes it behave accordingly. For instance, when the boss’s blood volume is about to run out, it will try to bite the rope that the protagonist is climbing to make it fall into the water.

boss-fight-5
boss-fight-2
boss-fight-3
boss-fight-4

Collaboration Skill

At first, most of my teammates did not have experience working with others on game development. We had at least seven members in our team, which made matters more complicated. We all conducted our tasks separately without much communication among us. This slowed the progress of our development. Fortunately, we were a team of dedicated solution seekers. We soon realized the problem and held several meetings to address the situation. We made some changes, such as using Trello to plan and track the progress of our work and help us understand what everyone else was doing. Such changes significantly elevated our work efficiency and helped coordinate our work.

willakelin@gmail.com