This class examines the fundamental issues in designing and developing computer video games. We begin with examining technical issues in developing a game including: software architecture, interaction model, mathematics concepts, real-time approximation for Newtonian physics, elementary special effects, and algorithms relevant to supporting in-game logic. After the technical knowledge, in the second half of the quarter we examine the elements in games design including: world setting, game play, and interface; and the procedure of designing games including: conceptualization, prototyping, and playtesting.