I’m completely floored by the quality of some free (as in beer) software these days. Some of it is open source, but I’m not concentrating on that in this post. I’ll be concentrating on how to save a ton of money and still create a high quality game. So if you are interested in making a game, and you don’t want to shell out a lot of money for the tools to do so, keep reading.
Game development can be a tricky endeavor. Being able to write code and do simple math are definitely a prerequisite. However, some game developing environments and frameworks take a lot of the busy work out of the coding experience and let you focus on the game more directly. Perhaps the easiest language to start developing games with is Java. It’s also very powerful. Minecraft is a very successful Java game. There is, however, an easier way to make games, and for some reason I’m just now discovering it. It’s called Unity3D.
There are two versions of Unity3D: free and pro. The free version has all the features you need to create a game, but Pro does have its advantages. The pro version costs $1500, however, and that is not within the budget of most small independents. So, a good plan is to start with the free version, get really good with it, and create a game which sells well. From your profit you can purchase the pro version. I’ve been learning Unity3D for the last two days and I’m amazed at its features. I’ve developed small games in Java, so I’m not a terrible coder. I usually shy away from applications which try to make game development easier (for instance Dark Basic). I stay away from them for the same reasons that I don’t use a GUI interface to create web layouts, you end up being limited by the ease of use.
I was afraid that Unity3D fit into this stereotype, but I have to say that it’s a great piece of software. The GUI is smart. If you create a script for an object, the GUI automatically knows what to do with the object properties you create in the script. For instance, lets say you create a character object and add a script to control his movement. You may create a class variable like:
boolean isWalking = false;
If you save this change in your script and then go back to the Unity3D inspector you’ll see a new checkbox called Is Walking. It’s small little helper features like that which make it a joy to work with.
So, in case you didn’t catch on, my first piece of free software is Unity3D. Even if you are a game developing guru, this will make your life much easier. It also has the ability to export to Android, iOS, Windows, Linux, Mac, PS3, Xbox360, and Wii.
Unity3D doesn’t handle all your work though. You still need to create your assets in other programs or buy them from the Unity asset store. Personally, I want to make my own assets so I have full legal right to them and they aren’t just generic assets which others can have in their games as well. So, you need models, textures, and sounds. There may be other types of assets that you’ll need but these are the assets on which I want to focus.
Models can be created in Blender. Blender is comparable to high-dollar applications such as Maya and 3DSMax, except it’s completely free. I’ve never had any training on how to make models, but when a piece of software like this is available for free, I can’t help but want to dive in and learn how to use it. With Blender, you can create full length animated movies as well. Want to learn how to use it? Check out these Blender video tutorials. They are awesome and will help you master Blender in no time. Modeling is no simple task, especially if you are adding rigging and such, but it’s very rewarding. You can also create assets in Blender which can be sold on the Unity Asset Store. So if your passion is not to make games but to make in game objects, you can profit from selling your work.
Textures are added to models to make them look like real world objects. These can be created with the Gimp, which is a free image manipulation application. Some people say that The Gimp is no where as powerful as Photoshop, but I tend to lean toward the side that says you can do anything you want with either, you just have to know your way around the tool that you are using. With the Gimp you can many things, but the two we are interested it is textures and spritesheet (in case you are making a 2D game).
Finally, you need sound effects and music. You could purchase both, but again I want to create all of my game content. So, I suggest looking at Audacity. It’s a great multi-track recording studio for audio. You could make music with it, but you’re looking at a higher investment when you have to purchase music gear. For sound effects, it is only limited by your imagination. I’ve not decided what I’m going to use for music yet. I have a decent midi controller, so I may create nice midi backing tracks using something like MultitrackStudio, which will do midi and audio. I just found it, so I’m not sure how good it is. It looks promising from the screen shots.