Update (10/20/19) TQ game demo was updated with two more levels and items. Previously I developed a new debug system to catching bugs in the game and it has proven extreme helpful. we all like games with cheat codes right? 



Treasure Quest Update (07/18/19)

First temple completely finished with a Boss fully programmed with attack states. Decided to preview the full game run through of the new temple and boss.

Preview here:


Treasure Quest Update (07/17/19)

Went live on YouTube and started building something massive that changed the outlook of the game. With the fourth section of equipment jewels had to be made. Started developing a jewel system through programming and building 3D models of the jewels and turning them into UI elements.
Preview here:


Treasure Quest Update (07/10/19)

Finished the model of the first temple and fully programmed a carrying system that allows the character to pick up objects and sit them down or throw them on switches. All obstacles are fully programmed and some puzzles are solved by using the demon mask item.


Treasure Quest Update (07/28/19)

Continued building the first temple level along with composing epic boss music that will play when fighting the temples boss. Preview here: 


Treasure Quest Update (06/10/19)

Started modeling the first complex temple to beat in the game. Composed the levels music with a "ruins" type vibe. Demo here:


Treasure Quest Update (05/16/19) Fully developed Shop System with talking people: I had a code block for 2 straight days. I broke another wall learning more code as I go.


I felt like my game needed more to the story, I wanted interaction objects that would hint different item locations and areas to explore. I built a journal system that records the players interactions with specific objects so the player can look back at it for sub quests in the game.

Created powerful items for beating the main temples in the game. achieving all of them would unlock the last area in the game, where you would obtain the most powerful item of them all.


I learned more about delegates, Unity Events and Unity Actions and I built the entire UI interface of the shop system.


What exactly happens when I drop a person into 3D space? I can set in the inspector what town and if the person acts as a shop.


When shopping and depending what town, will bring up a variety of items you can buy.


There are 6 slots that are assigned "when talking" immediately in code. It then selects and detects any item I want. The price, a discount, a sale of the week, a special item.


This tells the player that this town has this item on sale where the other town has it for full price.


Also when you buy the vitality the dialogue changes as if the shop keep recognizes you. During night the shop closes and kicks the player out from of the shop and closes the door.


A dialogue message pops and says it opens at 6am. During night time the people that wander around say different things than they would during the day.


Want to Contact me? Please visit me at Facebook, Instagram, twitter or YouTube. at these following links!






Want to Play Treasure Quest?

Download the demo at Itch.io




Meet me locally at gaming events in Halifax which includes:

GDA - Game Dev Atlantic 2019

Volta Labs - Global Game Jam 2020

Halcon - NSCC Game Development Program Sponsor 2019.

CGX - Canadian Gaming Expo and Dev Talks.

© 2019 Michael Wills

Programming Unity C# //

Here's a preview of some code, I decided to use my updated scripts from my current game Treasure Quest.

FYI: Most of my coding structure is based off object systems (EX: Character System, Enemy System, Item System.) Each script would categorize in its own section in the game and methods would be called from each one if one of them in the game would interact. Each system script can contain from 800 to 6365 lines of code.

Interface & Inheritance //

ISwordHittable Interface is called from sword system and enemy system

When sword object collides with an object inherited with ISwordHittable

Message "OnGetHitBySword" is called to enemy system On Trigger with sword causing damage 

Enemy system inheritance 

Singletons/Static variables //

Static variable booleans in character controller  

Static variables are used to cease movement players camera if any one static bool is true.

Loops(whiles, For & Foreach) //

Foreach being used to set active an array of game objects

While loops to create pulsing sprites or text in the UI

For loop adding an array of Unity event button listeners to my shop system

Enum & Switch //

Switch statement using enum to select Item for Shop System

Serializeable Structs //

Serializing a public struct enables a menu in unity inspector for accessing sprites directly

Unity Events and Actions + Delegate //

Assign the unity event handler to an array of buttons, adding listeners that run a delegate 

Assigning a unity action variable to the add listener for purchasing Items

System Collections IEnumerator and Coroutine //

IEnumerator fade image method for black screen transitioning

Instantiation //

Enemy territory activator instantiates enemies in a section when player enters a trigger