Archive for the ‘Game Design’ Category

Scripting for Designers

I started a kerfuffle on the subject of designers writing scripts. Since my original post was more about our experience with Lua than about scripting for designers I thought I would collect what I’ve already written in everyone else’s comment thread in one place.

Raph believes that designers should know how to write scripts. I agree completely. Games are more about algorithms than they are about art, sound, or databases, and knowing how to code at some level is going to help any system designer immensely. It will allow them to communicate with programmers more effectively, it will make their designs fit better within existing game or technical systems, and it will improve the quality of their designs overall.

Where I draw the line, however, is at actually shipping those designer-written scripts with the game. They are a fine prototyping mechanism, incredibly useful at creating gobs of data, and a brilliant simulation mechanism. Designer scripts are also often slower, more obtuse, and less maintainable than the equivalent script (or code) written by a professional programmer.

Does that mean I think designers have some mental deficiency that makes them write crappy code? Of course not. While there are some basic concepts of programming that require a certain talent to grok (pointers, branches, order of algorithms) by and large most scripting designers have that talent. What they lack is the experience required to write code that you can keep running for years on end. Programmers spend all day, every day on the subject of how to quickly write maintainable code that runs well. For designers, it’s at best a sideline. We put our programmers though a hard-core technical interview to try to determine if we want to put up with their code. Any designer who can pass that interview is welcome to write production code in my book.

A much better approach is to provide a rich mechanism for driving game logic with data and give designers reasonable tools to manipulate that data. That doesn’t mean designers are reduced to inputting tables of numbers. The data-driven systems we use in Pirates allow designers to add entire new game systems by combining existing building blocks. We also work closely with the designers to implement new blocks for them on a regular basis.

Damion mentioned that schedule constraints often lead to programmers changing their tune when it comes to designers writing scripts. Tight schedules are why we integrated Lua in the first place. I thought it would let us take advantage of the people in the office who were less overloaded to write some of the game. My current position on designer scripting is a direct result of that Lua integration.

One thing I discounted in the “let’s get some designers to write some scripts” approach was how valuable the designer’s time is. In most cases it’s easier to build a new system using our data-driven system than it would have been to implement the same system in Lua. When using data isn’t easier, a day or two of a programmer’s time can usually make it so. Our system design team is even more critically understaffed than our programming team, and by using data instead of code we can save them time.

Just about everyone has said, “It depends on your situation.” It certainly does. If you have a team of 5 and your lead designer is also your junior programmer, you would probably be well served to have that designer writing production code. In a more general case with more specialization among your staff, it’s a bad idea to plan on all your design hires having that level of programming ability. And if you reject all designers who don’t meet some minimum programming skill level you may find it hard to hire designers.

All in all, the Great Designer Script Debate of ’07 has been great. It’s nice to take a break from whining about how many users Second Life doesn’t have or how raid content in WoW is the best/worst thing to ever happen to MMOs. Who’s going to kick off the next kerfuffle?

ARG Fatalities on the Rise

Watch this first.

So let me get this straight.  This is a game (or mocked up video of a game) that encourages its players to run around an actual city while staring at a little 4 inch handheld screen.  Even better, there are virtual dangers in the game, so if you don’t watch the screen at all times you might get squashed by a boulder.  To me, that sounds like a great way to get players run over by actual dangers like cars and buses.

Of course being able to run around the city and play such a game would be sweet.  It would give me a chance to get some exercise I might enjoy, instead of enduring boring workouts just because they’re good for me. Outside of “footrace to the castle” games there are even lots of opportunities for social interaction with such a device.

I wonder how the games would be be mapped onto different cities.  I suspect Seattle wouldn’t be too far down the list, but does that mean I couldn’t play at all when I’m visiting my family in small-town Colorado? Obviously the “actual actress shows up and smooches you” mechanic is never going to happen in the real world, but it looked like the game world was being mapped over very specific buildings, which wouldn’t exist in another city, let alone in a small town.  Maybe the software has to be smart enough to look your location up in satellite images and pick some nearby buildings as the key points in the game.  The client in your handheld them could then “fancify” whatever its camera sees without developer involvement.

In any case, it’s all very cool, and I look forward to a time when this kind of thing isn’t just vaporware.

AGDC 2007 – Day 2

9:30am Thursday – Fostering Open-Ended Play: Unleashing the Creative Community

Sulka Haro – Sulake

Sulka is the lead design behind Habbo Hotel, a casual non-game world popular among teens 13-16 all over the world. They get 11 million unique visitors per month and collect money with virtual item sales. By some measures (those that don’t involve revenue, but do involve users) they are “bigger than WoW.” That was a big theme at the conference. Everyone was talking about things that were bigger than WoW or as big as WoW, or whatever.

This keynote was excellent. Sulka talked about how Habbo Hotel came about and their experience expanding the game to add new hotels all over the world. He talked about the many features of Habbo Hotel; this is one seriously complex game. And, of course he talked a lot about the environments and forms of play that the users put together on their own. For someone, like me, who didn’t know anything about Habbo Hotel, this was a very educational talk.

11:00am Thursday – Web Client Development Issues – Best Practices

Michael Bayne – Three Rings
Michael Grundvig – ElectroTank

Three Rings is doing web development with their new game, Whirled. ElectroTank makes flash games and middleware. These two talked about the pitfalls of Flash, Java, and AJAX development for games that run in the browser. It was a pretty technical, but had a bunch of helpful tips on this sort of development.

1:30 Thursday – The Zen of Online Game Design

Damion Schubert – Bioware

Another talk that it’s worth buying the audio to. The slides are here, and Raph was live-blogging it. Lunch was a big rush to get to this one early so I could actually get in the door. :)

4:30pm Thursday – Startup Lessons from Recent Online Games

Raph Koster – Areae
Anthony Castoro – Heatwave Interactive
Joe Ybarra – Cheyenne Mountain Entertainment
Nabeel Hyatt – Conduit Labs
Daniel James – Three Things (Moderator)

This panel covered a wide variety of startup issues. To me the most interesting was funding: Each panelist had their own approach. Cheyenne Mountain is entirely funded by angel investors. They have more than a hundred of them. Heatwave is funded by a publisher in the traditional game studio route. In Areae’s case, Raph was approached with offers of funding from the day he announced he was leaving Sony and eventually settled on two different VCs to share the first round. Conduit is also VC funded and secured $5.5 million in funding over 6 weeks. Three Rings was self funded/bootstrapped, and launched Puzzle Pirates on relatively little funding, at least compared to the other panelists.

Gamasutra has a fairly complete writeup of the entire panel.

Pizza Testing

Sara discovered our secret competitive advantage. Starting a few months ago we’ve been running usability tests to try to smooth out as many rough edges in the game as possible before launch. Even though our testing is extremely low budget, we have been getting fantastic feedback on the game. The usability person we hired came on board after the first round of tests and has introduced a more scientific process to the testing. That has definately increased the value of the tests.
If you don’t have access to an expert of your own, you can still do this kind of testing. The basic approach this:

  1. Invite some local gamers to the office
  2. Order some pizza
  3. Let them loose on the game
  4. Observe

We have an FLSer with a notepad watch what they’re doing, prompt them to describe what they’re doing, and take notes on what they say and do. That’s it. No fancy cameras and no real science, but plenty of gigantic pointers at things to fix in the game. The usability person we hired has been helping out with those test, and we’re bringing her aboard to increase the pace of testing. The lab itself is just a dedicated space to do more or less the same level of testing.

I’m sure that spending tons of money on equipment and a bunch of trained professionals to use it would get us better results. Maybe those results would be twice as good, even. The cost would probably be ten times what we’re paying for our simple tests with a single trained professional. If we had all the money in the world, it would be something to look at, but for now the pizza testing is working just fine.

I wish we had started doing this years ago. There’s nothing like observing a real user to tell you where your UI sucks. :)

Kill Ten Rats

If we want to keep them, we need to make our players passionate about our games. The best way to do that is to have them kick ass as much as possible. In the case of MMOs that means completing tasks that make the player feel heroic or villainous (as appropriate) but always as though they are important and successful. So why do we so often start players out with quests that force them to fill the role of exterminator?

Vanguard: Case Study of Heroes
Take for example, these two starting quests in Vanguard. These are the first quest offered to humans and orcs, respectively:

Vanguard starter quests

The human on the left is being asked to kill 8 Leafsaw Crawlers, which are a kind of beetle about two feet in length. The orc on the right is being asked to kill a slaver, release a fellow slave, and make his way across the slaver-infested beach to safety. Which one of these players do you think is going to feel like they’re doing something important?

Just so there’s no confusion, this is what a Leafsaw Crawler looks like next to my human psionicist:

Leafsaw Crawler

This distinction continues well into the beginning quest chains of both characters. For the human the first several quests go something like this:

  1. Kill 8 Leafsaw Crawlers
  2. Collect 6 plants and deliver them
  3. Kill 10 scorpions (also about 2 feet long)
  4. Kill 10 giant scorpions (which turn out to be about 8 feet long, but aren’t any tougher than the little ones)
  5. Kill enough rat-men to collect the right number of rat-man parts
  6. Kill 15 rat-men of a higher level (who have scorpions working for them)
  7. Collect 10 miniature scorpions
  8. Deliver the miniature scorpions to the rat-men and see a little in-engine cut-scene
  9. Escort a camel to the city (along a perfectly safe path)

Contrast that with what the orc does for the first several missions:

  1. Kill a guard and use his key to free a slave
  2. Escort the slave to safety across a beach full of hostile orcs
  3. Kill 10 or so more of the hostile orcs to help the defenders on the beach
  4. kill 10 of a slightly different kind of hostile orc to collect medical supplies for the wounded defenders
  5. Use the supplies to heal the wounded
  6. Travel inland a bit to a friendly goblin agent
  7. Kill enough frogs to get the frog-parts you need to…
  8. Mask your scent from the hostile orcs’ guard dogs so you can sneak into their camp and steal their invasion plans
  9. Kill a hostile orc boss

These are just the first missions in each of these areas. I gave up on the human at that point, but the orc goes on to muster defenses to push the hostiles back into the sea (and various other interesting and useful things.) This represents the first two hours of game-play in each case.

What about other games?
This problem is not unique to Vanguard. In fact, many MMOs make player spend their first few hours doing shit-work:

  • World of Warcraft — For at least Night Elf, Dwarf/Gnome, Orc/Troll, and Tauren, the first few missions are all either simple “carry this over there” missions or involve killing the local fauna for their fauna-parts. Eventually, right at the end of the newbie areas, you usually get to fight some minor humanoid enemies.
  • Auto Assault — You spend the first hour or two in this game driving around killing irradiated crabs with your turret-mounted machine gun.
  • Star Wars: Galaxies – Pre-NGE you spent a few hours killing local animals until you leveled up enough to start taking on smugglers and bandits. Post-NGE you kill a couple stormtroopers, and then it’s back to animals for another hour.
  • Everquest — My human monk killed lots of bugs on his way to level 8 (which is where I quit the game.)
  • Guildwars — You actually start running into undead about an hour in, but up to that point it’s all killer plants and local fauna.

We should strive to be more like the games that let you kick ass from the beginning:

  • City of Villains — The first thing you do in CoV is break out of jail. And you get to beat up a bunch of fellow prisoners in the ongoing riot on your way out.
  • Everquest 2 — After a false start killing a rat or two on the boat your first few quests on the newbie island are about defending the village from invaders.

This isn’t about mechanics

None of the differences here are about the power-curve as you level, fighting multiple opponents, speed of advancement, or any thorny tuning issues. The magic ingredient in an ass-kicking newbie experience is context. The player needs to have their important status in the world established through mission design, character art for opponents, and flavor text. They don’t need to be the most powerful character in the area, but they do need to feel like they are able to excel at their tasks, and that their tasks aren’t just busy-work.

Are there other ways the player can kick ass in their first few hours? What have you tried in your game to give players this sense of success?