One of the big movements in gaming these days, albeit one that’s only occasionally talked about, is toward user-generated content. Gone are the days when mission editors were arcane tools only the most dedicated could learn to comprehend, much less use. And so I present my own recent adventures in user-generated content, courtesy of Sucker Punch’s inFAMOUS 2 and its mission creation tool. Also, I plug my mission a little so you’ll go and play it and give it good reviews and stuff.
To those who played Sucker Punch’s inFAMOUS, the sequel held few surprises: a smattering of new mechanical additions, a few design tweaks, plot continuation. But the big news about this open world action title was its robust support for user-generated content (henceforth, “UGC”), which felt like a sudden addition late in the game if one watched the news, but definitely doesn’t give that impression in practice.
My own foray into inFAMOUS 2’s UGC was a bit delayed by an ill-timed heat issue with my good old 60 GB PS3. But a few weeks and a lot of screws and thermal paste later, I was able to dive in.
The nice thing about inFAMOUS 2‘s UGC is that it’s directly integrated into the game world. Mission starts for UGC missions appear on the map just like side missions and story missions, as long as you’re logged into PSN (but only if you want to; you can turn them off), and are colored green to distinguish them from the main game’s missions. This makes them immediately accessible to players without having to rely on the players being involved in the UGC community; even LittleBIGPlanet, whose tools are admittedly much more robust, segregated the game’s base content from the user-generated content.
Using inFAMOUS 2’s tools even occurs within the game world, and doesn’t require the player to, say, return to the title screen. All the design is done by moving various objects around in the game’s environment (since you place mission starts in the game’s setting of New Marais, you also build the missions within the city), whether they are “real” objects like enemies and obstacles or design objects that represent mission flow and triggers, and that will be invisible to players. It actually works a little like the software they packaged with LEGO Mindstorms sets, with code structures represented by little icons that you then strung together with wires. Which, yes, can make it very hard to “read”, in the programming sense, but okay. This does make some missions tricky to “remix” – that is, edit someone else’s UGC yourself and re-upload it – but not impossible, I suppose.
A Nice Little Package
Since inFAMOUS 2‘s UGC missions essentially join the game as additional side missions, the limitations placed on the size of missions that can be designed is actually pretty excusable. The number of objects that you can drop into your mission is limited by a meter, but not so much that it feels terribly restrictive; you won’t be crafting any multi-hour epics, but it’s more than enough to make good gameplay experiences in the scope of inFAMOUS‘s side missions – that is, maybe 5 minutes of play. The objects are there to make crazy platforming challenges, ring races, combat scenarios, narrative events, and so on. It’s not robust enough to allow modding or anything, but it doesn’t need to be; it’s quite well-contained, and that’s good.
So after playing some of the UGC offerings (and the main game, of course), I jotted down half a dozen mission ideas and set to work. Since I’m a writer by nature, even in my game designs, I went with one of my more narrative ideas, in which a publicist tries to convince protagonist Cole to adopt a more traditional superhero identity.
Setting up the basics turned out to be pretty easy: I dropped in a listener thing to display a little dialogue at mission start to set things up, then an NPC to be the publicist, with an objective marker so that the player’s first task is to move to him. Surrounding him with a cylindrical collision box (essentially) let me track when Cole arrived and initiative some dialogue the player could page through. There’s a practical limit to the amount of text one can display in a given “brief” object – used for blocks of text, oddly enough – but they can be strung together in sequence so that one appears when another is finished doing its thing.
But enough chitchat – how about a combat encounter?
To break up the exposition, some militia goons arrive for the player to take down. It was easy enough to trigger them when, and only when, the dialogue was done, and the AI is pretty much already set to go – although I could change their allegiances if I wanted, guys that are enemies normally will default to being hostile. So I just left it as is.
At this point it didn’t take too much more learning to get through that encounter, some dialogue, another mission waypoint at the top of a nearby clock tower, a larger combat encounter, and so on. I gradually tightened up some of the behavior, since the flow isn’t always obvious, and I also wanted to implement checkpoints properly – some UGC missions lack them entirely, which means that dying requires you to start at the very beginning again, but implementing them can, and will, cause mission flow oddities if the player dies unless you set everything up correctly.
Which brings me to one of my gripes: for reasons I can’t fathom, the UGC editor lacks the basic conditionals one might expect, at least one who, like me, also knows their fair share of programming. There’s an or operator for triggers (so “if this or that happens, do something”) and an and operator for results (“if this happens, do something and something else”), and then this odd thing that I guess is sort of like an and for triggers, but it’s weird and confusing, taking the form of “after/until this happens: when this happens, do something.” I imagine there’s some effort to make this explicable to non-programmers, and the textual equivalent that the UGC editor gives you helps, but some of the logic here is just a little squirrely.
Anyway, repeating, testing, refining, and so forth, and I had a mission! The tale doesn’t get much more interesting than that, actually, since a lot of the learning curve was debugging but the fundamental components remained the same. Still, there’s a lot of capabilities I left untapped.
Go Play My Mission and Give It a Good Rating. Do It Now.
So once I released the thing into the wild…that was pretty much it. Last I checked (this afternoon), the mission had been played once in its first 18 hours or so of life, specifically by a classmate of mine who very kindly alerted me to a slight glitch. Thankfully, missions can be edited again even after they’ve gone “live,” so I was able to fix this quick without a problem. He liked it, by the way.
So now, if you have inFAMOUS 2 or know someone who does, it seems like it would make sense to go hunt down my mission. There are many ways to do this: by title (“This Looks Like a Job For…”), by username (Sarkakit), or less precisely by tags (in this case, Battle and Narrative, though many other missions will fit into those categories too). It also might appear, at least for a little bit, if you have your UGC filter set for Newest. I don’t know how long it’ll be in the category, but presumably it still is for the moment.
So yeah. Do that.
Judging by the number of UGC missions out there, Sucker Punch (who have supported this function really well by occasionally featuring UGC missions they like on their website, and releasing new packs of objects for free to use in making missions) has had some solid success with this feature. It definitely adds some more life to what is already a game of quite satisfactory length, and the possibilities open to inventive designers are, while hardly endless, significant.
Email the author of this article at firstname.lastname@example.org!