The Top 10 Things I Learned in My First Semester, #5

The history of game design isn’t one story. It’s a set of overlapping stories, with each genre having both recognizable eras of its own and links to larger, genre-spanning ones. Often these stories spread across time (thousands of years, in some cases!), across physical distance (Europe has its own video game design tradition, which looks completely different from the USA’s–but is little known here), and across academic fields (can the Metal Gear series be fully understood without taking a biographer’s look at Hideo Kojima?).

While the complexity of design history can be daunting, it hints at the incredible rewards to be found when one plumbs its depths. Every designer stands on the shoulders of giants, and there are so many more giants to stand on than we normally imagine! You can call upon giants in entirely different genres, or even seemingly-unrelated fields! The interconnected history of game design creates many, many vantage points from which one can analyze a problem and seek solutions.

Games influence, and are influenced by, lots of things. Avoid myopia; your understanding of games and genres increases the further you zoom out.

The Top 10 Things I Learned in My First Semester, #6

Visuals matter, even at the playtesting stage. First and foremost, they attract testers. People will stop and ask about a visually appealing game, whereas you’ll have to work to drum people up for a game that’s scrawled on a sheet of paper.

Second, they help teach the rules. If all of your components are 3″ x 5″ cards with numbers on them, your game will seem more complicated than it is. Using some graphic design will help testers engage with the game in a deeper way, since they won’t be wasting energy trying to remember which featureless cards go on the left and which go on the right.

Don’t waste time making art for every prototype, especially early ones. When you have an idea that’s working, though, take the time to do some simple graphics for it. Your process will benefit a great deal.

Theory: The Top 10 Things I Learned in My First Semester, #7

There’s good juice and bad juice in video games. Good juice directs the player’s attention to where it needs to be, and clearly indicates what the situation is so that the player can respond correctly. Bad juice either misdirects the player or gives confusing feedback. Don’t simply assume that your game is automatically getting better because you’re putting more juice in; test to make sure the juice is the good kind.

As a negative example, take a look at Super Street Fighter II Turbo. The particle effect for a blocked attack is blood red, while the effect for a successful hit is light blue. Although this might sound arbitrary-but-harmless, it’s pretty confusing during a fast-paced match. Seeing what looks like blood splatter, but is actually an indication that no blood was spilled, can easily lead to wrong play. Avoid bad juice!

Theory: The Top 10 Things I Learned in My First Semester, #8

Think first, code second. If you launch into programming instantly, you’ll find yourself making design decisions without even realizing it; implementing a feature this way instead of that way will constrain what you can do later. Know where you’re going, at least in a general way, when you sit down to the computer; it will help ensure that you’re in charge of the tool, rather than the other way around.

Furthermore, once coding begins it gets very hard to zoom out and think about design issues. Moment-to-moment bug fixing, architecture, graphics and sound . . . an endless series of implementation problems start demanding attention. While it’s tempting to get something on the screen as fast as possible, use the time when those concerns are still in the future to focus on the design and make sure that it’s as strong as possible.

Theory: The Top 10 Things I Learned in My First Semester, #10

It’s possible to create a game that’s fun, not because the design is good, but because it’s built on an inherently fun activity. When working on a game whose foundation is something like Truth or Dare–something that’s popular even before your game gets involved–it’s critical to pay close attention to what your design is doing. You’ll get lots of positive feedback just because the foundation is entertaining, even if your design isn’t adding a lot of value (or, for that matter, is subtracting some value!). Listen closely to the feedback, and make sure it’s about your design, rather than the underlying activity.

Theory: Don’t Whistle Past Graveyards

While in law school, I was advised never to “whistle past a graveyard”–to ignore a potential problem. It’s equally good advice in game design. If you can imagine a problem, players will certainly encounter it, and in its worst possible form.

Playtesting today reminded me of this in no uncertain terms. I knew it was possible to move one’s general in Phalanx to awkward places in the middle of formations, and thereby prompt weird behaviors–but who would do that?

Everyone. Everyone will. And why not? The game allows it, so surely it’s good sometimes . . . .

I’ll be taking that ability out of the game. More importantly, though, I’ll be taking the lesson. Don’t whistle past graveyards. You’ll always have to go back and deal with them later.

Link: Africade

An interesting window into a game design culture on the other side of the world: Africade, a tumblr with links to some brief movies and articles on an indie game development scene in South Africa.

I was particularly struck by “The Choosatron,” a choose-your-own-adventure game played on what appears to be a modified receipt printer. One of the articles points out that this makes it possible to take one’s play home afterward; playing the game inherently involves creating a permanent record of the experience. It’s a fascinating approach.

Link: Phaser

As I work on Phalanx, it’s struck me that I owe a shout-out to the engine it’s built on, Phaser. Phaser is an HTML5 engine for browser games. It’s got a lot to recommend it, even if there is the occasional drawback.

First, the good! Phaser is:

Chock full of features: Need a physics engine? There’s several to choose from. A particle system? You’re covered. Phaser does the vast majority of the things you want a game engine to do.

Broadly compatible: I’ve not yet found a browser that Phaser doesn’t like.

Used to make browser games: OK, I’ve already mentioned this one. However, I think it’s fair to list it as a selling point. As one of my professors noted, there’s no better way to get your game in front of lots and lots of people than to just let them play it in their browser. After all, not everyone’s got a PC, or a Mac, or an Android device, or a PS4, or an Xbox One, or an iDevice, or an Ouya, or whatever . . . but everybody’s got a browser.

Open-source: Better coders than I can modify the engine to get it to do exactly what they want.

Free: Perhaps this is a necessity in the era of Unity and the Unreal Engine, but it’s still important.

In honesty, I do have to concede that there are a couple of issues a potential Phaser developer should be aware of.

Documentation: Phaser’s documentation can perhaps best be described as “uneven.” It’s good enough for experienced programmers. Beginners can find themselves at sea.

Performance: More an HTML5/Javascript issue than a Phaser issue, perhaps, but you’ll have to keep in mind some pretty hard limits on how far you can push your game. Phalanx uses simple 2D sprites with some minimal particles, and that’s enough to heat up a 2015 Macbook Pro.

Javascript: Not the programming language I’d prefer to be using.

In my mind the benefits Phaser brings substantially outweigh these weaknesses, two of which aren’t even fairly laid at Phaser’s door. If you’re looking for an HTML5 engine, or just a way to make games that will help you bring them before a large audience, give it a look.

Phalanx: Dear Me

Dear Me,

You got a lot of great feedback today. That means it was a good day for the game!

Now, 48 hours from now something is going to be broken again–probably a lot of things. You’re going to be hip-deep in trying to get your code to work. There’s no reason to deny it; that’s always how this sort of thing plays out.

When immersed in the code like that it can be difficult to remember what the real goals are, as distinct from what the very next step of get-this-to-work requires. Ergo, I’m noting the feedback here, where you’re sure to look. 😉

  • Bodies are distracting; look like they should still be something the player can interact with. Either get rid of them entirely or make them more obviously not like active pieces.
    • Animation for dying that then goes away?
  • Small sparks indicating where formations have hit each other head-on.
  • Board colors are too intense; looks like a camo pattern, or just like digital blur. Do something different; perhaps muted colors with a layer of grass at the bottom?
  • Only highlight the last formation created; highlighting all of them becomes less useful over time.

Good luck!

– You