Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/kses.php on line 692
May 26

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

Somebody at work asked me today for a list of good book recommendations for game designers, so I figured I’d put the list here to help as many people as possible. All of these books have taught me important things about design or have helped my work even though they’re not directly about games development.

Creativity and Innovation

Project Management

  • Facts and Fallacies of Software Engineering by Robert L. Glass: Quick overviews of lots of interesting topics on software development — nothing really in-depth, but you’ll get a lot of information in few pages
  • Peopleware by Tom DeMarco and Timethy Lister: A classic on project management. The only management book I’ve read 3 times — it’s that good.
  • Patton on Leadership by Alan Axelrod: Leadership methods based on General Patton’s approach to leading his troops

Interface Design

  • The Design of Everyday Things by Donald A. Norman: Essential tips on creating interfaces that are easy to use
  •  Emotional Design by Donad A. Norman: Going beyond interfaces that are easy to use, how do you make people have an emotional reaction to your design?

Writing Well

  • The Elements of Style by William Strunk jr. and E.B. White: A small book with a ton of tips on improving your writing.
  • Creating Unforgettable Characters by Linda Seger: How to create believable and interesting characters for any kind of fiction.
  • Story by Robert McKee: Learn how to be a great screenwriter

Communication

Marketing

  • Made to Stick by Chip Heath & Dan Heath: Learn what makes ideas stick in people’s mind.
  • Positioning by Al Ries and Jack Trout: Essentials of modern marketing
  • The Anatomy of Buzz by Emanuel Rosen: How to create word-of-mouth marketing
  • The Tipping Point by Malcom Gladwell: More on word-of-mouth marketing and the effect of social networks on the popularity and impact of things.
Apr 14

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

Gamasutra has an interesting opinion piece on why talented people end up making poor games, especially when it comes to licensed games:

Specifically I’ve been thinking recently about why good people make bad games. It’s amazing to me that I can go and speak with someone working on a movie licensed title, and they’ll be full of legitimate enthusiasm, real ideas, and almost convince me - OK, this time they’re going to get it right.

Then the game comes out, releasing day and date with the movie, with under a year of development time, and totally flops critically.

What’s depressing about this scenario is that nobody wonders why. Everybody on the team already knows! The schedule was too short, the demands from the licensor were unreasonable, and the project wasn’t well managed.

Some of the comments at the bottom of the page are very insightful:

The environment is not conducive to risk-taking:
A lot of developers feel that because the industry (especially the console industry) is such a stratified and approvals-ridden space that there is not much room for creativity. The average would-be game developer these days has to put a lot of muscle and reputation behind an idea to get it approved the 47 required times by different parties and still have it see the light of day.

Personally, I believe it’s often because quality is at the bottom of the list of priorities for the developer, the publisher and the licensor. Releasing on time is more important than making a good game because missing, say, the release of the licensed movie would cost a lot of sales. Not going over the budget is a higher priority because the name of the license is seen as influencing sales more than reviews. Putting a good bullet-point on the back of the box is a higher priority because more people read the back of the box than read reviews. I’ve heard of all of this from many people working at many companies. It’s hard to make a quality game when the people with the most power over the project see quality as a “nice to have”.

Still, there are ways to make quality licensed games. The best approach I’ve found is to find a fun and simple core gameplay and focus on it, removing everything that’s not essential to the game. Making a simpler, smaller game results in a better title at the end because you had the time to do it properly. You’re better with a few good features than a lot of half-finished features.

Mar 26

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

You may be familiar with the uncanny valley. It’s the name of the phenomenon where almost, but not quite, real-looking characters appear creepy to viewers. The gap between the almost real and the real makes the character look repulsive.

As game graphics improve, we’re reaching this point. The characters in Mass Effect looked quite strange at times, for example. The makers of animated movies understand this principle — Pixar’s stylish graphics are much more attractive (and popular) than those of The Polar Express.

I’m surprised there are so few western games with stylized graphics. Manga-looking Japanese games are popular here and so was the cartoony Team Fortress 2. Why must so-called next-gen games always look more realistic?

Feb 29

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

Five things I wish game developers would just stop putting in games:

  1. Crates: They’re just the point where developers ran out of ideas.
  2. Explosive Barrels: Barrels don’t explode in the real world and nobody would put explosive devices right in the middle of their base.
  3. Blowing in the DS’ microphone: It was a gimmick the first time somebody put that in a game, now it’s just a tired feature.
  4. Beating again all the bosses at the end of the game: Can you say “filler”?
  5. 20 minutes long cutscenes:  I’m running your game to play. If I wanted to watch a movie, I’d watch a DVD.
Feb 28

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

On the surface, Bioshock is about a man shooting his way through a dystopian underwater city. What it’s really about — its subtext — is objectivism, the consequences of following a view of the world that’s too absolute, and the limits of free will. This added layer of complexity is what made the game something more than another mindless shooter.

What’s the subtext of your game? What is it really about?

Feb 26

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

Call of Duty 4 is a really well designed game. The one thing I admire most about it is that the whole game makes sense. Where most games take shortcuts with logic — why can you open any locked container in Mass Effect by playing a short game of Simon Says? — CoD4 stays grounded in reality for the whole thing. The whole experience is consistent.

I believe that’s an important next step for games: making sense. Gamers are used to the inconsistency of game, but non players are often put off my the abstraction of games. The closer a game behaves to what the player expects, the less has to be explained to play. The purpose of a machine gun is obvious, whereas the purpose of an alien gun in a sci-fi shooter needs more explanation. Very little context is needed for the action in CoD4 because the action is close to something players already know (soldiers in the Middle East).

“Making sense” doesn’t mean that the game has to be realistic. A very stylish game can be consistent, credible and close to the reality the audience is familiar with. What’s important is that things behave in a believable way, in a way that fits logically with the game world. The logic of CoD4 is not the same as the logic of a Looney Tunes cartoon, yet Bugs Bunny acts in a way that fits perfectly well with his cartoon world.

So ask yourself: how can you make your game more logical and consistent? How can you remove the abstractions that might put gamers off?

Feb 22

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

The barrier of entry for making movies is very low: with a few hundred bucks you have a camera and software to edit your video. If you want to make a movie about a couple of convenience store clerks, you just need a few friends as actors and an empty convenience store. Nothing too hard to get a hold of. You can reuse a lot of the real world to make an indie movie.

You can’t reuse the real world at all when making an indie game. If you want to create a game about a couple of convenience store clerks, you need to model the store and the clerks, then code all the behaviors in. That’s a lot of work. That’s the problem indie games face: they must create everything that’s in their game. That’s why games with abstract graphics (Geometry Wars, N, Rez) are so popular with the indie crowd: abstract graphics graphics are easier to make.

Feb 18

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

We all have a few favorite games in genres we wish were revisited more often. Sadly, lots of genres fell in popularity for one reason or another. Some of those genres are ready for a revival — here’s my pick.

  • Turn-Based Strategy
    Turn-based strategy games used to be really popular until their increasing complexity relegated them to obscurity. The Japanese have kept the genre alive through their “Simulation RPGs”, but American turn-based strategy games are rare. The rise in popularity of online multiplayer would be perfect to bring new life for this genre — the turn-based nature of the games mean you don’t have to play them in real-time against your friends and you’d always be able to find new challengers.
  • Adventure
    Ask anyone what their favorite games of the 90s were and you’re sure to hear mention of Monkey Island or Day of the Tentacle. Since then LucasArts has focused on all things Star Wars and Sierra is but a shadow of its former self. Where have the great adventure games gone? Improved technology would not only improve the experience, it would allow more interesting gameplay. Adventure games that are less linear and feature interesting moral choices could push video games in new directions.
  • Flight Sim
    Whether realistic or space-based, flight simulators have all but disappeared. With console controllers sophisticated enough to support the depth of flight sims it would make sense to bring back the flight sims, yet they’re still extremely rare. This genre’s complexity was one reason of its demise, so efforts at revival should try to keep all the gameplay depth while keeping things simple. Fast-paced action would probably be more popular than realistic simulators.
  • Robot Sim
    Driving a 30 feet tall robot in MechWarrior remains one of my best gaming memories. Why do so few games try to get back to this feeling of driving a huge walking machine of war? How cool would it be to drive a mech in Iraq in an alternate-present game? The challenge in reviving this genre would be to find the right balance between making it approachable while not making it feel like just a first-person shooter in a mech.
  • Pinball
    How much more casual than pinball can you get? It’s perfect for the Wii: one button on the wiimote and the nunchuck for the flippers, and you shake them both to shake the machine. All the fun of old arcades back in your own home! It would sure beat another mini-games collection.

So, what’s your favorite genre you wish was revived?

Feb 13

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

2007 has been the year of casual games: Guitar Hero 3, Rock Band, Wii Sports, Peggle, etc. All casual titles that had a big impact on gaming last year. Another way of looking at them is that they’re all storyless — none of them have the strong narratives that some game developers told us were so essential to reaching mainstream audiences.

Is that a trend or is that just coincidence? Are games without stories making a comeback?

Feb 12

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 82

Xemu has posted detailed notes on many of DICE’s presentations:

« Previous Entries