GAME 150 - Game Programming II - 2D

JOHNSON COUNTY COMMUNITY COLLEGE
BUSINESS AND TECHNOLOGY DIVISION
GAME DEVELOPMENT
COURSE OUTLINE

 

Title: Game Programming II - 2D Effective Term: Fall 2007
Number: GAME 150 Credit Hours: 4 Contact Hours: 4.5
Course Type: Career Lecture Hours: 3 Lab Hours: 1.5

Description:

This course is designed to present the skills and provide the hands-on experience required to create more complex two-dimensional games utilizing C++ and the Windows environment. Typical game topics will include algorithms, multithreading, artificial intelligence (AI) and physics modeling. Typical tasks will include creating several games, using advanced data structures and AI and exercises that will highlight important game programming concepts. 3 hrs. lecture, 1.5 hrs. lab/wk.

Associated Costs: These are additional (out-of-pocket) expense considerations that students should expect in addition to the course tuition, fees, and textbooks. $20 to $50.

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

Prerequisite: GAME 140 Game Programming I - 2D
and either
CIS 235 Object-Oriented Programming Using C++
or
CS 250 Basic Data Structures 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. Explain and demonstrate advanced data structures and algorithms.
  2. Create multithreaded applications.
  3. Explain and demonstrate with basic AI techniques.
  4. Model simple physics.
  5. Create a realistic collision response system.
  6. Create an advanced 2D game.

Content Outline & Competencies:

I. Algorithms and Data Structures
   A. Create and use array and linked list data structures.
   B. Optimize algorithms.

II. Multithreading
   A. Introduce multithreading terminology.
   B. Send messages between threads.
   C. Relate multithreading to DirectX.
   D. Survey advanced multithreading techniques.

III. Artificial Intelligence
   A. Implement elementary state machines.
   B. Implement pathfinding methods.
      1. Trial and error.
      2. Waypoint.
      3. Contour tracing.
   C. Compute the collision responses.
   D. Examine AI scripting.
   E. Create neural networks, genetics algorithms and fuzzy logic.

IV. Basic Physics
   A. Describe the fundamental laws.
   B. Resolve the n-t coordinate system.
   C. Implement simple kinematics.
   D. Describe particle systems.

V. Building a Game
   A. Manage a project.
   B. Create the initial design.
   C. Implement scrolling.
   D. Implement non-player characters.
   E. Implement the AI system.

Methods of Evaluation of Competencies:

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

Examinations         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: 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.