Alec Wolf

Team Size: 3          Duration: 5 Weeks          Role: Lead Programmer

A 2D web-based puzzle game in which you play as a ghost who must use their scare energy to possess, move, and scale objects in an old mansion in order to help a child ascend through each floor and retrieve their lost balloon from the attic.

This project was developed in Phaser3 using JavaScript and GitHub for version control. This project also used the Matter.js physics library. As a shorter project with a team where we were all fairly new to game development, we really wanted to push what we were capable of but still keep a reasonable scope with backup plans for if we were unable to execute all of our desired features.

My Contributions


Custom Level System

A system for loading in levels our designer created in JSON format as well as managing resources. Level sprite assets are loaded and displayed as they become visible with the ascent. When level is changed the physics calculation is disabled for the previous level and physics bodies are created and enabled for the new level.


AI Finite State Machine

A simple state machine for the child character to wander the available space taking into account the obstructions the player moves around, run to hide and glance back frantically when scared by witnessing ghost activity, and run to the level exit when the path is cleared.


Physics Wrangling

Setting up all of the physics objects that were generated, refactoring when switching from Phaser physics engine to Matter.js, and fiddling with variables for the best movement feeling with different scales.


Character Movement

The interpolation and direction changes used for the kid and the ghost’s movement to give the kid a solid, tangible feeling in the level and the ghost a light floaty feeling.