Discipline: Computer Information Systems Degree Credit  [X]
Non Credit  [ ]
Nondegree Credit  [ ]
Comm Service  [ ]
 

Riverside Community College District
Integrated Course Outline of Record

Computer Information Systems 16A


COURSE DESCRIPTION

16A Programming Games with DirectX, OpenGL Units: 3.00
 
Prerequisite(s): None.

Advisory: Previous C++ programming experience such as CIS-17A
An advanced C++ programming course using Direct X and OpenGL to create games and high-performance multimedia applications. An emphasis will be placed on advanced programming concepts associated with two-dimensional and three-dimensional graphics, sound effects and music, input devices, and networked applications. 54 hours lecture and 18 hours laboratory.
 
SHORT DESCRIPTION FOR CLASS SCHEDULE

Game program development in C++ using DirectX and OpenGL.
 
ADVISORY ENTRY SKILLS
Before entering the course, students will be able to:

  1. Utilize values and/or references from primitive types as well as Abstract Data Types “ADT’s”.

  2. Create, compile, and execute C++ programs from the command line or utilize an Integrated Development Environment (IDE) for program development.

  3. Devise algorithmic solutions to basic business applications using the concepts associated with top-down, data, and object design approaches.

  4. Implement C++ code that conforms to standard programming practices.

  5. Utilize Object Oriented Programming (OOP) techniques such as inheritance and abstraction to demonstrate polymorphic behavior.

STUDENT LEARNING OUTCOMES
Upon successful completion of the course, students should be able to:

1.   Write medium to large C++ game programs individually and as
      part of a programming team effort.

2.   Create C++ game programs that use DirectX and OpenGL
      application programming interfaces.

3.   Implement multimedia programming concepts, which include
      graphics, sound effects and music, input devices, and animation.

4.   Demonstrate the use of major components of DirectX Graphics,
      DirectX Audio, DirectXPlay, DirectInput, and Physics Modeling with
      OpenGL.

 
COURSE CONTENT

  TOPICS
 
  1. Focus of the course topics is on game programming and software design. Models of game applications are presented throughout the course.
  2. Students should be guided through a comparison of DirectX and OpenGL. Discussion should focus on the advantages and disadvantages of each API.
  3. Coverage of topics by instructors should include how to use DirectX Graphics, including basic drawing techniques and the DirectX Graphics advanced features such as texture mapping and alpha blending. How input devices operate and how to use input devices with DirectInput is discussed.
  4. Students are introduced to the basic properties of sound and Digital audio and music formats. How to use DirectX Audio in programs, how to play sounds using DirectSound and how to play MP3’s using DirectShow is covered. The use of DirectPlay to network game programs, how to use DirectPlay’s interfaces, including handling network messages and working with servers and clients is discussed.
  5. Instructors should guide students through the construction a game core library of low-level DirectX and Windows functions to facilitate programming tasks.
  6. Students are introduced to the use of 2-D graphics, including how to use tiles and maps, building 2-D tile engines, the use meshes as levels, the use of a viewing frustum and how to render levels with nodes and trees. How to integrate 3-D objects into programs and the use of collision detection and sky boxes is discussed. Students are guided through the use of both 2-D and 3-D graphics within the same window.
  7. Instructors should guide students through the creation and use a basic scripting system. How to define objects in game, create a master list of items and use inventory systems to manage items is discussed.
  8. Instructors should guide students through the design of multiplayer game architecture and how to work with game servers and client applications.
 
METHODS OF INSTRUCTION
Methods of instruction used to achieve student learning outcomes may include, but are not limited to:

  • Presentation of class lectures/discussions/demonstrations in order to clarify DirectX, OpenGL, computer problem solving, and software design concepts
  • Presentation of class lectures/discussions/demonstrations in order to clarify the principles of DirectX and OpenGL
  • Web-based/web-enhanced/online/distance learning tasks/activities to reinforce understanding of concepts related to game programming skills, computer problem solving, and software design
  • Online and Laboratory activities and application assignments in order to address areas of improvement in DirectX, OpenGL, computer problem solving, and software design
  • Projects in order to facilitate and demonstrate the acquisition of skills required to create game programs
  • Collaborative projects/cooperative learning tasks in order to encourage students to develop and apply DirectX, OpenGL, computer problem solving, software design, and team work skills
 
METHODS OF EVALUATION
Students will be evaluated for progress in and/or mastery of learning outcomes by methods of evaluation which may include, but are not limited to:

  • Computer programs designed to demonstrate the acquisition of DirectX, OpenGL, computer problem solving, and software design concepts and skills
  • Quizzes/examinations designed to measure students’ degree of mastery of fundamental DirectX, OpenGL and software design concepts and terminology
  • Collaborative projects designed to demonstrate successful understanding and application of DirectX, OpenGL, computer problem solving, software design, and team work skills
  • Computer Laboratory assignments/projects designed to clarify students’ individual game programming, computer problem solving, software design strengths and areas of improvement related to these skills
  • Final examination designed to evaluate students’ overall achievement of course objectives in game programming, computer problem solving, and software design concepts
ASSIGNMENTS

Required Reading Assignments


Required Writing Assignments


Other Outside-of-Class Assignments

 
COURSE MATERIALS
All materials used in this course will be periodically reviewed to ensure that they are appropriate for college level instruction. Possible texts include:

  • Adams, Jim. Programming Role Playing Games with DirectX® . 2nd ed. Premier Press/Course Technology, 2004.
  • Engel, Wolfgang F.. Beginning Direct3D Game Programming. 2nd ed. Premier Press/Course Technology, 2003.
  • Baker, Hearn. Computer Graphics with OpenGL . 3rd ed. Pearson/Prentice Hall, 2004.
  • Hawkins, Kevin and Dave Astle. OpenGL Game Programming. Premier Press, 2004.
08/06
514