Treasure Haunt

Swipe as many treasures as you can in this arcade runner for iOS and Android

Treasure Haunt for iOS and Android

About Project

Treasure Haunt is a 3D arcade runner for iOS and Android developed in Unity.

App Store

Play Store

Treasure Haunt

The Challenge

How might we revive an arcade classic and add a new dimension of gameplay?

Treasure Haunt | Official Game Trailer

My Roles

Treasure Haunt was created, designed, and developed by me from scratch in Unity. The game was coded in C# and characters were modeled and animated using Maya.

Prototyping icon

Creation

Creation of gameplay concept, art, and format.

Prototyping icon

Development

Development of character controllers and game prototype in Unity.

Prototyping icon

Animation

Animation and character modeling in Maya.

Prototyping icon

Testing

Unit testing and beta deployment on Test Flight.

Tools

Here are some of the programs I used on Treasure Haunt. The game was developed in Unity from scratch. Photoshop was used for textures and Maya was used for modeling and animation.

Unity

Unity

Maya

Maya

Photoshop

Photoshop

Visual Studio

Visual Studio

Photoshop

After Effects

Apple

App Store Connect

Google Play Store

Google Developer

C Sharp

C#

Design Process

Here are the steps I followed to take Treasure Haunt from initial concept to shipped title on iOS and Android

Concept

First I brainstormed the initial gameplay and created concept art.

Development

Next I developed a prototype character controller and level structure. A few iterations of the character controller were tested before deciding on the final implementation.

Animation

After the game was working with character controller capsules and placeholders, I modeled, textured, and animated the characters and UI.

Testing

Once the art and assets were implemented and coded, I began Test Flight distribution amongst friends and colleagues. Some minor issues were fixed and enhancements were made before the official release.

Concept + Creation

01

The concept of Treasure Haunt came to me while playing Crossy Road- the massively successful endless arcade game developed by Hipster Whale. Crossy Road is essentially a 3d remake of Frogger, and is one of the most highly downloaded games on the app store. After playing I thought, "what other classic arcade games could be re-made in 3d?" Pacman was one of the more popular games that I really enjoyed playing as a kid. And the directional movement mechanics of Pacman lended itself easily to compatibility with the "swipe" feature of smartphones.
One issue I faced was that I did not want to make a complete copy of Pacman. I decided to add a twist to the original game by adding a jumping mechanic when the user taps the screen.
I also wanted to add a sort of "story" to my game, as the idea of being a large yellow pill-gobbling head did not really lend itself to be "kid-friendly". I brainstormed potential replacements for the "pill" objects- candy, orbs, etc. and eventually decided that the idea of collecting treasure in a haunted house could be fun.

Development

02

Once I had the main idea of the game down, I set out to developing the character controller and game mechanics. I started with the built in rigidbodies and gravity provided by Unity, but the built in physics engine was creating some wonky results. Ultimately I settled on building the controller from scratch. I used an IEnumerator for the swipe directions which would be input by the user. Then I programmed the controller to take the input and evaluate it at every intersection. Each time the character moved, it would raycast 2 units in each direction and evalutate if the character could turn or not. If he could, the character controller would rotate to desired direction, and the character would move at an even rate towards the new point until the distance from the point was 0 (or near 0). Finally I had to create the AI. For the basic movement, I reused the same character script, but changed the inputs to calculate based on rules. Each of the enemy AIs were based on ghosts from the original Pacman. The final results were surprisingly effective and easily programmable. Finally I added the jumping mechanic. The jumping was similar to other games where I used a boolean for requesting the jump, a collider for detecting ground, and some basic math to calculate the jump height and falling rates.

Art + Animation

03

After the prototype of the game was coded, I began work on the 3d models and animation. Because of my background in animation and Maya, this step was pretty easy. The main character was modeled, UV'd, and textured in a matter of hours. Once the character was ready, I began the animation and a little bit of cleanup on the rig. The animations were then imported into Unity where I coded the interactions using Unity's Animation State Machine. Once the game was complete, I also used Cinemachine to create a small animated promo.

Testing + Deployment

04

After animation and coding were completed, I deployed the alpha release to TestFlight. I invited some friends and family to test the app and gathered feedback. Pretty much everything was stable. The only issues I faced were some UI display issues on different sized phones. The fix was quickly patched and I released the game in June of 2019. A few UI upgrades and new levels were added to version 1.2 was released on October 31, 2019.