Awesome Free Programs for Game Development

So far, I’ve spent absolutely no money on my game, as I’ve been seeking out free options for everything that’s needed for game development. There are some wonderful options out there which emulate or even surpass more expensive options, so to help people out, I’m going to list some of the best pieces of software I’m using below.

Unity 3D Game Engine (Free Version) [link]


This one is pretty obvious – if you’ve played my game then you’ve noticed it uses the Unity Web Player. With the Web Player, you can easily deploy your game to your site so that your audience can play it straight from their browser. There are so many platforms ready to be deployed to: Windows, Mac, Linux, Android, iOS, Blackberry, Windows Phone 8, Windows Store Apps and, with special licences, even Xbox 360, PS3 and Wii. There are tons of features, the editor can be pretty much completely customised, and you can tweak stuff in your game then play-test it immediately, without the need to build the game every time you make a change. This is a great engine for speedy development, and while it looks pansy compared to the Pro version (or so I’m told, if anyone wants to fork out £1500 to buy it for me, I’ll love you forever), this is still a great place to start if you’re looking at starting out in game development. The community is very helpful too, and they’ll have an answer for any questions you have, plus their YouTube channel is full to bursting with videos on almost every aspect of Unity. Oh, and the red thing in the screenshot from my game is the player as viewed in Unity. I really need to get a player model done at some point.

GIMP – GNU Image Manipulation Program [link]


You may have heard of this, a free equivalent of Photoshop. It packs a variety of tools, brushes and wacky options I haven’t actually tried out yet, along with transparency and layering support and many different export formats. In short, there’s a lot here that you probably won’t use. However, it’s been great for me so far, and I’ve used it with every texture in my game. A good technique I use is to select one of the blotchy-looking brush shapes from the lower-right box, then on the left I turn the opacity down and the size up, then blitz over the image with a couple colours to give my image a more random look. Of course, if you have the funds, then get Photoshop, but if you’re on an extreme budget like me, this is perfect.

Bfxr [link]


This is great for making sound effects for your game. It is an improvement on another amazing program, Sfxr, and gives you a multitude of waveforms and variables to play around with. There are a few presets, seen on the left here, which generate a specific(ish) sound, or you can fiddle about with the sliders to get the sound you want. You can also mix sounds together, save and load sounds if you’ve found a good one, and export them to .wav format for use in your games. Oh, and this program can be used online, or with the standalone version you can download.

Blender [link]


This is a very powerful tool for modelling, texturing, animating, everything basically – it even has its own game engine. However, if you’re anything like me, you’ll only use the basics. The interface is a bit daunting at first, but once you’ve watched a handful of YouTube videos on it, you should be fine. As most modelling software packages cost an arm and a leg (heck, you’ll have to take out a mortgage for some of them), this is a lifesaver. The only problem (if you can call it that) is that there are too many features for most people’s general use, but ignore all of the fluff and it’s perfect.

Your own imagination!

Yup, I have to put a terrible cliche in here somewhere. However, this one is very true, as you can’t make something out of nothing, you need a good idea to begin with. If you can’t think of anything, maybe go seek out some kind of inspiration, like a game you really enjoyed playing. Think to yourself – what was it about the game that was fun? Which features were innovative? How well were the graphics done? I’m not telling you to completely rip someone off (lawsuits don’t really look too fun), but it is completely fine to take inspiration from your favourite game and put your own spin on things. Just make sure it’s your own work, don’t push yourself too hard and if things start to seem daunting, perhaps slow down a bit and go do something else for a while. Game development takes time to perfect, but you’ll get there eventually. When I find more great programs, I’ll share them with you, minus the cheesy cliches.

New Force Gun! – Project Spikes 02/03

Yup, you read that correctly, there’s now a new model for the Force Gun! Not only that, but I’ve figured out how to properly make animations in Blender (because Unity’s built-in animations are terrible), and figured out how the heck Mechanim works (that’s Unity’s animation controller that blends animations for you), so the gun now comes with a much better animation system. That includes animations for picking up the gun, shooting, holding cubes, trying to pick up/shoot cubes that are out of reach, as well as an idle animation. There’s also a couple more sounds, and later I’ll be adding more particle effects.

spikes-66This is a much better model than the old one in my opinion, as it has a distinctive look and textures that continue the ‘blocky’ theme. Eventually I’ll get round to upgrading the other two guns, but it’ll take quite a bit of work, as I also need to find proper uses for them and integrate them into puzzles more.

Another pretty big feature for this update is an enhanced pause menu, which follows the theme of the newer options menu.

spikes-70For this, I lumped together a few existing scripts into one to make things easier and a bit more efficient. The Start Menu’s also had an overhaul, with a few new things added to the background, but most importantly it has a new GUI to match the new style. It looks approximately 27% more glorious than before.


In this update are two – yes, you heard right, TWO – new levels, both in World 2 and both with pretty unique puzzles. The first is World 2 Level 4, which features another puzzle with the Force Gun and vapourising fields. It’s pretty fun and I hope you all like it – I’m going to aim for one new level every update, although if another important feature is taking a while, then that might not be possible. There’s some new textures in this level too, which are transparent like windows, but not destructible like the others.

spikes-69The new texture can be seen on the roof here. Then there’s World 2 Level 5, which is a fun but rather difficult level in the later sections. Basically, you’re given some ice cubes, an icy runway, and you have to avoid obstacles that are dotted throughout the whole track.


Just look at all those obstacles! I stopped short of adding turrets too, as there’s too many hazards here already, including spiked walls (see below screenshot), vapourising fields that’ll destroy the cubes you’re using and holes in the floor, but the main addition to this level is a new type of field that harms the player rather than cubes – I call them harm fields, or hurt fields, basically any synonym for “ouch, looks like I’m dead” followed by “field”. They’re the red fields in the screenshot. There’s many ways you can get across this level, for example you could lay out a series of cubes on the floor over the fields so you don’t touch them, or just make a small runway of cubes so you can take a run then jump over them, but my favourite way to get across is to hop on the cube and shoot at it downwards, so it acts like a sledge. The floors are all icy, so you;ll need to be careful and try to go slowly, but at least I didn’t make the floor at an angle, then it would’ve been extremely difficult… *gets idea for next puzzle*.

I’ve been going back and adding small new things to older levels too, such as gravit spawners for levels that didn’t have any, more hazards and more puzzles. Just have a look at World 2 Level 2, which now has some moving spiky walls, a couple turrets and more scenery, as it was pretty bare before.

spikes-68Those same spiky walls are improved versions of the ones in World 2 Level 1, and they’ll mess you up. I mean look at them, red obviously means they’re dangerous. Back in the Hub World, to provide a better sense of scale and immersion, you’ll find some building-like scenery in the background – these buildings are supposed to be the other worlds, as the whole game is set in some sort of facility, perhaps to test ‘Project Spikes’. That opens up a possible storyline, which may be an interesting direction to take the game in. spikes-67

It’s subtle, but it does add to the general feeling of immersion, it feels a bit more like you’re in a large facility. The small room you start off in is also a tad bigger, so I’ll add some sort of bedroom or living space there later on. The boss level for World 1 looks a little different too, mainly that the exit door’s been moved to the top floor, there are spawners for cubes and gravits dotted around, and the death sequence is a bit different although I won’t spoil it for those who haven’t played it yet. Plus Squoid himself now obliterates cubes when he crashes into them, accompanied by copious amounts of particles.

There’s also many little changes, such as in W1L5 there are more boxes in one of the turret rooms, and in W1L4 the small pathway where the spike balls fall from the ceiling has been removed. All across the board, older models for cubes have been replaced for the newer ones, and I’ve used new textures to make old levels look sexier. All this basically means is you have no excuse to be not playing this update, so give it a try 🙂

The game’s also now on IndieDB to drum up a bit more support, so you may want to have a look at its page for a bit of additional info and news, or you can look at the new Twitter page for the game and help spread the word! You can then play the game at the usual places, and you can leave a comment if you have anything to say. Have fun playing!


Project Spikes

28/04/13 Update


I’ve done a bit more work on the game today. Mostly, I have been watching some more tutorials to help my understanding of a few concepts, and I have applied what I have learned about making models in Blender to improve the current gem models. The shapes and textures of these models are a lot more aesthetically pleasing than before, such as more defined edges (I worked out how to reduce the smoothing at the edges). The light reflecting of the gems is better, too.


The new emerald model on the left. Notice how the edges are more defined than before, making the gem look more clean-cut. The light reflection makes more sense and the colour is much nicer, too.


The new ruby, on the left, is much better than the old one, as it’s a bit more realistic (except for the fact it’s not transparent, although this is intended because I want my game to have a cartoon-y feel to it eventually).


Again, with sapphire. The gems are also noticeably larger than before, and I think they look better this way.

I’ve also made preparations for some new gems, like amethyst (the layman’s term is ‘purple gem’) and diamond. Both will be worth a lot (eg. diamonds worth 10 gems). I’ve tweaked the value of each gem, so now rubies are worth 1 and so on. This is so I can add more low-value gems, which I like the look of, without ruining the balance of the game. The first new gem I’ve added is the topaz, a yellow gem.


This topaz is quite an attractive gem, and I hope that the upcoming diamonds and amethysts will also look great. This is worth 3 gems, whereas the amethyst will be worth 5 and the diamond a whopping 10 gems. Furthermore, the collision spheres of these gems should fit better than the old ones so they shouldn’t look like they are floating in mid-air anymore.

I also had a go at creating trees, as the current levels are lacking in interesting features, and they are really basic, but I’ll have another go in the future at trees and hopefully they will turn out a bit better. Hey, it’s better than my attempt at grass, which I won’t show you out of embarrassment.


Now that I have a bit more experience with Blender, I will try to make proper textures for the portal next, and perhaps some scenery. I will also start to populate the whole level with gems, and have a set number in each level, rather than the random arrangement I have now. In the GUI, I will also have a number for the total gems in each level, to show you if you’ve collected them all yet, and a little gem icon next to the gem count to make it look pretty. Thanks for reading, and please download the newer version for testing here.


More ideas, planning, modelling and programming (Days 2 and 3)

Today I’ve been working more on the plans for the game, and I have a bit more detail done. I also have a little test version to give you: this is in no way representative of the final game, rather just a test for the player movement and collisions.

There are two versions here, for 32- and 64-bit windows, so make sure you get the version that will work on your system.


My updated plans are thus far:

-Each level will have a few hundred gems to collect (eg. 100, 200, 300…)
and each level has a certain number of gems you must collect in order to unlock it. For example, level 1 could have 200 gems in it, and then level 2 could require about 150 gems to unlock. I will aim for each level to require the player to have around 70-80% of the total number of gems available in the previous levels for it to be unlocked.

-Enemies will have variable levels of health, so some will require 2 or 3 hits to defeat rather than most enemies, that will require 1. The player will also be able to upgrade their health after defeating each boss, starting with 4, for example after defeating the first boss, the player will have 5 health.

I have yet to write a backstory for the game, but I will do that in the future. Right now my target is to make sure all the basic game concepts work, such as respawning, warping to other levels, picking up gems and defeating enemies.

The progress I have made so far is:

-Designing basic models and textures for some gems (ruby, sapphire and emerald). There will also be diamond and amethyst. I figured out the problems I had last time with importing textures and models from Blender, which is rather helpful.

-The player (currently a red cuboid) can be controlled with the WASD configuration, or using a game console controller (confirmed by a friend using a PS3 controller in their laptop). The right mouse button snaps the camera so it faces forward.

-There are some gems scattered throughout the level, and they are affected by gravity, and are solid (they have a collision box, and therefore can’t be walked through). They are also slightly shiny, which I like the look of. They cannot yet be picked up, but this will be implemented soon.

-There is some scenery, in the form of some cubes you can jump on, just to test jumping.

-If you fall off the level, you will respawn at one of the three respawn pads on the level. The last pad you walked over will become the active pad, so you respawn at that pad if you die.  I will improve these pads later.

My next plans are:

-Improve the textures and models of some of the objects, and put some proper scenery in place.

-Add another level, along with a portal to allow travel between these levels.

-Allow the gems to be picked up, and then add some kind of system to count your gem totals per level and total throughout the whole game.

-Add a GUI to sow the player their remaining health, number of gems etc.

It would help greatly if you could keep coming back every so often to test these updates, and give feedback or bug reports. Also, feel free to tell me anything you would like to see in the game. Thanks for reading!


Current Progress (Day 1)

I’ve been working on my game for a few hours today, and the progress I’ve currently made is:

-A small plan of what’s going to be in the game, and the game objectives. The structure detailed in yesterday’s post is basically what I’m going to use, in other words a hub world with levels accessed through this. The levels will be accessed through electronic teleporters, and to power these you need to collect various gems found in the game’s levels.

-The gems will come in various colourful varieties, and some varieties are more expensive than others. The gems will be things like rubies, emeralds, sapphires, diamonds etc, with diamonds worth the most.

-The enemies will be very varied; some will look like normal animals, and some will be strange unearthly creatures. Bosses will be more spectacular than normal enemies, such as an awesome dragon thing I drew.

-The models of all the creatures and objects such as the gems will be made in Blender. I haven’t used Blender’s animation features before, so I’m not sure how that will go, but I will try to figure out how that works. I’m having huge problems importing my Blender models into Unity though, as parts of the model’s mesh is missing and for some reason the textures don’t work. They all look fine in Blender but for some reason after importing into Unity the model is very broken, and this is frustrating me. If anyone can help fix this problem, that would be great.

-The sounds and music for the game will be made using Linux MultiMedia Studio (LMMS), although I’ve just begun to use this so sounds aren’t a priority just yet.

I will continue to draw up the concepts for the game on paper and I hope to post pictures soon. After this, I will get a basic hub world working, but this is hard to do right now because I’m unable to import Blender models into Unity, and I’m kinda relying on that working… Again, if anyone can help here it would be great.


From 2D to 3D! The Unity game engine

Recently, while researching more about the subject of game development, I discovered a wonderful game engine called Unity. The basic version is free (there is a Pro version, which has many more features but isn’t free), and it includes all you need to start making your own game straight away, with its own IDE included and many pre-made features and components ready for use. The game supports three main programming languages- Javascript, C# and Boo- and since I have some experience with Java, I am now learning Javascript (don’t confuse the two, they are not the same, albeit very similar concept-wise). Writing scripts for use with Unity is very simple, and a lot of the legwork is done for you by the game engine itself, and all you need to do is drag and drop scripts into the game engine’s interface to automatically apply a script to a game object. From a design point of view, the interface is a dream, allowing for quick, visual editing of your game world in a virtual 3D space to resemble your finished product. Some tricky aspects of game production, such as cameras and lighting, are handled by the engine itself, allowing for more fluid gameplay and better graphics. I’ve been playing around with it for a couple days, and I dont really have much to show about it, but anyone looking to develop 3D games will definitely love this. I made a very basic scene where you can move the camera around, and whenever you left-click, it places a cube, which then falls to the ground. It’s extremely simple but took no time to make, which shows the ease at which you can play around with this to create whatever you want.Image

Its design-focused basis allows for incredible precision in creating your game environment, which will please perfectionists everywhere. It is also easy to import 3D models and animations from popular modelling packages such as 3ds Max, Cinema 4D and Blender. I chose to use Blender, since it is free and open source, with many of the features of costlier packages. Now I can make my own models of characters, items or scenery, give them animations, import them into Unity and they’re ready to go! Hopefully I can get a good prototype game going with this (I have planned to make a practice platform game based on the old Crash Bandicoot and Spyro games, it should be great!), and I will get back to you with my progress! Oh, and I haven’t given up on my 2D Java game, I’ll still show my progress with that sometime. Oh, and here’s the link to the Unity website: . Thanks for reading!