All books have an intended audience and this book is no exception. Those whom I would consider most likely to benefit from this text are perhaps students taking courses in computer science or software engineering and who are looking for some extra projects to work on. Another likely reader will be someone focusing on the game industry to work freelance or to run his or her own business making games. On the other hand, you might be somebody who is aiming to make games for a hobby or who's just interested in how games are made generally. In all of these cases, I have attempted to keep the reader in mind and the chapter content based upon those assumptions. Beyond this, there are no real requirements as to what sort of knowledge is necessary to understand this book. I aim to take the reader through the basics of programming and introduce game making in general. Game programming is such a broad and encompassing field that it is not possible to examine every aspect in a single volume, but I have attempted in this book to cover as much common ground as is likely to be required by all game developers. Although no previous knowledge is required, it would be helpful but not essential to have previously studied mathematics and programming, specifically C++.