YoYo Games

I started working at YoYo Games in June 2011, at the age of 20. At the time it was a very small company with about 10 people working out of a small office space (more like a corridoor) in Dundee's Abertay University. I moved from England for this "dream job". By the time I left the company had grown to around 50 people, in it's own, much bigger office space ofcourse.

During my time there I worked on many games, too many to count. Some original, but a lot of what YoYo Games did was publishing independent games, or helping independent developers using YYG's dev tool, GameMaker: Studio, to publicise their game. For me this meant I got to work on a lot of big popular indy titles, sometimes I had to fix and/or port many games a week, especially when some show or conference was coming up.

They Need To Be Fed


The first game I worked on was called They Need To Be Fed, created by Jesse Venbrux. The task was to design and create several new game mechanics to be used in some new worlds in the game. I done all the programming during this task and a lot of design and concepting. We had to communicate the ideas with the developer, who had a veto on them, but were otherwise left to do what we wanted. This led to 4 unique worlds going into the game. They Need To Be Fed was generally a success, being front page on several storefronts, and being a launch title on the original Xperia Play. In my time there I helped port it to most devices; Android, iOS, Windows 8, Mac, HTML5, Facebook, Chrome Apps, etc.

Gravemaker


One of the biggest projects I worked on in a major design role, and full programming role, was a game designed for Facebook called "Gravemaker" (A play on words with YYG's "GameMaker" that stuck). It started life as a desktop program to demo isometric depth sorting, but became a from-the-ground-up rewrite for HTML5 (HTML5 was new at this point) that had to be highly optimized for the web. I spent a lot of time on the optimization, to the point where the HTML5 version was running faster than any native version. This was a long term on-off project that never really got finished, yet everyone was fond of it.

Your World


Your World was originally started by YYG's Mike Dailly (of GTA and Lemmings fame) as a personal project to port GTA 1 levels into a GameMaker: Studio game. It was decided that this would be a good open-source demo and it was handed over to me to change it to such and continue to add features. At it's core it's almost a geometry-rendered voxel engine, the world is made up of blocks, and textured correctly this creates the buildings and roads.
To this project I added detailed vehicle physics (using box-2d), traffic AI (can drive around indefinately, stop for other cars on intersections, and even park!), pedestrian AI (walks on paths and avoids cars, and panics if you bump them.) and a working missions system. Really it was a rather advanced and unique project, but it was dropped due to an overload of other work.

YoYo RPG Engine


YoYo RPG is an open source project, meant to be a good template for building an RPG game in GameMaker: Studio. It featured movement, collisions, combat, store and an abstracted missions system. I done all the programming with some design influence and worked closely with the artists and the level and missions designer. We were left to do this project our way. The result was a promptly finished, well recieved project, with lots of praise for well documented code for which I'm gratefully proud.

Simply Solitaire


Simply Solitaire was actually created before I joined YoYo Games. But it was handed over to me quite often for fixes and porting as it was by far YYG's most profitable in-house game and so was desired to run on every device/service we could get it on.

Reflexions


Another game that I didn't create, but was still responsible for maintaining was Reflexions. This game often required fixes, optimizations and porting.

Indy Games

A lot of what I did was porting independent games to various devices to show them off at upcoming shows. This started with just iOS and Android, but later to consoles PS4 and Xbox One.

These are just some of those games:
  • Stealth Bastard (by Curve Studios)
  • Cook, Serve, Delicious (by Vertigo Games)
  • Valdis Story (by Endlessfluff Games)
  • Maldita Castilla (by Locomalito)
  • Nidhogg (by Messhof)
  • Another Perspective (by Shaun Spalding)
  • Tiamat X (by BBQ Games)
  • Savant - Ascent (by D-Pad Studio)
  • Gunpoint (by Suspicious Developments Ltd)
  • Death Ray Manta (by Bagfull of Wrong)
  • Super Crate Box (by Vlambeer)
  • Home (by Benjamin Rivers)
  • Castles In The Sky (by The Tall Trees)
  • Nuclear Throne (by Vlambeer)

Independent

Indpendently I do a lot of different projects, both 2D and 3D, often preferring to work in a team as a programmer. When I'm not in a team I'm also capable of doing my own art. I'm confident in pixel art when it comes the characters and animations, but am able to do vector in the cases of puzzle games, for example.


I enter a lot of game jams and usually place highly. Game jams that I have entered include; GameMaker Community Jam, various itch.io jams, gamedev.net's Week Of Awesome and Ludum Dare.


I love to push and extend my knowledge whenever I can. So when I'm not making small games for jams or mobile release, I'm working on big projects where I can try out new ideas and technologies. To this end, over many years, I have developed several voxel-based engines with each improving on the last, and I consider this a specialty of mine having learned a lot about; getting the most of as little memory as possible, quickly iterating through vast areas data by optimizing most of the iteration away, and manipulating the end result with shaders. See my game Terrablox for the current state of such an engine, and I still have new ideas for improvement.

Languages

I'm well practiced in general programming, with a good understanding of networking, databases and server-side scripting. Due to my time at YYG my main strengh is GML, but here is a list of languages I am confident in:
  • GML
  • JavaScript (inc. jQuery, AJAX)
  • Lua
  • HTML
  • CSS
  • PHP
  • mySQL
And languages I've used before and have understanding of but wouldn't say fluent:
  • C
  • C++
  • C#
  • Java
  • Pascal
  • Visual Basic

Web

Another thing I love to do is create websites and web games/applications. And I hope to fill up this section with more examples in the future.


This website was created by me. I also created the websites for my publishing name brixdee.com and my game project terrablox.com.

I'm also working on a text-based online web game. It's based on a game I played many years ago (pre-2004) that no longer seems to exist. I can't find anything similar in this day and age. It's interesting because it has a persistent world but no dedicated server, only a database. Using tricks in PHP I can run the game tick on the server on the back of client updates/requests, the game tick also has time-catchup. So as far as the user is concerned, times passed and passes normally, even though nothing happens if there's no users online.