Object Pool

op_banner

In an attempt to make my current and future Unity games more efficient I developed an Object Pooling runtime utility, so rather than instantiating and destroying objects as they’re needed, the object pool will recycle existing objects as they’re no longer required. For the sake of convenience the Object Pool class is based off of the Singleton pattern, so to use it you don’t actually have to place a Game Object with the Object Pool component on it in a scene to use it. However, if you want to pre-load the Object Pool with prefabs you can, this does require you to manually place a Game Object with the Object Pool component on it in the scene in order to populate it in the hierarchy window.

For the sake of convenience, the Object Pool class uses functions that are almost parallel to Unity’s Destroy and Instantiate functions. So rather than using ‘GameObject.Instantiate’ you use ‘ObjectPool.Spawn’, with the new function returning a GameObject and its arguments mirroring those of the default Instantiate function. As for the ‘Destroy’ function, you can instead use ‘ObjectPool.Deactivate’, this function has two different sets of arguments, the default being to deactivate the specified object immediately, and the other being to deactivate it after a defined number of seconds.

Asset Store Page

Drop to Surface

dts_banner

While I have been working on environments/levels in Dragonspawn 2 I found that I was having to place significant amounts of clutter objects by hand, and as I’m sure many level designers know, that can involve a whole lot of up close fine tuning of positions to ensure that different objects actually look like they’re sitting on a surface and not floating above or clipping through them.

This got me to thinking, what if I could just press a button and use a Physics Raycast to project downward and have Unity do the rest of the busy work for me?

In the end I wrote a neat little Editor Utility that used a Raycast in conjunction with the collision bounds of an object to determine where the object needed to be placed when ‘Shift + D’ is pressed.

Asset Store Page

Mage Rage (Game) – University Assignment

Mage Rage Logo created by Ashleigh Barrett, Team Stallion Logo created by Tylah Heil.

Over the past 15 weeks I have been working along with three others on our final Game Project for our Degree. Throughout this Project I have worked on Level Art, Gameplay and Technical Programming, Audio Mixing, and recorded various dialogue for different characters.

Mage Rage is a First Person Puzzle Platformer set in a world of magic and mystery, where not even the fourth wall can protect you from the alcohol infused shenanigans of the College of Sandy-Crack and its intoxicated inhabitants.

A Gameplay Trailer and Screenshots can be found on the Team Stallion Facebook Page.

Mage Rage is available on Windows, Mac, and Linux, and it can be downloaded from here.

Awards:

I was also nominated, and won the award for ‘Most Outstanding Gameplay Achievement’ for our Year Group at an awards ceremony held after our Demo Evening on the 25th of November 2013.

Additional Credits:

Ashleigh Barrett (Portfolio Link TBA)

Nathan Jensen (Portfolio Link TBA)

Tim Horvat (Portfolio Link)

Dragonspawn (Game) – University Assignment

Dragonspawn_Banner

Dragonspawn is a small game project that I created for my final Advanced Game Development Assignment at Griffith University during my second year.

Dragonspawn is a lighthearted parody on many modern games, and contains a fair bit of of crude humour, it should not be taken seriously and isn’t recommend for the faint of heart or serious of temperament.

Though largely inspired by the game Berserker Quest VI: Curse of the Onyx Medallion (http://armitagegames.com/), Dragonspawn borrows many technical design choices from the Borderlands, Call of Duty, Bioshock, Mass Effect, The Elder Scrolls franchises without directly trying to replicate any of those titles (except maybe in the area of the HUD). Early on the game just involved walking around shooting at a dragon that would fly through a large room breathing fire. As the game evolved through the production cycle many highly unnecessary game mechanics were violently cobbled on to ‘make it better’ (that was a joke).

This project was originally created for a University Assignment and all of the associated assets were created by one individual in an 8 week period.

Download Dragonspawn Here!

Created by Tylah Heil (http://www.tylahheil.com/).
Music by Kevin MacLeod (http://www.incompetech.com/).

Object Replacement Tool

ORT_Banner

Object Replacement Tool is an editor extension that I programmed for Unity 3D, it is designed to make replacing GameObjects in the editor a breeze. It replaces objects quickly and easily without the user having to reposition by hand. Just select an object (or multiple), drag in the replacement and hit the Replace button. It also features the ability to add objects without replacing the selected reference, and even allows for mass object placement at incremental position, rotation, and scale.

Asset Store Link: https://www.assetstore.unity3d.com/#/content/6472

Nuclear Bug Stomper (Game) – University Assignment

NBS_BannerNuclear Bug Stomper is a simple side scroller/platformer built in Flash using source code for what was a basic Super Mario Bros clone supplied to my class by our lecturer. The prototype for the game, including code and art was created by me using the aforementioned source code, however, for the final assignment we had to work in pairs of two and take one of our concepts (which ended up being mine) to the next level.

At that stage I was responsible for the Programming side of things, I had already prototyped a lot of the game mechanics which included the addition of the shooting mechanic, however collisions for projectiles didn’t work in the earlier build, so that was really the major element that I had to fix along with the construction of a simple reactive AI which had several elements of customisation (including: maximum health, passive/aggressive reactiveness, and patrol waypoints).

My partner for the assignment, Beth Thomas, was responsible for creating and adding additional art to the game while maintaing the already established Art style. She managed to create enough graphics to build a second level, and was responsible for the artwork of the entire second level, and the elevator at the end of the first level.

The source code for this assignment wasn’t without it’s bugs (though minor ones), one of which caused the player character to be launched across the screen at high velocities as though it were a bullet, thus breaking the game. I did however manage to isolate and amend the issue before we submitted our final build.

Nuclear Bug Stomper can be played here.

Programming by Tylah Heil.
Artwork by Beth Thomas & Tylah Heil.
Music by Kevin MacLeod (http://www.incompetech.com/).

Pivotal Punishment (Game)

Play Pivotal Punishment Now!

Pivotal Punishment is the first iOS game I ever worked on prior to starting my Degree at University. It was, until recently available on the iTunes App Store, it has since been removed due to expiration of my App Store Developer Membership.

The concept of Pivotal Punishment was simple, rotate a giant ring with a weird little guy strapped to it around an axis and avoid various exploding objects all while collecting shiny gems. When I initially began production on Pivotal Punishment in 2010 I had very little games Programming knowledge, and wasn’t very good at 3D modelling, after about two months of learning Unity 3D’s interface and JavaScript/UnityScript I had built a bare bones version of the game and released it for testing among my Facebook contacts. After receiving feedback from several of them, I returned to working on it, amending bugs and implementing better graphics (they’re pretty awful when looking back). The game was finished in early 2011 and released soon after (despite many minor setbacks).

Despite no longer being available on the App Store, you can experience Pivotal Punishment’s one thousand pound metal ring and ten billion kilowatt incandescent quantum space hole here.

Created by Tylah Heil (http://www.tylahheil.com/).
Music by Kevin MacLeod (http://www.incompetech.com/).