Description


  • 6 Weeks, 50%
  • Unity -Android

In Ghost Grab you play as an Enchanted Hat brought to life, named Hatsu. After accidentally spilling out ghosts across different dimensions it's your job to catch them all again.


Push blocks to clear a path for you while avoiding dangers and attempting to set Highscores.


The game features 3 vibrant worlds with a total of 15 levels, with new tricky Mechanics being introduced throughout the Game.


(Click to Enhance)


- Development -

Logo

Working with Mobile Games
This project stood out from all others due to being targeted towards mobile devices. While it was entertaining with something completely different, it also came with its fair share of issues such as performance, UI scaling, and playtesting in an .APK emulator.


Nonetheless, it was a fun project made together with fun people and we overcame the problems that stood in our way.


Overall I'm proud of our work, we achieved such a grade on the Project that we were allowed to upload it to the Google Playstore. Thereby immortalizing it by making it publicly available.


- My Contribution -

Collision Logic

One of the main features I made was how we detect and handle collision.

Pictured above is the Raycasting system the Player, Ghosts and Blocks use to detect walls and pushable objects. The system works by checking recursively in the direction that the player is pushing towards, seeing if any of the rays reaches a wall or a block that they can't push. This data was then returned to the player, containing if they could or couldn't push in the desired direction and what blocks they should push.

If the push was allowed, we move all the relevant pushables in that direction, and if not; we play a denied animation and make all of the pushables that led to a wall shake for a small duration.

Environmental Objects

This includes a variety of different things:

  • Ghosts & Win Logic
  • Different Pushable Types
  • Buttons & Door Logic - Not mainly responsible

Audio System

A singleton-based system that handled all the audio. The other programmers could easily call a function for playing sound effects with modifiable parameters, and the Level Designers could control what audio clips to play when certain things happened. The nature of it being a singleton allowed us to seamlessly music inbetween scenes and levels, allowing for way better transitions.

Otherwise I also mixed the music and SFX in programs such as Audacity to equalize or shift pitch royalty free assets provided by TGA. As to better fit our Game.

(With Sound)

Text System

Just a simple system for displaying typewriter dialogue boxes.

Shaders

Using the Unity Shader Graph I created the Shaders for the Ghosts and the Jars, which were then modified by our Graphical Artists. Most of the work is done by a simple Fresnel effect which gives them their glow around the edges.

Other things I helped with

  • Buttons & Door Logic
  • UI & Menues
  • Scene Transitions
  • Particles
  • Navmesh
  • Cinematics

- Co-Workers -

Easter Egg!