Personal Details
Contact
Schools and Universities Attended
Scottish Standard Grades – 2002
Scottish Highers – 2003/2004
University of Abertay-Dundee
BSc Computer Games Technology with Honours
Additional Qualifications
Job History
Current Skills
API Experience
Professional Platform Experience
Homebrew Platform Experience
Credit: Lead Engine Programmer
Going back to Switch, we updated it with some of the fixes we had done with The Best Christmas Game Ever and Tiny Gems to release it on both Android and iOS with the ability to remove Ads, and a cleaned up system to hopefully run on more devices and in a more Android-friendly manner.
Credit: Lead Engine Programmer
I again rewrote the Android system to match better with how the Java side works, to ensure we can target down to Android 2.2 onwards. This involved cleaning everything up and modularizing the code base so we can drop in features of later versions of Android, as well as drop in various libraries without too much damage to the rest of the system.
I also continued on the iOS system, to ensure we can use as much of our C++ engine as possible, and abstract the underlying system’s Obj-C from the rest of the team.
Jumping from Android to iOS, I wrote the initial iOS system and brought the game up as quick as possible, matching close to the current Android system as I could to allow the game programmer to only deal with one interface as much as possible.
I implemented support for everything from iAds and In-App Purchasing, to Game Center’s Achievements and Leaderboard support, as well as detecting the various different iThing platforms ( iPod, iPad, iPhone, etc.. ) and their resolutions to keep things as abstracted from the system as possible.
Credit: Lead Engine Programmer
I was responsible for engine clean-up and general rework from the experiences learned from Bang Bang Racing to help enable games to be created faster, and run in a more optimised manner.
I again worked on the toolchain to enable support for Android’s multiple configurations, and with the experience from Bang Bang Racing, rewrote our JNI and Android linkup code to be more compliant with the rest of the engine.
Credit: BBR – Programmer
Credit: BBR THD – Lead Engine Programmer
I was part of the team that developed Bang Bang Racing, and was responsible for the initial porting over to Android.
My THD specific tasks included setting up the toolchain, dealing with the JNI binds between native and Java code, ensuring that we were Android lifecycle compliant, and porting over or writing any system libraries that required it to run on the device.
I contributed some work at Abertay University on the “WhiteSpace” project with Networking, Database and CMS programming.
The Networking was between a Linux server and Flash client. The server also had to retrieve and update information from a MySQL database, which had a CMS front end for news, etc…
The Project was not completed, due to external issues.
I was Lead Programmer for Team Caffeine on Plight of The Weedunks
My tasks included ensuring the engine was kept in order,
maintaining a tool to convert COLLADA files from Maya into our Graphics Engine’s binary format and extracting additional properties,
gameplay scripting,
tieing together the Graphics Engine to the Game Engine via Lua Proxies,
anything else that generally needed done.
Although we were hit with some problems due to mis-communication, we ended up with a solid prototype at the end of the ten weeks, and are very proud of the final product.
Games Programming is inherently challenging and creative, which is something I love about it. There’s nothing better than solving a particularly nasty problem, with the end result being a unique gameplay mechanic that works and plays well.
For me, I love branching out onto new platforms and I’m an obsessive “technology fiddler” when it comes to gadgets; I will try and get my own code running on a device regardless of what restrictions are placed upon it! This has led me to become a better programmer in general, as most Homebrew requires very careful programming in confined environments, as they do not get the support that professional development environments give. This gives me the additional edge that I can work from a blank canvas, or adapt to existing frameworks when required.
I’m also not averse to building my own tools to get the job done, nor using different languages and find it easy to be able to switch mindsets when required.
As a mostly self taught programmer, I tend to be very independent and can be left to get a task done if need be; even if it involves going out of my “comfort zone” and researching new technologies and techniques. I also strive to make an effort in keeping the team involved and informed in what I’m doing at any time, and become fiercely committed to whatever project I’m assigned to. I will get the job done to the best of my abilities, which would include “crunch time” if necessary.
While the Games Industry continues innovating at the pace it does, I find it hard to keep up to date with all the APIs and platforms that come and go. However, I always strive to at least know the basics of anything that appears so that if I’m called upon to look further into it, I’ve always got some background knowledge and know where to look, and what to look for. As such, my skill set is constantly changing and evolving as I focus on different areas as the task requires.
It’s an exciting time to be involved within the Games Industry as new ground is broken every day, and I love being a part of it and contributing in any way I can.


