jim.shamlin.com

The Game Improves Through Iteration

Brainstorming will result in the generation of a cluster of ideas, not all of which will be fruitful. The author suggests a series of eight filters that can save time chasing geese:

  1. Does it "feel right"? Based on your past experience, you may have a gut feeling that an idea may not be worth pursuing.
  2. Is there an audience? Especially in commercial game development, a good idea that doesn't have a market is not worth pursuing.
  3. Does it lend itself to game design? Can you easily envision the aesthetics and experience.
  4. Is it novel enough? Are you creating something new, or just imitating something that is already out there?
  5. Will it sell? Again, a business concern, but some ideas may be more salable than others.
  6. Is it technically possible? There may be engineering and technical requirements that are not supported by the gaming platform, and providing additional hardware may not be feasible.
  7. Will it appeal to the community? In some instances, a game will be delivered to a standing audience, and its appeal to that community may be important.
  8. Is it enjoyable enough? You can paper-test the game, or build a quick-and-dirty prototype, to help determine if the game has potential for enjoyment value.

After coming up with an idea, you should develop it - taking ti as far as you can is the only way to determine if it has merit. And in some cases, even an idea that seems to lack merit can later be salvaged.

Once a game is in development, the goal should be to knock out a playable version as quickly as possible, adding features later. It's only by play-testing that you can give an idea a thorough shakedown, and the more develop-test-improve loops the game goes through, the better the final product will be.

At the same time, realize this is play testing - it's a mistake to slap together a game and release it, in hopes of adding features to a second version or a third. If the first release stinks, it will poison your changes of having any demand for additional releases, and the imitators may see the problems and release imitations that solve them before you can get to the 2.0 version.

Prototyping is a common practice, but much prototyping is badly executed - it results in something that is more like a beta version (to be polished up and released) than an actual prototype. Tips for prototyping are:

  1. Build the prototype to answer a specific question. Do not seek to test the whole game, just a specific aspect - such as whether the basic mechanics are fun, if the "level" is the right size, whether certain characters "fit" together aesthetically, etc.
  2. Forget quality, especially polished aesthetics, unless that is what you are intending to test.
  3. Don't get attached to the prototype - plan to throw it away (and build it the "right" way later) - and be prepared for the answer to the question to be something other than you expected
  4. Prioritize. You will need to build a lot of small, independent prototypes to answer many questions, and need to budget resources to the most important ones.
  5. Work in parallel. While the teams (art, programming, scripting, character, etc.) should be working toward the same end, they should be parallel efforts, rather than one team waiting for the next to finish before it begins.
  6. Consider paper prototyping. A prototype for a video game doesn't need to be a computer program - you can test games out on paper. For example, Tetris could be tested with construction-paper cutouts, Diablo could be tested with physical pieces, index cards, and dice.
  7. Pick a "fast loop" technology for prototyping. Regardless of what technology the final game will be done in, you can probably do a prototype in another technology (JavaScript or Python) that is easy to knock out and modify.
  8. Build Toys - Recalling the earlier discussion of toys versus games, a game may include a toy - an object with a behavior, but no purpose. You can design an avatar that moves about, without having an environment or a purpose

The goal of each iteration and each prototype is the improvement of a component toward an overall goal of having a game completed. The more complex the game, the more iterations it will need to go through.


Contents