Scaleform: the future of MMOs?

As someone told me at the Austin GDC, Scaleform is a “no brainer for MMOs”, and that’s certainly a common sentiment among MMO development groups. If you’re not hip to the Future Of MMO’s, the lowdown is that Scaleform offers a product that lets you embed Flash right into your 3D game. It’s portable across all the major consoles as well as the PC. Use it to create your GUI, and you’ve got automagical cross-platform goodness. Plus, you can use Adobe’s Flash development tools to create your GUI! That saves your team development time, too. How can you lose?

Well, Scaleform does deliver what it advertises. But it’s not a no-brainer decision. Here’s why.

Do you really want to use the Flash development tools?

Scaleform supports ActionScript 2, not the more modern ActionScript 3. This means that all of Adobe’s neat Flex development tools are completely off the table. It also means you can’t use all the nice GUI widgets made for AS3. (Scaleform told me they are developing their own custom GUI library specifically for Scaleform development, but I don’t believe it’s available yet.)

So this means that you will need to use the Flash 2 IDE. If you are a traditional programmer, you will find this torturous. The Flash IDE is not for you. It is made for 2D animation artists who might know a little programming on the side. The workflow is not like anything you are used to.

Engineers will inevitably want to mod the living crap out of the Flash workflow. You can create plug-ins for Flash, but you will have to do a lot of work to get it to the point that an engineer can use it comfortably.

Can your artists actually use the Flash tools?

“Silly blogger,” you say, “the Flash IDE won’t be used by our ENGINEERS… it will be used by our ARTISTS!” Well, better start training them now, because artists who have the necessary skillset are very hard to find. Oh, you can find Flash 2 developers by the yard… but you need good ones, don’t you? You need developers who can animate stuff well, and then wire the animations together with code, and connect it all to a custom interface your engineers make for them. This significantly raises the skill bar. Now you’re not looking for a mere animator. You’re looking for a technical artist who also happens to be good at 2D animation and coding.

But it gets worse! Scaleform is optimized for GPUs, not CPUs. This has numerous ramifications: bitmaps need to be certain sizes, and not too big; scripting needs to be kept to an absolute minimum in order to not bottleneck the pipeline, so you’ll need to know clever timeline tricks to get good performance; and some common Flash effects are just not available at all (because they can’t be done efficiently on consoles’ GPUs).

So you need a really experienced 2D animator who is not afraid of code or technical details at all. The folks at Scaleform told me that the best way to look for Scaleform developers is to look for Flash Lite developers. Flash Lite is the version of Flash for cell-phones; these developers are used to working within limitations that are very similar to Scaleform’s limitations. I haven’t personally looked for Flash Lite developers, but I do know that very few Flash Lite games exist, so devs may be very hard to find.

Can you actually use Scaleform for your GUI?

Scaleform works best for console games. Civilization Revolutions is a great example of a Scaleform game. It doesn’t have a ton of resizable windows and it doesn’t have widgets with dozens of functions. It has a really flashy GUI but simple, clean interfaces. MMORPGs tend to have much more complex GUIs.

Now you can easily argue that this is a flaw in MMO design, but let’s face it: if you’re pitching an MMO today, you are probably pitching a game with resizable chat windows, dozens of floating interface panes, macro-scriptable interfaces, and elaborate drag-and-drop systems. You can do all this with Scaleform — but not for free. You’ll have to do some heavy lifting in the engineering department.

Don’t count on “free” user modding

Lots of developers see Scaleform as the secret to free user-generated content. Users can just use Flash to create new replacement SWF files for your game, and can make it do anything! Free mods! Well, yes and no.

You can definitely make that happen, but you will face three big problems. First, you still need a well-documented interface to the game systems proper — otherwise, their SWF files won’t be able to make the game do anything.

Second, you will have to relinquish a lot of control over what users can and can’t do. The modding system in World of Warcraft is carefully crafted to keep users from being able to make combat macros. You would have a very hard time pulling this off if you let users plug in their own custom SWF files.

Finally, you have the problem that Scaleform is not appropriate for typical Flash developers. The Scaleform guys said that they currently actively discourage companies from using Scaleform for user-modding. Suppose a user creates a popular mod with a 2000-pixel texture in it — your game’s perf goes to hell, and you turn around and say that Scaleform is crap. They don’t want that, and neither do you.

When to use Scaleform

Use Scaleform when:

You are absolutely, definitely creating SKUs of your game on multiple platforms (preferably three or more).

You have procured one or more people with just the right experience and skillset to use it.

You have relatively simple interaction interfaces, or can live with keeping a very streamlined UI everywhere.

You don’t intend to let users mod your GUI.

The Future Probably is Scaleform… but…

ActionScript is a really good choice for a multi-platform GUI development tool, but traditional MMO interfaces will be constantly straining at the limitations of AS2. When you can use AS3 instead, you’ll have more options. Scaleform is working on this, as well as a system that uses the CPU for more of the processing, which (among other things) will make it more practical to have user-created content in your game. But that’s not now: that’s in a year or two.

In the mean time, you need to look carefully at this choice from every angle. Don’t jump on it just because you heard some other MMO is using it. Remember, most MMOs you hear about don’t actually ship, so you can’t use them as a barometer.

I like Flash, and so does my company

I have been particularly interested in Scaleform because (along with regular contract work, which I’m still available for), I’m also the part-time CTO of an internet startup that brokers Flash games. FlashGameLicense.com is all about pairing Flash developers with people who need games. It’s been around for about 10 months now, and we’re growing very quickly — we now have about 2000 games for sale, the majority of which have never been seen anywhere on the internet yet. Flash is definitely heating up as a gaming platform.

Anyway, it’s sort of tangential to this post, but I figured this was a good time to plug my company! :) If my dire warnings about using Scaleform in your MMO haven’t scared you off, we might be able to help you find a developer that fits your needs, so feel free to contact me. Most developers on our site are only looking for work-from-home situations, so it’s hard to tell how many bites you’ll get, but it’s probably a better bet than a blind post on Gamasutra or monster.com. (And if you find yourself needing some fun Flash mini-games for a project, definitely visit!)

So I’m confident that Flash is the future. But Flash embedded into MMOs? That’s the bleeding edge of the future. If you’re bleeding edge, go for it. Just know what you’re getting into.

I’m a flash developer and did a bit of freelance for EA about 4 years back. They have (or had. no idea if they’ve moved on since then) their own version of flash that the use for the interfaces on some of their games. According to my producer they didn’t have too much of a problem finding people with the right skillset but they found it harder to keep them than other technical people.

I can see his point. Once I had worked out how they treated their staff I had no interest sticking around doing interfaces and being a cog in the work for a huge mainstream game when I could earn much more for half the hours doing flash games for digital ad agencies. Plus with flash games you can do a bigger chunk yourself and feel more ownership.

This compares with other developers, where the choice is more do mainstream games or go and work on some other kind of big app.

Well, we’ve used Scaleform for a range of games with great success. As far as I’ve heard, most teams are using them now and are much happier than with their own half-baked UI systems. You can integrate Scaleform/Flash with Lua or a script language for even more flexibility. And most importantly, their support ROCKS! We had questions and issues turned around in hours most of the time.

At the end of the day, you want artists and designers making the user interface, while your programmers work on making the gameplay fun.

Good post. I just want to mention that saying about Flash 2 IDE isn’t right, unless you mean the Flash 2 which was out in like 1997. ActionScript 2 was released in about 2003, I guess you meant Flash CS2 or something. Anyway, it’s definitely harder to find a good AS2 developer than a good AS3 developer nowdays. And that’s a shame that they still can’t port their stuff to use AS3.