Course Overview
Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering as well as specialization in one or more of the following areas, which overlap heavily to create a game: simulation, computer graphics, artificial intelligence, databases, stage design, physics, audio programming, and input. Though often engaged in by professional game programmers, many novices may program games as a hobby.