This project is read-only.

Project Description
Source code for the game HeroBird

HeroBird Source Code (v1.2) - John Russell Ernest (

This is the source code for my game HeroBird, which I am freely distributing as a learning tool for those who wish to delve in and learn a few things about Unity3D, game development, and C#. I am moving on to other things, namely I want to get into App development with Unity3D and creating 3D Data Visualization Controls for practical cross-platform 3D Apps that I think will be useful.


One of the most important (and admittedly in need of refactoring) pieces of code is GameMaintainerSingleton.cs in the main directory, the whole thing needs better organization, which I've incorporated in future projects, but this was a first go at a production game, so there are always lessons to be learned in the process, the important thing is to not fear delving in.

GameMaintainerSingleton is a singleton instance (meaning there should only be one of it throughout the whole program, though Unity plays with that a little wonky hence my scripts to delete older instances of objects) that I keep many of the mission critical things going in the game in, like the life counter, score, high score uploader, UI code, etc.

Also you may see in places that I started out with Nintendo sprites to plug and play to get a general gestalt of what I wanted, then I painted my own sprites in place of old ones. I find this to be a good creative process when you're getting a general feel and want to get your code going and know it's working before you dig in and work on the art. So all of the art ended up being my own original work, as well as the music and sound effects, which took an exceedingly long amount of time to do, but very much worth it I think.

The sound effects were done using LMMS with VeSTige bridging to the VOPM VST (Sega Genesis VST plug-in emulating the YM-2161), exported to wave format, lots of playing around. The music was done in Fruity Loops with the Massive VST and other plugins.

Get in and look at the scenes. Another thing with Unity3D is that everything cascades off the first (title) screen, which I used GameMaintainerSingleton it caused me issues in the editor trying to start the game from the main scene, and I'm still not entirely sure why that happens, so play test starting from Title when debugging.

You may feel free to use parts of my code in your non-commercial personal projects, but be accountable and give credit where credit is due.


Last edited Sep 2, 2014 at 5:08 AM by johnrussellernest, version 4