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.
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.
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.
I recently released a new Editor Extension for Unity, though simple, this extension adds handy icons/asset previews alongside the names of objects in the hierarchy window. The extension is designed to improve workflow by giving users a visual representation of their scene objects inside the hierarchy window.
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.
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.
Nuclear 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.
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.
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.