User Tools

Site Tools


cs498gd:overview_of_software_development_methodologies_game_testing

Overview of Software Development Methodologies


Reading


In General...

  • ~80% of the development is design
  • ~20% of the development is the actual coding
  • Planning and some documentation are important.

Why do many game projects fail (besides bugs galore and overworked developers)?

  • Difference in goals and methodologies among team members or groups
  • Unreasonable goals and “too many ideas”
  • Dedication (lack of…)
  • Skill and knowledge (lack of …)
  • Poor project management

The Classical Waterfall Model (or Game Waterfall Process)

  • Requirements Phase
    • Kickoff meeting(s) with the business analysts, product managers, and senior development personnel
    • Provide an overview of your game
    • Establish project goals
    • Set a tentative development budget
    • Set a tentative development timeline
  • Specification Phase
    • Define what the game should do to meet needs
    • Detail high-level functionality (e.g., the important features)
    • Detail secondary-level features (e.g., nice to have, but not critical)
    • Identify gameplay modes
    • Identify settings, mechanics, interaction models, etc.
    • Outline how the game is “won”
  • Design Phase
    • Get to the specifics of the game based on the design specifications
    • Identify all the actions, errors, tokens, states, labels in the game (might draw a state diagram on how the user moves around the game)
    • Draw mockup screenshots of environment
    • Draw mockup screenshots of user interface
    • Write a low-level (technical) design on all the functions of the game (e.g., menu items)
  • Implementation Phase
    • The actual programming (or coding) of the game based on the design specification
  • Integration Phase
    • Put everything together into a finished game
    • Several rounds of testing
    • Fix lingering bugs
    • Release beta test of product for people to try it out
  • Operation Mode
    • The game has “gone gold”
    • Game is rolled-out to production (actual use)
    • Maintenance: keep the product working and useful to players
    • Fix lingering bugs
    • Add enhancements to game
    • Release patches
  • Retirement
    • Not rare in computer / video gaming (unlike certain business software)
    • Remove the product from service (thus, product is no longer supported)
    • Guard legacy source code

MAJOR Problems with Waterfall Model

  • Too popular (and beaten into the heads of countless software engineers)
  • You cannot move on to the next phase without completing the current phase…
  • …and you cannot go backwards.
  • Very time-consuming and exhaustive
  • Document-centric
  • Quality assurance (testing) is most likely to get short-changed when time runs short

Many Variations of the Software Life Cycle Model

  • Rapid prototyping phase before specification (popular)
  • Build game in increments (repeated loop; “baby steps”)
    • merge design, implementation, and integration phases into a repeated block
    • There is always something tangible.
    • Checkpoints and testing are important.
    • Reduces errors
  • “Creative writing seminar”
    • best written components and modules wins
  • Extreme Programming (XP)
    • Team-based and very collaborative
    • Hardly any documentation
    • Success depends on ALL members of the team on the same page
    • Very fast (average 6 month for project)
    • Programmers are king; tends to alienate non-programmers on team

The Importance of Prototyping

  • All about the interaction of the user and the game
  • Ensure the core mechanics work
  • Test the fundamental rules of the game
  • Visuals are secondary

Game Design According to Sid Meier

His games resume:

  • The Civilization Series
  • Pirates
  • Railroad Tycoon
  • Gettysberg, Antietam
  • Alpha Centauri
  • SimGolf
  • others

“Players should have the fun, not the programmer or designer.”

“Begin the game with great opening minutes.”

“Great gameplay is a stream of interesting decisions that the player must resolve.”

“Put the player in a position where he/she is the hero.”

His development process:

  • Prototype
  • Play the game for a while and get the basics right.
    • “He designs and creates his games by playing them, over and over, until they are fun.” (Wikipedia)
  • Now get other people to look at the game.
  • Meticulously observe the players of the game.
  • Constantly reward the player in the game.
  • Throw in new game testers.
  • Make the game harder until the players beg for mercy.

Elements of a Game Design Document

  • Not all design documents will have all of the following elements.
    • Game Title
    • Overview
    • Gameplay modes
    • Core features in the game
    • Secondary features in the game
    • State diagrams (schematics)
    • Game internal economy
    • Game balance
    • Victory conditions
    • Interface design (high-tech or low-tech)

The Importance of a Game Design Document

  • Project history (i.e., Have a plan? Write it down!)
  • Project internal communication
  • Identify system limitations
  • Develop project plan and budget

cs498gd/overview_of_software_development_methodologies_game_testing.txt · Last modified: 2015/11/06 19:19 by jchung

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki