Friday, February 12, 2010

Level Design Primer: Notes on Playtesting

Friday, February 12, 2010 11
Playtesting is like working out--you can go a long time telling yourself you don't need it, and then when you finally get around to doing it it will hurt so much you'll probably stop again for too long.
But resist the temptation to quit. Understand that testing is an inextricable part of good design; what you're making is for the player after all.


You Are Not Your Work






I feel a little silly parroting this again, but it's worth it if gets through to just a few more people. Remember the lesson of every teary-eyed critique in art classes the world over--you are not your work.
It is of you, but it is not you. While you may be deeply invested in it, once you have made something it is out there in the world and separate from you. No matter how coarsely phrased a criticism may be, remember it is a reflection of the work and not you personally.
There are creative professionals that get by without learning this but boy does it cause them no end of grief. The pride and joy of creation I think must necessarily follow with detachment; a distanced, even clinical appraisal.
While I've found this kind of professional detachment also tends to shave the peaks of euphoric highs during development, it's more than worth it by pulling out of the gutting lows. You can be still be passionate and excited about your work without taking the emotional rollercoaster that comes from not being able to separate your work from yourself.


Conducting The Test



[This is assuming you're using what Will Wright calls a "Kleenex tester," a player without prior experience with the game who will likely not test again, rather than a professional or regular tester.]

Make sure your tester feels comfortable enough to talk freely, but do not get too friendly with them. Exerting the social pressures of a new acquaintance (or invoking your friendship with someone you know) means getting polite answers instead of useful ones. People will likely downplay or politely lie to your face to avoid an uncomfortable situation.

I usually start with a very short capsule summary of the game and it's premise (no more than a few sentences), along with any mission-critical info if they they're playing a level that's not the beginning of the game. I also make sure they are able to set any control preferences before they begin (though I don't know why we tolerate your kind, EDSFers. Go back to the Moon.)

Then it's time to prime the tester to think outloud. I'll say something like the following:

"What I'd like you to do is say anything that comes to mind while you're playing, things like "I'm frustrated," or "this part is cool."  Don't worry about offending me. If something is really bad you're doing me a favor by mentioning it, it'll help make the game better. Ask questions if they come up while you're playing, or if something isn't clear say so and I'll respond to everything--but after the test is over. While you're playing just enjoy yourself, pretend I'm not here."

Be very aware of how much physical positioning factors into the tester's comfort level. Grab your notebook and sit several feet back, as far back as you can off to the side and well outside their peripheral vision. Making sure they don't feel like you're hovering is important--nobody likes that feeling, and testing can already feel a little weird for most people already. Giving the player headphones can also help them feel less self-conscious. You can still come up and fix a show-stopping flaw or restart the level as necessary, but generally try to make yourself invisible for the duration of the test. You're there to observe.


Slow Motion Trainwreck



And here comes the hard part. Now you get to see all your brilliant plans laid to ruin as what you thought was simple and straightforward to the player is anything but. Try to take it in stride; now when I playtest I almost feel like a classic Freudian analyst, or a scientist regarding a lab trial. Clinical detachment is useful here.

Once the level is out of your hands there's nothing you can do to help it if something goes wrong. So if during the playtest something does happen (such as the surprisingly common scourge of "player error"), short of a crash or other complete show-stopper, you're just going to have to grin and bear it. This can be one of the most punishing aspects of a playtest but this is your lot. What's hardest to take often ends up the most useful information.

So pay close attention. Get impressions down immediately, but make as many notations about specific problems as you can. Missed cues, objectives that are ignored or unseen, key dialogue that doesn't seem to be heeded, horribly unfair firefight, collision problems, the player wandering off the map--all of the above might happen in a single test.
    This is your chance to see your world through someone else's perspective, so keep your eyes on the screen and write down any comments they make. Make a mental record of where they're looking--if there's an important element that never crossed their sightline, why or how did it happen? Did you misjudge the clarity of your layout?
As we talked about in the previous LDP article, no one tester's word is law, their experience necessarily represents just a single small data point. Yes, a single test can reveal a lot of issues that obviously should be fixed, but generally speaking you're looking for patterns from multiple sessions; reworking too much based on a single test can be very counter-productive. Balance your observations with instinct.

***

Regular testing will likely result in a greater knowledge of your own bias/hyperawareness of the level. What you feel like is "really overdoing it" might just be noticeable to the player, and the touches you consider "subtle" will probably escape notice entirely.
So test early, test often--it will get easier, and you'll have to redo so much less work if you get playtesters in at the earliest opportunity. Your sense of what works and what doesn't will naturally sharpen. You'll find yourself building level elements that anticipate typical player behaviors, rather than having to come and fix them after a test.

Thursday, February 11, 2010

Level Design Primer: Starting A New Level

Thursday, February 11, 2010 7
When a modern FPS level takes weeks or months of production time it's probably a good idea to approach a new one with care. What follows is a summary of the six most important lessons I've learned so far about starting new levels.

1. Plan On Paper

"It is important to use your hands, this is what distinguishes you from a cow or a computer operator."
- Paul Rand



Shigeru Miyamoto and his team first designed the classic Super Mario Brothers levels on long paper scrolls. I find little hope of building a space as sublime and iconic as World 1-1 by bringing technology to bear too early--so don't open up the editor just yet. Start on paper. Try to give yourself (or beg your superiors for) enough time to think and to plan; it will pay off later.
Apologies for sounding like your gradeschool art teacher, but your most important tools are that piece of paper and your imagination. Especially in a production environment, some notes and a whiteboard or a few simple drawings can launch incredible ideas. A hundred different scenarios can be suggested and discarded before a single BSP brush snaps to the grid. Run with the ideas that intrigue you and don't worry too much about technical constraints just yet.
Get comfortable with thinking on the page; write down and sketch your internal dialogue. Don't trust that just because an idea is so awesome it means you'll remember it, or remember it in the same way. Buy a notebook or sketchbook if you don't already have one. As I point out in my article on character design, there's no need to get hung up drawing quality. Everybody can draw well enough to help develop layout ideas--simple lines and boxes will do just fine.
Brainstorm your approach to the level, specific sequences you might build around, hooks that make the experience of your level unique. Record them and then set them aside as you work. We'll cover the discipline of ideation in another update, but the important point is to not get married to the first ideas that crop up. You want to do enough thinking and doodling that you have the pick of the litter of many ideas in layout and encounters, not just being forced to execute on a small handful.
Try to complement this early planning stage with talking through your ideas with others. Kick them around with friends and coworkers whose sensibilities you trust. Try to get some feedback during all stages of development, even (especially) from people who you don't always agree with. George Lucasing it up with your own troop of yes-men is more comfortable but will ruin the work over time. Ideas get better--or at least the bad ones flushed out faster--once you try them out.

[We'll also leave out talking about research for the time being, but suffice it to say I am a strong proponent of research-driven approach to pre-production.]


2. Establish Scale



As you begin to rough in your level layout in the editor, one of your first priorities will be to establish scale. There's a reason why development textures for many games will have real-world comparison measurements all over them: you'll want constant markers and reference points to register the scale of your space.
With Darkest of Days there were several levels I sculpted the initial terrain for or also did a good amount of set-dressing, but did not script, and these are the levels I am most disappointed with because they are simply too large. The size of and therefore pacing of the levels are intrinsically distorted because I did not pay close enough attention to scale.
Terrain/outdoor spaces make it especially difficult to keep a grip on scale. You may think you can judge the scale of that hill you just raised, but in the abstract space of the editor it could be 20 feet or 200 feet.
For their part, indoor spaces also tend to require exacting consistency in calibration. Failure to do so will make for levels that will at best feel slightly "off" to the player, even if they can't articulate why.
Once you have created a terrain mesh or set laid brushes for your floorplan, immediately place objects in the world that you are intimately familiar with. Use the player character or as close to person-sized NPC as is available, cars and trucks, anything you know well. The closer they are to real-world objects the better, in order that you can fix them and your level in relation to real-world scale.
Here the first person perspective can be deceptive. your level can look normal sized while moving around in it alone because of no comparative cues--so be sure to place NPCs. In a pinch even a box, scaled to 6 foot high or so, will prove useful.
I recently did some work in UDK which was very interesting, because the tutorial/demo content is based off of Unreal Tournament 3. When a game is based on a traditional multiplayer deathmatch environment, double-jumps and all, objects and space are usually blown out a little to make room for the action.
A chainlink fence asset that I assumed to be about 8 feet tall turned out to be nearly 20 feet tall, skewed to the needs of UT3. Get to know your game's scale conversion between in-game units and the real world, so you can more accurately judge size relationships as you work.
Resist the temptation to leave obvious problems or faults in that "you will fix later." You will regret it. Small oversights become catastrophes with time. Once you're farther into building your level, recalibrating scale may become difficult or impossible without completely rebuilding.



3. Play and Pace



Play your level constantly, paying close attention to how the layout feels.
The map is not the territory, even in a virtual world. What you see or think you see while floating around godlike within your creation has little if anything to do with the experience of the player, which is all that matters. As soon as you've got anything to walk on, place scale references and start playing it.
Pace through your entire level's playable area/intended player path in real time. Do not cheat. However long your level should take to play through to completion, you should spend close to that amount of time pacing through every moment, every fight and puzzle, long before they exist to anyone else.
Go so far as to play out mock firefights, even with no enemies and nothing but a platform separating you from the endless void. Look at the outline of your level and consider the ramifications. Is this run-up too long, too short? Does the player have enough time to appreciate the clever visuals you have planned over to the left there--in fact, will it cross their sightline at all?
Changes that come from this initial read of the layout are critical. Over time, a level begins to harden and set like concrete. The accretion of set-dressing, scripting, sounds and AI behavior steadily freeze what at the start is fluid, so take advantage of it while you can.
The further into the process you get, the harder major changes become. As with planning, do not be afraid to make sweeping changes or start over. At this stage it costs a fraction of the time and energy it will to change later on.

When I build levels I pace through them obsessively, over and over; imagining the player's line of travel through the level as a kind of furrow I dig with my feet. As I walk through the level over and over, the furrow deepens and widens into a path, graded and accommodating.
When the player arrives the level will be "paved" in this way, suitable for him to travel and puzzle and battle in. Problems are anticipated and corrected by tirelessly pacing through the world at every stage of development, reducing the likelihood of playtesters discovering unknown corners, snagging on jagged edges unencountered by the designer. You built this world, you should know it better than anyone else.



4. Build Up The Canvas



This advice is also rooted in experience of making art. When painting it's very easy to get excited about a particular detail--an eye, an ear of a portrait--but then find yourself stymied, lost for how to finish the rest of the piece. You have a single excellent detail drawn but now you are worried because it doesn't seem to fit with the rest, you have no idea how to proceed--worse yet you've been captured by preciousness, wanting to preserver all the hard work you've just done, scared to ruin it.
Level designers reading this may recall similar experiences of building a room or a particular sequence to perfection, and then stare at the rest of the unfinished level with dread, unsure of how to continue.
To combat this, remember to "build up the canvas" equally. In painting, this means to develop the whole picture to roughly the same detail level in successive passes.
In level design, this means resisting the temptation to build, script, light, texture-align and set-dress a single room to finished quality and then move on. To be sure, some successive room-to-room building will occur but try not to. Your work will go more smoothly by building with successive passes, increasing the resolution of the entire design as evenly as possible. Not only will this help keep you from stalling out, but it increases consistency and makes practical sense in a production environment, allowing for more representative playtests sooner.
This principle is also applied to marker rendering techniques taught for product designers. Say your boss or your client suddenly wants the design now, not tomorrow or next week. By building the detail of the piece in successive passes, you can rest assured that if asked for early (or if it takes longer than expected) while it may not be overall to the finish level you wanted, it will be consistent and look equally "done" to the client.

Using this strategy the level always close to progressively higher states of "done". This will help you from getting caught setting a slower pace for building your level than you'll be able to complete on time.



5. Track Moment To Moment



Once you have the broader strokes, the pace and rhythm of the level right, you can step in and refine and develop the details. People remember and relate in terms of stories; refining the moment to moment narrative of your level is an excellent way to make it memorable.
By this I mean you should consider how a player would narrate, in simple terms, discrete events in your level. "I sniped the officer, crossed the bridge, set fire to the gas tank and saw some cool jets fly over, then got inside the mech and blew up a building."
A minute of gameplay is a year, three minutes of any one activity seems a lifetime. Breaking down your level in terms of these smaller sequences will identify problems and help suggest more discrete moments and encounters, avoiding tedium or repetition.
Clarify specific experiences within the level you want the player to have. where do they take cover? if they take time to look around, what details are they rewarded with? What might be found by carefully searching the scenery? Levels will often have a dialogue script, but what is the action script for the player like?

Take a look at your level and see if you can construct a basic narrative from the experience. Does the scenery blend together a bit too much? Ask your next playtester to briefly describe in basic terms what they did/what they saw, and see how easy it is for them. The more discrete moments or sequences they can recall, the better.


6. Factor In Testing



This is one of the most important aspects of level design, of game design as a whole: test early, test often.
Other people playtesting your level needs to happen almost as much as your own in-game appraisal of the work. The level is ultimately to surprise, delight, and challenge the player, not to hold a mirror to your shining glory and genius. You will have no understanding of how successful your level is--or how potentially rotten and recycled--until other people play it. Often the difference between good and great levels are just how much more thoroughly tested the latter are.
I feel the need to qualify this carefully given the rise of a certain perception of playtesters end up "dumbing down" great levels and mechanics, particularly for console games. There is a kernel of truth to this; occasionally games have been altered for the worse by improperly factored testing.
We must remember that the designer is not the player and the player is not the designer.
I could expand this key concept--a variation on what Warren Spector considers the "co-authorship" of games--into an entire article on its own, but the point is that we cannot let player feedback alone override good sense and instinct.
The player is not the designer. Playtesters are usually filled with a lot of worthwhile suggestions, but these should be considered with care. Watching a player play, monitoring their action directly says far more than they will tell you went wrong or right.
When you observe playtests you are looking for patterns, the larger and more varied the sample the better; unless hugely positive or hugely negative, no one single playtest should too strongly skew your perception of your level design.

But there again, the designer is not the player. There is no greater criteria for a level's quality than how well the player enjoys it. All that we do comes to nothing if it is not done with the player in mind. Developing good habits and remaining acutely aware of how your new level is taking shape can take a lot of the pain and frustration out of a long and sometimes maddeningly complex task.

***

Tomorrow: the playtesting bonus round. Detailed description of my own methods, an argument for playtesting protocols, and why conducting disciplined playtests will make you a better designer. Quoth Aubrey: GET PUMPED.
 
gausswerks: design reboot. Design by Pocket