Someone on the Intuition forum asked what kind of development tools we prefer and for some advice on tools based on our experience. I started to respond in a reply, and it grew to the point that I thought it could be a helpful post. This article is targeted to people like him, who are designers interested in creating computer-based games, have a little programming experience, and have some familiarity with common development tools, like Torque or Game Maker. It’s based on my own personal experience with development tools and on conversations I’ve had with other indie developers.
How to Choose a Tool
When choosing a tool, the two most important things you could base your decision on are how a tool fits your goals and how a tool fits what kind of designer you are. The whole point of using a tool is that it lets you accomplish your goals with the least amount of effort. And how successful you will be using that tool will be (at least partly) based on what kind of designer you are. Your end goal is to become intimate enough with your tool that it becomes an extension of your mind, just like an art tool such as a pencil becomes an extension of your mind. In that way, you’ll be able to be expressive with your work.
Here’s an example: those familiar with indie games will have heard of Jonatan “Cactus” Söderström, one of the most prolific indie game developers. He is prolific partly because he uses Game Maker, which allows for rapid 2d game development. He has committed to using this tool and has become an expert at it. Furthermore, the tool’s strengths match up with the games he likes to make. I thought the story ended there.
However, after talking with him at the 2008 GDC, I also learned that he gets bored with ideas fairly quickly and has a hard time finishing longer projects (don’t we all!). So he decided to accept this aspect of his character and continue to get better and better at making smaller games quickly, before he gets tired of them. He has learned about himself and used that knowledge to set realistic goals, and then found tools that work well for who he is and stuck with them. The end result is that he’s one of the heroes of indie games.
Based on my experience, I could recommend four tools that would be good solutions depending on the goals you’d have as a designer: Game Maker, Processing, Flash, and Unity.
Why Use Game Maker?
If you haven’t finished and released any games, your goal is just to finish some 2d games, and you don’t mind or even prefer using a Windows tool, then I think Game Maker is one of the best tools you can use. Game Maker uses drag-and-drop functionality to make developing pretty easy. It lets you manage your content pipeline and provides support for loading animations. You can use simple scripts based on a custom scripting language to control the logic of the game. It even comes with built-in scripts that provide common solutions for games.
YoYo Games provides a ton of resources, tutorials, and even competitions on their website. The Game Maker community is quite large, active, and supportive. Many of the resources are for beginners, but you can find a good deal of more advanced tutorials and support if you look below the surface. Game Maker’s ease of use can make it seem like you can’t do much with it at first. However, you shouldn’t be fooled; you can do tons of amazing things with the tool, as Cactus and so many other developers have proven. A quick look at the YoYo Games website shows a 3d GTA clone, a Mario Kart 64 clone, and 2d games of almost every type. It even supports multiplayer games.
I use a Mac, so I haven’t been able to spend much time with Game Maker, but once the Mac version gets to a more finished state, I’ll probably be taking a look at it again. I consider it a “get things done” sort of tool, which would make it perfect for prototypes or experiments I want to make.
Why Use Processing?
Processing is a development environment that is specifically designed to help designers and creative types learn programming and interactive technology. The environment was developed by people at MIT who were focusing on teaching visual thinkers programming and interactive concepts. If your number one goal is programming education, or you’re interested in creating interactive experiments using a variety of media and inputs, like generative visuals based on sound input or applications using Wii remote input, then Processing would be a great choice.
Another interesting result is that you can share your Processing programs directly on the web since it outputs Java applets. But unlike Flash, there’s no real industry surrounding Processing, which is why it’s best to use it for educational or freeware purposes. I’ve used Processing for educational purposes and to make an animation for my church. For that project, I modified a particle system developed by Robert Hodgin and set it up to create particles dynamically based on a song my friend Paul Gratton composed.
Why Use Flash?
Flash’s greatest strengths as a tool for game development are its content pipeline, its ability to use animated clips very easily, and its install base as a web platform. You’ll have to do your own programming with ActionScript in order to create anything more than a simple button-based game, but there are a lot of resources out there that can teach you how to program with ActionScript. That makes it a great platform to learn on. You can find contract work using Flash, and there’s also the Flash game sponsorship space if you’re interested in making a living creating games that fit the sponsorship model. An important detail to keep in mind is that it’s not hardware-accelerated, so you’re limited to a certain level of game complexity.
If you’re familiar with Game Maker but interested in Flash development, keep in mind that every hour you’re spending learning ActionScript is an hour that could be spent working on a game with Game Maker. That makes sense as long as your goals for creating Flash games are more important than your goals for creating Game Maker games.
Up to this point, the Intuition collective has used Flash for everything. It was a great choice for us since we had a team that wanted to create games quickly, we had experienced programmers who could quickly program things in ActionScript, and we saw opportunities that could allow us to get paid for doing it so that we could develop full-time. However, as Greg pointed out in his post about why Flash sucks, many people expect a certain type of game with Flash, and if you’re interested in making games different from that, it’s worth considering a different tool. Some of the games we want to make will still fit that expectation, but for those that don’t, we’ll be using a different tool – most likely Unity. I have begun using it myself recently.
Why Use Unity?
The fastest way I can think to describe Unity is that it’s like a larger-scale, 3d-focused version of Game Maker, but with a more polished interface and wider support for platforms. Unity is a full 3d game development environment – a fully-featured engine with a built-in editor. Like Game Maker and Flash, it has a library for asset management and even allows you to edit files outside the tool and come back to see them updated immediately. It lacks Flash’s animation system that supports game development so well, but instead it adds great 3d scene management tools. However, members of the Unity community have created tools to load SWFs inside Unity, allowing you to utilize the strengths of both. Also like Game Maker, it includes a set of built-in scripts that let you quickly implement common input/control systems.
One of it’s greatest strengths as a development tool is it’s ability to play your game in the editor and modify parameters during play to test the game. Based on my level design experience working on Darkest of Days, I know that this feature can speed up development exponentially.
Unity is best for 3d games, and that plus all of its features make it a little more complicated than Flash. It’s not limited to 3d, so with a little extra work you can make 2d games with it just fine. In fact, many popular iPhone games made with Unity are 2d. Unity supports JavaScript and C# for scripting, so it’s similar to Game Maker or Flash in the sense that you’ll have to script the logic for most games. However, unlike Flash, since it’s a proper game engine, you don’t have to do as much programming to get an actual game running. Thanks to the built-in scripts, I’d say the level of programming knowledge required to make a simple game is somewhere between Game Maker and Flash. One last big plus: the Unity Web Player is hardware-accelerated, well-optimized for performance, and supports a large number of video cards.
The thing that excites me most about Unity is using it as a release platform. As of right now, you can publish a Unity game as a web-based game for OS X and Windows (obviously it doesn’t have the install base of Flash, though), or as a downloadable for OS X and Windows. With an additional license and tweaks to the Unity game and content, you could publish to the iPhone. With an additional license, tweaks to the game and content, a Nintendo developer license, and a dev kit, you could publish to the Wii. Some time in the future, you’ll be able to publish to the Xbox 360, too (this was paused a while back to finish up support for the Wii and add support for the iPhone).
The Ultimate Goal
My tool of choice is changing from Flash to Unity, but only because I have specific goals for my games that match Unity’s strengths, and I’ve tried Unity and feel it fits the type of designer I am. In the end, I hope to be comfortable enough with Unity that development becomes expressive. To me, that’s the ultimate goal of any tool – to be able to “sketch” an idea quickly, and then iterate on it until completion. The tool you choose should be able to do the same if you stick with it.
Browse Timeline
Comments ( 2 )
[...] post: Suggested Tools for Game Designers Share and [...]
Suggested Tools for Game Designers | The Game Addiction added these pithy words on Apr 15 09 at 3:01 pm[...] Suggested tools for Game Designers. Game Maker, Flash, Unity. [...]
Just some Indie Game Developer Links | Gaming Horror - it's a Game Dev's Life added these pithy words on Apr 16 09 at 12:42 pm

