A couple weeks ago I stared using a Unity3D plug in called Playmaker, by Hutong Games. It’s a node based system that allows a user to visually create game play scripting. While I’m fully capable of doing this by hand, I’m always open to solutions that help me do more in less time, for less effort. So far, I’m extremely impressed with Playmaker!
On my first session with Playmaker I rebuilt a prototype that I had already scripted by hand. I wanted to get a real-world comparison of both it’s capabilities and actual development speed. The original took me just under eight hours. On my first use of Playmaker, while still finding my way around in it, I recreated the same functionality in two and a half hours!
The implications of this are really significant. The original took me 8 hours because I only gave myself one day to work on it. While that was enough time for me to prove out a game design as solid, think of how much farther I could have taken it. Leveraging Playmaker let me get the same amount done in roughly one-third of the time. Spending a full day on a prototype using Playmaker would have been equivalent to me spending three days scripting it by hand!
After such an encouraging result, I was eager to try Playmaker on an actual product. This time I used a game I’ve had laying around unfinished for several months. I was able to rebuild all the core functionality in Playmaker in three days. I’ve got about one more day of UI and general functionality to put in, and then one more day to clean up multiplayer. Then I’m down to just balance tuning and spiffing up the graphics. That’s one week to fully develop a small hand-held game to what I would call Alpha quality. The ratio was even better on this one, but to be fair, I was also learning a lot about Unity scripting when I first built this project by hand. Even taking that into account, I easily ended up achieving the same result in about one-third of the time.
The big word that should be on your mind at this point is… performance. Using abstracted tools to automagically generate game script/code should send up some warning flags, because it’s sure to add overhead to your project. The game in my example was developed for mobile platforms, and I didn’t see any performance issues when testing on my iPad (original). The game is about the average complexity of a small iOS game, so at this level at least I’d be completely comfortable using it for a shipping product. Also, under the hood Playmaker is doing a more efficient job with some of it’s code than I was doing, so I’m getting some performance gains here and there as well.
If you are on the fence, I’d say give Playmaker a try. I’m a designer with scripting skills, and while I’m perfectly capable of spinning game play by hand, I’d much rather spend my time on the iteration and tuning, because that is where the fun in games comes from. Playmaker is flexible enough that I can easily write my own nodes to simplify special-case stuff, so that’s a big win too.
I’ll post more as I work through various real-world usages of Playmaker.