CSA 487 Game Design and Implementation (3 credits)
Catalog description:
Study of architectures, algorithms, and software design patterns used in computer games. Students work with a game engine to design and implement several kinds of games. Topics include animation techniques, physics simulation, user controls, graphical methods, and intelligent behaviors.
Prerequisite: CSA 386 or permission of instructor.
Course Objectives:
At the end of the course, the student will:
- Describe and compare computer game architectures.
- Use a game engine to implement a computer game.
- Apply fundamental techniques of 2D and 3D game design.
- Apply techniques of rendering, animation, shading, and others.
- Implement basic intelligent behaviors.
- Implement games of varying levels of complexity.
Learning Outcomes: |
CSA487.1: Be able to describe the major areas related to game design |
CSA487.2: Be able to describe and use tools and programming techniques frequently used in game implementation |
CSA487.3: Be able to use game engines, physics engines, tools, and related libraries designed for 2D and 3D games |
CSA487.4: Be able to apply different computer science disciplines to games |
CSA487.5: Be able to describe and implement algorithms used in game engines |
Required topics (approximate weeks allocated):
- Introduction (0.5)
- Games and society
- Game genres
- Languages for Games
- Game Design and Development (1.0)
- Visual design
- Interface design
- Storyboarding
- Goals and objectives
- Choices and outcomes
- Debugging
- Game Architectures (2.0)
- Game Engines
- Transformation review
- Scene Graphs
- Spatial partitioning
- 3D Modeling (1.0)
- Terrain Models
- Character Models
- Procedural Modeling
- 3D Modeling applications
- 3D Model file formats
- Advanced Rendering (1.5)
- Local lighting model review
- Surface effects
- Texture Mapping
- Parametric Surfaces
- Particle Systems
- Animation (1.0)
- Keyframing and interpolation
- Forward and inverse kinematics
- Motion capture
- Character animation
- Artificial Intelligence in Games(2.0)
- Agents
- Finite state machines
- Pathfinding
- Collision Detection and Resolution (1.0)
- Overlap testing
- Intersection testing
- Bounding volumes
- Physics for Game Developers (2.0)
- Particle physics
- Translational and rotational motion
- Collision response
- Rigid-body simulation
- Sound (1.0)
- Digital representation of sound
- Audio hardware
- 3D audio
- Multi-User Games (1.0)
- Network programming
- Communication Architectures
- Management of Dynamic Shared State
- Exams/Reviews (1.0)
