SWE 6753: Computer Game Design and Development

Instructor: Dr. Andy Ju An Wang
School of Computing and Software Engineering
Southern Polytechnic State University


Course Description

This course covers computer game design methodology and implementation techniques. The focus of this course is hands-on development of computer games with latest game programming languages and development environments. Students will learn how to create computer video games with object-oriented and component-based approaches. A variety of topics will be covered in this course including game engines, game programming environments, performance and optimization, collision detection, 2D and 3D graphics and animation, sound effects and music, interactivity and user interface, multiplayer games, and AI approaches to game development.

Course Objectives

The course covers a wide range of skills for computer game design and implementation. Upon completion of this course students should be able to
  1. Design and implement a complete 2D computer game.
  2. Evaluate a game, game proposal and game design with reference to published games, game genres, and game play mechanisms.
  3. Understand core element of a 2D game engine.
  4. Develop skills in problem solving, system integration and interface design.
  5. Build a working knowledge of principles and practices in computer game design and implementation.
  6. Communicate (written and verbally) about a complex, technical topic simply and coherently.
  7. Work and interact collaboratively in groups to examine, understand and explain key aspects of computer game development.

Course Outline

  1. Introduction to Computer Games
    • What is computer game
    • What is game design
    • What is game programming
    • History of computer/video games
    • The role of game programming in the game industry
    • The definition, features and requirements of a game
    • Good games vs. bad games
    • Computer game genres
    • Assessment and evaluation
    • Legal and ethical issues in computer games
  2. Fundamentals of Game Design
    • Design principles and game theory
    • Strategy design
    • Level design
    • Modeling physics
    • Fun factors
    • Sound and music
    • Gender issues in games
  3. Software Engineering Aspects of Game Development
    • Game project management
    • Requirements for playable games
    • Dimensionality and intelligence of games
    • Requirements and specifications
    • Object oriented approaches: OOA, OOD, and OOP
    • Component oriented approaches: Encapsulation, Composition, and Deployment
    • Game software life cycles
    • CASE tools for game development
    • Working in teams and presentation
  4. Fundamentals of Game Programming
    • Data structures and algorithms for games
    • Control structures and methods for games
    • Two-dimensional graphics and animation
    • Three-dimensional graphics and animation
    • Search algorithms, path-finding algorithms, shortest-path algorithms, A* algorithm, application of AI in computer games
    • Object-oriented programming for games
    • Component-oriented programming for games
    • Design patterns and code patterns
    • Animation, simulation physics, critters, sprites, and collision-handling
    • User interface design and implementation
    • Handling I/O devices for games
  5. Specific Technologies in Game Development
    • Game development with Macromedia Flash MX
    • Game programming in ActionScript 2.0
    • Game development with Java
    • Game programming with J2ME and JWT
    • Game programming with DirectX
    • Online game development
    • Mobile game development
    • 3D game development
    • Computer games supporting VR (Virtual Reality)

    Note:   Each semester will probably emphasize a specific technology while go through others briefly.

Student Comments

At the end of each semester, students were asked to provide their feedbacks on this course by answering the question "What do you like most and what do you dislike most about this course?" Below is a list of some comments from students.

Projects and Demos

Some projects and demos related to this course can be found here.

Course Web Site

The web URL for this course is: http://webct.usg.edu. Please log into your course web site following these directions exactly:
  1. Go to http://webct.usg.edu.
  2. Click on the "Log in to myWebCT" link (DO NOT CLICK ON CREATE myWEBCT).
  3. When asked, put in your user name and passwd following the format below:
    • username: Firstname_Lastname_last4digits of SSN
      (Example: John_Doe_1234)
    • password: SSN (no dashes or spaces)
      Or if you are a previous user with this ID, the password that you have been using.
    Please note that these are case sensitive.

Note for Students:


[Course Description] | [Course Objectives] | [Course Outline] | [Student Comments] | [Projects and Demos] | [Course Web Site]
© 2004 Andy J Wang
Last modified: Tuesday August 3, 2004