Things learned at ECGC 2012, part two
Sunday, May 6, 2012 at 9:30PM
Kevin Conner in Design, Feature Posts, Graphics, Production

This is the latter post of a two-part series on what I learned at the East Coast Game Conference on April 25th and 26th. See part one for more.

Bioware keynote — Paul Barnett

Making games that you don't ship doesn't count as making games. Ship something, and then you can talk to game makers as peers.

The golden age

When you're young, you go through a golden age of playing games. You have endless time, patience, and curiosity. You eventually lose all of these things, but during this time you're imprinted with all the reasons you love games. You come to view games made afterward as just rehashing your old favorites.

You have to work with other generations of gamers, and you will have two communication problems:

First, you and they don't obsess about the same games, that is, your golden ages happened at different times or in different cultural contexts. For instance, Paul grew up in the UK where there was no Nintendo. What? Exactly.

Second, throughout your career you'll meet The Power. Sometimes it's a person you need to get through to. Other times it moves through an organization. You need The Power on your side, and they tend to be older than you and from an older golden age. You can't extend your golden age back in time by playing old games, but it's worthwhile to play them just so you can relate to The Power. This opens them up to you because you get it.

Knowing the limitations of your golden age and others' will help you appeal to other people for support.


Game careers are love affairs. They make you stupid, and they go well and then badly seemingly at random. Love makes you put up with turbulence. If you lose the love, get out. But love fuels your desire, and it's desire that you end up mining for creativity. Nothing else in your career matters as much as that.

You have to stay in love with making games and keep your desire up. Even if you fail you can still have a great time, because that's how love works. It's a great way to live.

You also have to be able to filter the information and feedback you get and become hardened to it. Everything that people casually say goes on the web now and can hurt your feelings, whereas in the past it would have just disappeared and not reached you. So get that dirt off your shoulder.

Types of people

People from Generation Y believe they can do absolutely anything, and so they build their skills up on their own and become specialists or commandoes. (Sounds about right. I kind of live for that.) Millennials like to work in teams and do big things together. They need to be built up because they don't make themselves into superheroes. I don't understand this, but at least now I know there's something I need to learn about Kids These Days.

Besides generational differences, there are three types of people. You're either actually fabulous, or you're well-meaning with desire and worried that you're not that great and you sometimes feel like an impostor, or you're smart and lazy. You want to be and work with everyone but the latter kind.

Computational geometry for game programmers — Graham Rhodes, Applied Research Associates

I think it was Red Faction that first allowed players to destroy terrain in a 3D world. Half-Life 2 impressed me with its realistic wood splintering. Spore and Minecraft create the bulk of their geometry procedurally and in response to player actions. The common thread in these games is that the game world can change in response to player actions. They are also unique experiences even the first time you play them, perhaps because their gameplay is harder to replicate.

And that's the whole problem: This is really hard to implement such that it will perform well at runtime. When I started on voxel rasterization, I hardly knew where to begin.

Graham Rhodes presented us with some basic data structures for geometry that let you walk the vertices and edges in a mesh and conveniently modify them by swapping pointers. I won't go into it here, but you can view his slides on Essential Math — Find "Computational Geometry" on that page.

Designing better levels through human survival instincts — Chris Totten, Pie for Breakfast

This talk was my favorite of the whole conference. I have a lot of notes so this will be fairly staccato.

Level design is where your abstract game mechanics are worked into concrete experiences for players on a moment-to-moment scale.

Types of spaces

Chris suggests that every level designer read Origins of Architectural Pleasure, in which Grant Hildebrand writes that our survival instincts create our idea of what a pleasing space is. But consider that in games, you create not just pleasing but also threatening spaces.

Narrow spaces limit your motion and create a sense of vulnerability because you can't avoid things. Zombies can be an "alternative architecture" because by surrounting you they create a narrow space.

Intimate spaces are neither confining nor overly large. You can move freely, but it's not so big that there are places you just can't get to. Intimate spaces are the right size and shape for you to feel like you control what happens to you.

Prospect spaces are wide open areas where you're visible and likely to be attacked. Boss rooms in Mega Man, for instance, are usually just four walls. There is nowhere the boss can't hit you if you hold still.

Neighboring a prospect space you will usually have refuge spaces. These are small areas in which you're comparatively safe. You can look out across the prospect space, find another refuge, and plan how you're going to get to it.

On the antlion beach in Half-Life 2, all the sand is threatening, and all the rock is safe. Prospect and refuge spaces are the foundation of some sneaking games like Metal Gear Solid, as well as cover shooters like Gears of War.

Features of spaces

Height can give the player an advantage and make them feel powerful, or it can threaten them with the prospect of falling. In Half-Life 2, the Combine's architectural theme uses lots of tightly-packed vertical lines. This draws your eye up a wall or down a chasm so that you get a stronger sense of height.

Shadows produce progressively scarier spaces as you move from light to dark areas. Complete shadow builds negative space. When enemies live in shadow, you become afraid of the shadow itself. Shadow can also be a refuge if you're the master of it, as in Splinter Cell.

Shadows can also create a visual rhythm across a space, which can encourage players to move that direction. Players will follow the shadows extending from a set of columns, for instance.

Diffuse shade creates a sense of atmospheric ambiguity. Modern Zelda games do this well: You never know what's going to happen in the next room of the dungeon. It could be an item or an ambush. This builds the player's anticipation.


Other good reads for level designers are Christopher Alexander's Pattern Language and Lyndon & Moore's Chambers for a Memory Palace.

Color can give you a sense of danger or safety too. Color is an effective way to build symbols. Then you want to teach the player to read those symbols early on in the game.

Reflective surfaces can help make a narrow space feel like a prospect space.

Vistas are visual rewards. They give you a bit of relief, so long as you're not being hurried through.

Counter-Strike had simple maps with particular places where you could expect action to happen, with a few outlying territories and corridors leading toward them.

A level design sketch is only a sketch. You need to get it into 3D to really make it concrete and form judgements. Prototype soon, and involve sound design early.

Valve designs an experience for the player, implements the shape of a level in the game, tests with just the shape, and then adjusts the shape toward the desired experience. Art is done only after the mechanics are right.

Optimizing AAA Games for mobile using UDK — Aaron Jones, Epic

I'm not using UDK, but I'm building a game engine and a level editor, so there was plenty for me to learn at this talk.

The major bottleneck on iOS is the draw call count. If you have an indoor world with specialized geometry in certain rooms, you can group all of the things in the room into a single object and make it one draw call. You want to make a single call for every part of the level that will be visible at a time.

In UDK on iOS, a good upper limit for scene complexity is 42,000 vertices for everything. I imagine this has to do with the parameter buffer size. To keep detail, you can balance a low polygon count with higher texture resolution, but mind your memory usage.

Level editors create level-building workflows. Performance optimization needs to be possible at the end of level production. I'll want to put a live vertex count on the screen in the 3D preview window, so I can feel out a heuristic for a simple scene, a complex scene, etc. and establish objectives for good performance.

To profile level performance and test it before and after you make changes, create a simple flythrough. I'm reminded of the timedemo command in Quake.

World Building 101: If you want to make an apple pie from scratch, you must first invent the universe — Kevin Human, Digital Roar

Kevin gave us a general rundown of how to create the story for a game. I needed this.

When creating a story, you must express yourself in it. This is the only way to create something genuine and believable.

Games should begin as late in the story as possible and still maintain coherency, and should end early too. You want to be left wanting more.

In games, the gameplay itself is the narrative. The story is dressing that augments the narrative. So the story must not get in the way of the telling. It should be the story fitting into the gameplay and not the other way around.

To make the story simple enough to fit into gameplay, express it in simple terms:

Your story will deepen if there is a real chance that bad will win out over good. You want the audience leaning forward and watching, not leaning back and waiting.

Don't sit and make up a plot, instead, sit and study people. Characters and their motivations can create a plot by bouncing off one another.

Don't put anything anywhere in the game unless it has some meaning to the game world. As in Bioshock, the environment becomes a character.


As I wrote in part one, this conference was a lot more valuable to me than I expected it to be. You've got to come out next year.

Article originally appeared on Degrees, a game in progress for iPad and iPhone (
See website for complete article licensing information.