GAME 140 - Game Programming I - 2D

JOHNSON COUNTY COMMUNITY COLLEGE
TECHNOLOGY DIVISION
GAME DEVELOPMENT
COURSE OUTLINE

 

Title: Game Programming I - 2D Effective Term: Spring 2009
Number: GAME 140 Credit Hours: 4 Contact Hours: 4.5
Course Type: Career Lecture Hours: 3 Lab Hours: 1.5

Description:

This course is designed to present skills and provide hands-on experience required to create two-dimensional games utilizing C++. Typical game topics will include programming in a GUI (graphical user interface) environment, game libraries, sound, music and working with graphics. Typical tasks will include setting up the environment, creating several games, using music and sound in a game, and exercises that will highlight important game programming concepts. 3 hrs. lecture, 1.5 hrs. lab/wk.

Supplies: Refer to the instructor's course syllabus for details about any supplies that may be required.

Prerequisite: CS 200 Concepts of Programming Algorithms Using C++

Textbook(s): For information see - http://bookstore.jccc.net

Course Fees: NONE

Course Objectives:

Upon successful completion of this course the student should be able to:

  1. Set up a game programming environment.
  2. Develop a basic framework for games as a GUI application.
  3. Prepare game design documents.
  4. Create games employing game libraries.

Content Outline & Competencies:

I. Game Programming Environment
   A. Configure the interactive development environment (IDE).
   B. Set up programming libraries.
      1. graphics
      2. sound
      3. physics

II. Programming Tools
   A. Develop game framework.
   B. Construct a game loop.
   C. Build graphics foundation.
   D. Establish buffers for graphics and sound.
   E. Create input buffers.

III. Game Design Documents
   A. Document type, idea, audience and treatment for a game.
   B. Specify and justify the platform including hardware and software.
   C. List the team members required to create the game.
   D. Create the game proposal.

IV. Create Games
   A. Algorithms and data structures.
      1. Create and use data structures.
      2. Optimize algorithms.
   B. Graphics primitives.
      1. Draw lines, polygons and circles.
      2. Compute the intersection of lines.
      3. Create and display text.
      4. Create and employ basic controls.
   C. Bitmapped graphics.
      1. Create bitmaps in memory.
      2. Load bitmaps from disk.
      3. Implement double buffering.
   D. Sprite animation.
      1. Create and animate sprites.
      2. Create a sprite handler.
      3. Employ collision detection.
      4. Control frame rate with low level timing.
   E. Backgrounds and tiles
      1. Manipulate background images.
      2. Create tile maps.
      3. Create scrolling backgrounds.
   F. Artificial intelligence basics
      1. Implement elementary state machines.
      2. Compute collision responses.
   G. Sound
      1. Synchronize sound files with game action.
      2. Describe sound hardware.
      3. Experiment with various sound effects.
   H. Basic Physics

Methods of Evaluation of Competencies:

Evaluation of student mastery of course competencies will be accomplished using the following methods:

Tests/Final Project    50% of grade
Projects/Assignments   50% of grade
Total                 100%

Grade Criteria:
  A = 90 - 100%
  B = 80 -  89%
  C = 70 -  79% 
  D = 60 -  69%
  F =  0 -  59% 

Caveats:

  1. None

Disabilities:

If you are a student with a disability, and if you will be requesting accommodations, it is your responsibility to contact Access Services. Access Services will recommend any appropriate accommodations to your professor and his/her director. The professor and director will identify for you which accommodations will be arranged.

JCCC provides a range of services to allow persons with disabilities to participate in educational programs and activities. If you desire support services, contact the office of Access Services for Students With Disabilities (913) 469-8500, ext. 3521 or TDD (913) 469-3885. The Access Services office is located in the Success Center on the second floor of the Student Center.