Introduction to Game Development tips by Walter Rotenberry

Last month Walter Rottenberry came to Guadalajara to teach us about the very basics of game development. As usual, let me share my notes:

AI:

  • Tips from Steve Rabin in “Game Programming Gems 2″
  • Use event driven behavior rather than polling
  • Reduce redundant calculations
  • Centralize cooperation with managers
  • Run the AI less often
  • Distribute the processing over several frames
  • Employ AI LODs
  • Solve only part of the problem
  • Do the hard work offline
  • Use emergent behavior to avoid scripting
  • Amortize costs with continuous bookkeeping
  • Rethink the problem

Game Theory:

  • Prisoner dilemma
  • Types of challenges
  • Implicit vs explicit
  • Perfect vs imperfect information
  • Intrinsic vs extrinsic knowledge
  • Pattern recognition

Level design:

Level designer responsibilities:

  • Create terrain
  • Create the rooms
  • Add props
  • Add triggers
  • Look great
  • Make it work

Technical limitations:

  • The platform
  • Affects how the level should be built (not the level itself)

Main factors:

  • Memory
  • Processing power and frame rate
  • Level performance
  • Polycount
  • Lighting
  • AI
  • Media format
  • Target and minimum specifications

GPUs take care of the eye candy in the game
Special effects consume a lot of processing power instead of RAM
Performance:

  • Fast moving games require faster frame rate
  • Level designer should be aware of strain on GPU and not frustrate for that

Polycount:

  • What really matters is the number of polygons seen on the screen at any given moment
  • Contributors
    • Too many characters in a single space
    • Special effects (smoke, falling leaves, fire, a black hole, etc)
    • Emmitters need to be watched closely
  • Use LODs (Level of detail)
    • Characters: 3 LODs
    • Objects: 2-3 LODs
    • Environments: distances vary depending on level and game

Lighting:

  • Lights and shadows both pulls on the GPU
  • Dynamic lights are cool but expensive
  • Traditionally had static lights
  • Lights and shadows can be baked into textures

Game metrics:

  • Happens after the player metrics are known
  • Properties of the main character are the biggest factor
  • Examples:
    • Height and width
    • Walk and run speed
    • Jump distance
    • Jump height
    • Interaction distance (how far the player needs to be from an interactuable object to interact with it)
  • Character metrics
    • The visual size is different from the collision size
    • Use collision volumes
    • Make doors and corridors slightly bigger than realistic proportions
  • Warning: Beware the game designer who gives you a ballpark figure for vital game data
  • Get hard data before creating the level
  • Level designer should decide the movement speed and jump metrics

Tips:

  • FaceFX for facial animation
  • Use cell diagrams (also called bubble diagrams) for gameplay

Thank you Walter. This was very useful.

  • http://www.Plai.tv Fernando

    Hola, sabes programmar para el iphone?

  • http://www.Plai.tv Fernando
  • http://www.silentkraken.com/ Seth Illgard

    I know basic OpenGL ES as I'm learning the android platform. I don't write code for apple's platforms due to their Terms of Service.

  • http://pulse.yahoo.com/_DDDSQES3OHYXIGOENUHMLLW2GM Sathish Kumar

     i have got a some useful information good work so happy to be visit blog like this…
    this could be great article keep going….

    project for final year engineering students chennai