Archive for April, 2013
Last week I decided once and for all that I'm going to get into game development. I have a lot to learn, don't get me wrong, but it's a real fun thing to get into and I'm nearing the point where I have the skills to do it. My main problem is my art skills are lacking quite a bit at the moment. I'm concentrating on sprite creation for 2D games and modeling/texturing for 3D games. Monday of last week (April 8, 2013) I found out about Unity3D. I fell in love with it. Up until this point, I've been working with Java to make mini-games, as a learning experience, but I don't really like mucking about with setting up Java. I dislike working with class paths, and I don't particularly care for the distribution side of software that is created with Java. I may still venture into that but I want to turn out some actual games first.
I tried out the free versions of both Unity3D and Game Maker Studio. At this point I should point out another feature of both of these products that really drives me toward utilizing them instead of hand-coding games from scratch. They both offer exporting to various platforms. With Game Maker you have to pay for the ability, but you can write your game once and export to Windows, Windows 8, Linux, Mac OSX, Android, and HTML5. With Unity3D you can export to a ton of things with the free version, including XBox360, Windows, Mac, Android, and iOS. However, there are some things you don't get with the free version like some shaders. The cost of the non-free version of Unity3D is also $1500. For some reason I think that price point is a little high for their maximum profit. I could be wrong, but if Unity went for $200, I would have already bought it, and I'm sure there would be thousands of others who would fork over that much for it.
At any rate, after using Game Maker for a couple of hours I decided it is something I want to devote some time with, so I purchased the pro version on Thursday (April 11). The next day I found out that there was going to a 48 hour Game Maker competition on the /r/gamemaker subreddit. I entered it and after 48 hours of writing a game with a tool that I had just bought, this is what I came up with. I give you Ant Agonists.
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.