Department of Computer Science
Worcester Polytechnic Institute

IMGD 1001 Practice Final Exam Solution

  1. What is level design? Roughly, where does it occur in the game development process?

     
    Ans: Level design is the process of creating levels for a game,
    using the implemented development tools and gameplay rules, with the
    intent of providing interesting gameplay.  Level design occurs in the
    latter stages of game development when most of the game coding and
    content has been created.  
  2. What is player-to-gameplay balance? Why is it important? Provide one way it can be done poorly in a game. Describe one way you can fix the same poorly-done example.

    Ans: Player-to-gameplay balance is where the player's relationship to
    the game is appropriate for their skill.  This can be done poorly if
    an interface is very complicated but full-knowledge of the interface
    is needed before the player can even progress past the first level.
    This could be fixed by making only some basic parts of the interface
    needed at first, requiring (and rewarding) the player to learn
    additional components of the interface at later levels.
    
  3. What is impermanence as a tool for ensuring interesting choices? Describe how you could use it in a first-person shooter game to make the gameplay more interesting.

    Ans: Impermanence is a compensation technique for making
    something that is beneficial for the player not last forever.  In a
    first-person shooter, this could mean making a grenade launcher with
    limited ammunition or an invulnerability shield that only lasts for 30
    seconds.
    
  4. What are supporting investments as a tool for ensuring interesting choices? Describe how you could use them in a real-time strategy game to make the gameplay more interesting.

     
    Ans: Supporting investments support a secondary goal towards the
    game objective.  In a real-time strategy game, a primary goal could be
    defeating an enemy and a supporting investment could be armor so the
    soldiers (that can defeat the enemy) are tougher.  
  5. What is positive feedback for a synergistic game relationship? Provide an example.

    Ans: a synergistic relationship is one in which multiples
    of some item or items is not additive.  "Positive feedback"
    is a synergistic relationship where 2+ items are better than
    the sum of each item.  An example would be two soldiers that
    can guard each others back, thus having better armor than
    either alone.
    
  6. What is version control software? Why is it useful?
    Ans: A database containing files and past history of them.  It
    provides a central location for all code and allows the programming
    team to work on related files without overwriting each other's work.
    the database preserves the history to help track down errors and
    provides branching and merging for platform specific parts.
    
  7. Name the steps in the process of debugging, as discussed in class.
    Ans: Reproduce the problem consistently, look for clues, pinpoint the
    error, repair the problem and test solution.
    
  8. What is a finite state machine? Why are they often useful for programming game AI?
    Ans: A finite state machine (FSM) is an abstract model of computation.
    It consists of a set of states, a starting state, an input vocabulary
    and a transition function that maps inputs and the current state to a
    next state.  For programming game, there is a natural correspondence
    between states and behaviors.  This makes FSMs easy to understand,
    diagram, program and debug.
    

Back to course page.