I’ve got the latest version of UDK installed on my computer, and I’m working through the lessons in a book called Unreal Development Kit Game Programming with UnrealScript: Beginner’s Guide by Rachel Cordone. It might seem kind of silly to choose a game engine to work with when I don’t yet know what sort of game I’ll be trying to make, but the truth is, of the four or five ideas I have, all of them could be made in UDK, despite being vastly different game concepts. It’s a versatile engine, and UDK allows me to use the full version for free, as long as I don’t sell anything I create with it. Once I’m ready to start releasing things commercially, I can purchase a license from Epic. Having the fully-functional kit available for experimentation is going to be incredibly helpful.
So while my education continues in UnrealScript, I can talk about content creation tools, specifically, in this post, 2D and 3D art creation software.
Let’s start with 2D. Since this is a hobby, and no one’s buying software for me, I need to be frugal. Even though I plan on making games that take place in 3D environments, I will still need some sort of 2D art program for, if nothing else, drawing textures. The industry standard seems to be Photoshop, but it’s pricey, and with their new Creative Cloud, it appears to only be available by paying a monthly fee. This probably pushes it out of reach of most non-professionals (I’ve heard that some professional artists aren’t happy with the new price plan, either). I managed to get a copy of Photoshop CS5 Extended through the University at which I work at a deep discount, so Photoshop is what I’ll be using.
There are alternatives, like Gimp and Paint.net, which might also work. Gimp (the GNU Image Manipulation Program), which is free for personal and commercial use, is designed to be a near-direct alternative to Photoshop, with many of the same features and a similar workflow. In my experience, I found Gimp to be unstable in Windows, but rock-solid in Linux (although my Wacom tablet didn’t work so well in Linux). There were other things I didn’t like about Gimp, and it was definitely missing some features that I wanted. I haven’t actually tried it in a while, so a newer version might be worth a look. As for Paint.net, it is also free for commercial use, but it seems quite limited. Not something I’d want to use for a big project, but I suppose it could work.
Now on to 3D. The most popular 3D applications in game studios seem to be 3D Studio Max and Maya, both currently sold by Autodesk. And both costing around $3,700. That’s certainly too much for me to spend. Luckily, there’s an alternative.
I can’t remember when I first heard about Blender, the open-source 3D modeling and animation tool. I’ve since become a big fan, and I’ve gotten quite a bit of practice with it. Aside from being powerful, stable, and fairly user-friendly, Blender is free for commercial use. There’s a large community of Blender users for support, a lot of great tutorials (I really like the stuff from CG Cookie and BlenderGuru), and even an online repository of open-source 3D models called BlendSwap. There’s examples of games made using Blender to create assets (check out Eat Sheep), and Blender even ships with a built-in game engine (which isn’t of much use to me, unfortunately). Needless to say, Blender is ideal.
I’ve used Blender quite a bit, but I don’t really have much to show for it. I’ve finished almost nothing. There is one scene I did that I was pretty proud of, a simple shot of a conference room table with the Portal gun (from ‘Portal’) on display, along with blueprints and a couple of coffee cups. I used the Source SDK to extract the model of the gun from the game, rather than model it myself (I thought it’d be cool to use the actual game model in my render). Being low-poly, the in-game model wasn’t detailed enough, so I cleaned it up a bit and re-did the texture (after all that, I probably should’ve just modeled it myself from the outset. Live and learn). After modeling everything else and setting up the materials and lights, I rendered the scene using LuxRender, which is a raytracing renderer that aims to mimic the way real light interacts with objects. It took over forty hours to render on my quad-core machine.
Of course, when some people hear that Blender is free, they assume it isn’t powerful enough to do anything worthwhile. Utterly wrong, I say. Check out ‘Sintel,’ a short film made with Blender:
Pretty damn good. And there are others; check out the gallery on Blender.org.
Blender is what I’ll be using to make my games. One thing I should mention: without getting too technical, Blender’s output is not exactly like the output you’d get from 3D Studio Max or Maya. This means that an extra step or two may be needed to get my models into UDK and make them look right. I’m okay with this, and there’s plenty of help available. It’s powerful software. Certainly worth a few slight inconveniences. I plan on experimenting with the Blender-to-UDK pipeline over the next few weeks, exporting both static meshes and skeletal meshes with animations. I’ll post what I learn here on my blog, so stay tuned.
Up next: Part six. Or possibly something else.