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



Devastation Log - 02/08/20 


  • Game now available on Steam and added 25 in game Achievements.

  • Fixed a bug when a player holds the slowdown buttons and dies, they stay slow when they start the game again until the slow button is pressed again.

  • Added when a player dies in survival on multiplayer, the person that died can spawn back after the boss is defeated.

  • Adjusted the difficulty of the enemies and bosses being much too difficult on insanity.

  • when a player is game over, the score display was "rude", created a game over state that waits a few seconds before score is displayed.

  • Added a feature to the special power up, you gain more score when "special" power up is active when you kill a boss.

  • Fixed a bug where only lives were given to the player when reaching a certain score. game detects if player is low on lives or bombs, if neither then a special power up is rewarded.

  • Fixed animation on the 9th boss showing off the screen in 1440 resolution.

  • Readjusted screen colliders so player and move closer to the edge of the screen.

  • Fixed a bug when 4 players beat the game, game would react in an infinite loop.

  • Fixed sound issue when 4 players played the shoot sound simultaneously was too loud over music.

  • Fixed a bug when playing multiplayer player can't take lives and come back to game, from people that have the same amount of lives.

  • Other performance tweaks.

[Known Bugs]

  • Gaining the multiplayer achievement can be obtained with 4 players by plugging in 3 more controllers and beating the last boss.

  • video background glitches and not looping seamlessly.


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.


It's been 4 months now since Halcon and I had built a game from scratch and released it on Steam, I feel proud of this because it's the first time I had done such an accomplishment, inspiring actually to see people purchase my game. I'm glad all the work I've put into my project had brought a great game experience to people. We both go home happy.

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!






Check out Devastation on Steam!

Want to Play Treasure Quest?

Download the demo at


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.

NSCC - Tech Connection Conference

© 2019 Michael Wills