Tuesday, April 17, 2012

My main game development blog has moved to http://www.abstractrose.net. See you there!

Saturday, June 13, 2009

What makes platformers so great? Part 1: games and interfaces.

This article delves into why many old 2D platformers are still fun. I spent a bit of time thinking about the question myself, and came up with two main reasons.

The first is that platformers are essentially well designed user interfaces. Here are some interface design principles from an HCI class I took last semester:
  1. Direct manipulation, or the feeling of interacting with data directly rather than through a third party. Among other things, direct manipulation interfaces continuously represent objects and provide (quoting Wikipedia here) "rapid, reversible, incremental actions and feedback". (A common example of this is graphical versus command line operating systems. This principle is used in pretty much every modern interface.)
  2. Quick response time. After a pause of a few milliseconds, the user starts to become aware of the computer.
  3. As few modes as possible. Every button should do only one thing at any time, with the exception of modes that are enabled by holding down a toggle key.
  4. Habits are hard to break. Don't do things differently than the most common interfaces.
  5. The controls should naturally map to what they represent. For example, a value between two extremes should be controlled by a slider, not buttons.
  6. Good graphic design (see Gestalt principles). The appearance of the interface should coax the user in the right direction, rather than forcing him to stop and think about what to do next. Minimalism is also a good thing.

When combined, these principles significantly decrease the cognitive effort required to perform a task using the interface, to the point where it becomes almost intuitive.

All of these principles have parallels in platformers:
  1. Platformers are almost ideal direct manipulation interfaces. You interact with various persistent objects like the player, powerups, and enemies; your actions are rapid, reversible, and incremental; and feedback is immediate. You feel like you're directly interacting with another world, which is exactly what direct manipulation interfaces strive to do.
  2. As the article points out, platformers generally ran at 60fps, giving them excellent response time and smooth motion.
  3. Modes were rare in platformers, though some had buttons did more than one thing. (For instance, the run/fire button in Mario.) Toggled modes were common: running in Mario, sliding in Megaman, etc.
  4. Each console's games had similar controls and interfaces, due in part to the shared hardware. Because game controllers were so similar, even games for different consoles often played the same way.
  5. The controller directional pads were used for movement, while the other buttons controlled discrete actions like firing and jumping. Some buttons could be held down to prolong or otherwise modify the default action. "Special" buttons like start and select were often oddly-shaped and more difficult to press. These are all examples of good mapping.
  6. Platformer HUDs were generally very minimal and clear, often relying on graphics instead of characters to convey information.

Platformers share these principles with many other games -- in particular, ones in which you directly control a single character, like most action games.

As with conventional interfaces, these principles create a more intuitive experience for the player. The more a game deviates from them - be it through lower framerate, cluttered HUD, or pages of controls - the more cognitive effort is involved in interacting with the game.

With good interfaces, we no longer have to think in terms of discrete actions, but can instead process tasks much as we do naturally. Good interfaces form a layer of abstraction between our minds and computers -- that final, subjective layer that bridges human psychology and machine code. This is the first reason that that those old 2D platformers are still fun: even though they have many "antiquated" elements (an entirely separate discussion), their interface design principles are identical to those of modern "direct control" games.

They might not be as immersive as modern games in terms of realism, but they are just as immersive (if not more immersive) on a cognitive level.

(To be continued!)

Saturday, July 19, 2008

Status update:
  • Video game design: a bit of progress. Started working on my pixel art. Downloaded the Game Maker source of Banana Nababa to fiddle with; I imagine this will serve me better than any tutorial as I'm a hands-on learner. Played lots of games, though I can't say my game design goals were always in mind.
  • Music: unfortunately, little progress. Reserved Hanon at the library; intend to get sheet music and guitar training books when I go there over the weekend. Played some exercies on the piano.
  • Programming: significant progress. Picked up a C++ book, and have already finished 1/4 of it.

Tuesday, July 8, 2008

First order of business: establish my goals and hobbies for the next year or so.
  • Video game design: I plan to get into video game design on two fronts, indie platformers and first-person shooters. General goals: level design, good gameplay mechanics, designer-player interaction, art+music+writing.
    • Indie platformers: learn Game Maker, pixel art, and tracker-based composition. Analyze various indie games.
    • First-person shooters: learn Hammer, some of the other Source SDK tools, and 3D modelling. Analyze various first-person shooters.

  • Music
    • Composition: analyze various compositions and pieces.
    • Performance: learn guitar and practice piano.

  • Programming: learn C++, dynamic linking, and the Windows SDK. Work on some open source projects. Review Berkeley notes.