Level 19 – Homeworld Remastered


I have not been excited for a video game release for quite some time, but when this was announced I was excited.

When I played the original Homeworld in 1999 I loved it, even though I could never get past the 6th mission at the time, it’s a game that’s stuck with me since.

This game with the new engine is simply stunning. The visuals are incredible, the cut scenes are re-mastered and the sound quality is excellent.

Finally Homeworld still has one of the best stories ever delivered in a RTS, it’s hard to describe it without spoilers so I won’t, but I can’t think of another RTS that does the story aspect this well.

An interstellar achievement of a game, thank you Gearbox for bringing it back.


[Marketplace] GMH: Canvas Companion

For almost a year now I have maintained the GameMaker: HTML Extension, I’m very excited to say that it is now available from the GameMaker Marketplace under “GMH: Canvas Companion”.

Wait a second, does this now mean that it costs money? Nope! As promised I have kept the extension 100% free and the source code is still available on GitHub if you are into that sort of thing.

So what does it do? Canvas Companion allows you to add snippets of HTML code (Such as a YouTube video) directly into your project without ever leaving GameMaker.

slide1 Continue reading

Mint – Preview of the new ‘Blue’ Steam UI

The Steam Database posted some mock-ups of what the Steam store will look like with the new theme that is currently in development. Out of curiosity I wanted to know what the whole thing would look like inside the updated client (that is currently available in the beta channel).


All over I think when it’s finished it’ll be a nice improvement over the current one which is, in my opinion, a little ugly but immeasurably better than what it used to look like.


Who could forget that nasty green colour?

Blue is in to stay, what do you think?

Cookie – Stop GameMaker deleting skins when updating


GameMaker’s auto-updater has its issues, but deleting your customs skins shouldn’t be one of them.

One of GameMaker’s hidden features is that it has two folders on your computer. The first folder stores the main program that gets overwritten when you update. The second folder is where you can keep all your skins, tutorials, extensions and DnD libraries safe from the evil auto-muncher.

So the folder where the main components of the IDE are is located at


Don’t store anything here, it won’t survive. The place you should put it instead is:


Which will save you from ever having to worry about it disappearing again!

Cookie – Surfaces in GameMaker: Studio


Getting started with drawing to a surface in GameMaker can be scary, especially when you see all the warnings and mystical properties that are associated with them.

The good news is that in reality, there isn’t really that much to them. In the latest release of GameMaker 1.3 the main draw area IS a surface. So you’re working with them already, you just don’t know it.

The main thing you have to remember about surfaces is they aren’t guaranteed to be there, just like biscuits in a biscuit jar, so you have to check they exist before drawing (or eating).

So to get started with surfaces you have to create one, if it doesn’t already exist that is!

 if (!surface_exists(surf))
     surf = surface_create(width, height);

Then you set the target, all drawing after this will be done to the surface.

// Here you just draw as normal
// i.e draw_sprite(sprite, subimg, x, y);

Then once you’re done set it back to the application surface. (The standard draw area)


Finally you draw the surface to the screen.

draw_surface(surf, x, y);

You can download a example of this from GitHub, just navigate to the page a click “Download Zip”.

So really drawing to a surface isn’t difficult, it just takes a little getting used to. Still have a question? Leave a comment or go ask the very helpful folks at the GameMaker Community.

Just 21 – Release

‘Just 21’ is a game I started working during the middle of last year as a mobile HTML5 game, however I hit a couple technical difficulties at the time and set the project aside. I recently came back and re-worked the project for Android and iOS. At this stage I’m not planning on releasing a HTML5 version, though it certainly is a possibility for the future.


Initial Prototype


Final mobile HTML5 version









When updating the game I thought that by using the existing codebase I wrote last year would help save time, which in hindsight was a mistake. When I worked on the project last year my goal was to finish it as quickly as possible which meant most of the code was uncommented and had magical properties.

‘Scipt’ what was I thinking?
If I ever see this comment in a project again I might build a time machine, go back in time and drop a brick on the person that wrote it.
The rest of the project went fairly smoothly though, I increased the resolution of the assets, added in an online highscore board and a nice help screen.

Final release mobile version

You can go get it now on either Android or iOS:

Android app on Google Play

If you have any thoughts please take a moment to let me know on Twitter or leave a comment below.

Rotated Hexels!

So today I finally decided to pick up Hexels, which is a neat little tool to make minimalistic artwork. However I needed a rotated Hexel for my current project, which needed to be defined via the custom-shape tool. (Thanks to YellowAfterlife for pointing that feature out)

Quick mock-up demonstrating rotated Hexel
If you need this for one of your projects you can download it here (EDIT 22/5/2014 – Hexels now includes rotated hexels as a preset, you can find it in the custom shape section). Happy Hexeling!

GameMaker: ThreeJS Extension & Demo!

Those of you that follow me on Twitter will know that I’ve spent the last week working on integrating the ThreeJS (r58) library with GameMaker: Studio. Now if you are already bursting with excitement you can skip to the end of the post for a link to the working demo!

The most awesome thing about this extension is that you can still do all your input control, AI and GUI though the GameMaker canvas. I’ve done this by using the CSS attribute z-order to “stack” the GameMaker canvas over the WebGL Renderer, I’m not sure this is the most conventional way to achieve this but it was easy to implement and seems to work fine.

At the moment you can draw cubes, spheres and create lights however I plan to extend the extension over the coming months to allow custom models (.obj) to be used and textures. This is going to take a bit longer as I don’t have a huge amout of free time at the moment, so I decided to release it as-is and as the extension isn’t minified you can tweek it untill your heart is content or I release a update.

At the moment the following functions have been integrated, you’ll notice that some of them still aren’t complete. e.g. Lights don’t have a id yet so they can’t be deleted which I plan to add at a later stage, once I work out a solution to clearing scenes without creating memory leaks.

Finally my personal favourite the ability to still be able to use GameMaker’s room editor for level design, here is what the current demo level looks like:

That about wraps up everything, so how about trying out the demo? (Requires: Google Chrome)