Please enable JavaScript to view this page.

Introduction to Game Programming

CST 186

Introduction to Game Programming

CST 186

Course Description

Prerequisite: CST 173 (or CST 170) with "C" or better. Introduces principles of game and simulation programming through hands-on creation of simple games. Explores text-based and graphics-based game development through algorithm design, development, implementation, testing, and documentation. Incorporates text, graphics, sound, and animations in game design. Includes Top-Down Design, Object Oriented Programming, simple physics, basic Artificial Intelligence, and game engines. (30-0)

Outcomes and Objectives

Define the specifications for a variety of games.

Objectives:

  • Access and analyze specifications and information to plan and design games.
  • Choose a text-based or Graphical User Interface environment for a game.
  • Select objects to use in a game; e.g., text, graphics, sounds, and animations.

Develop logic for text-based and simple Graphical User Interface game programs using critical thinking.

Objectives:

  • Apply the sequence, selection, and iteration program constructs to game development.
  • Compare and contrast the use of variables, strings, tuples, links, and dictionaries in the construction of a game.
  • Use Top-Down Design to break the logic of a game into components.
  • Apply Object Oriented Programming concepts to game program logic.
  • Describe Artificial Intelligence and game engines.

Translate the logic of a game or simulation algorithm into a programming language.

Objectives:

  • Code game programs in a programming language.
  • Compile and correct syntax errors.
  • Test, debug, and correct logic errors.

Use a variety of input/output media in game programming.

Objectives:

  • Incorporate text and graphics in a game program.
  • Enhance a game with music, sound effects, and animations.
  • Store and display scores and game statistics.

Produce documentation for games.

Objectives:

  • Document game program code.
  • Create internal help documentation and make it available to users executing a game.
  • Create external documentation for a game.