Course CSE380
Title 2D Game Programming
Credits 3
Course Coordinator

Richard McKenna


An introduction to the fundamental concepts of computer game programming. Students design and develop original games for PCs applying proven game design and software engineering principles.

Bulletin Link


CSE 216 or CSE 220 or CSE 260; CSE major

Course Outcomes
  • An ability to integrate technologies such as multimedia, artificial intelligence, and physics modeling into a cohesive, interactive game application.
  • An understanding of the principles of game design that make for a playable experience.
  • An ability to use software engineering, team project management, and prototype presentation principles in a game development context.

  • Robert Nystrom, Game Programming Patterns, Genever Benning, 2014
  • Kouichi Matsuda, Rodger Lea, WebGL Programming Guide, Addison-Wesley, 2013

Major Topics Covered in Course
  • Game Memory Management
  • Multithreading in Games
  • GUI programming for games
  • Tile-based graphics
  • Sprites & bitmap animation
  • Collision detection
  • Page & side scrolling algorithms
  • Differing game types, modes, & perspectives
  • Game & level design
  • Rapid prototyping & game testing
  • Path finding algorithms
  • Game project management
  • Game design documentation
  • Game program architecture
  • Sound & Music
  • Game input devices
  • Artificial Intelligence in games
  • Physics based modeling
  • Optimization techniques
  • Gaming industry issues
  • Computer game history

Laboratory Projects

See current course webpage for more information.

Course Webpage