Introduction to Game Programming using Processing heading

Introduction to Game Programming using Processing (Routledge/CRC) is a book for people who want to learn programming and who like games: Students of Game Design, game enthusiasts, DIY indie game designers, freelance design professionals, and everybody else just wanting to learn how to code. The book is an introductory textbook not requiring any previous programming experience.

The book empowers readers with an understanding of the basic and general programming concepts with a specific focus on game-making. Processing, a popular language similar to C++, C#, Java and Unity scripting is used. Readers are able to transfer and apply the knowledge they gain to the language or scripting tool used in their next project, design team or job. The book contains descriptions and explanations of programming concepts and practices, application examples, code samples, exercises, and links to additional online resources.

Chapters cover basic graphics, text output, loops, data types and variables, movement, time, audio and sound, debugging, classes and objects, event-based programming, real-time input controls, computer speed compensation, animation, tiling, scrolling, collision detection, basic AI and much more.

The book developed out of a course on Programming for Game Designers at the ITU, Copenhagen. The book is easy to understand and thoroughly grounded in academic expertise and professional, hands-on experience.

Daniel Cermak-Sassenrath, author drawing

About the Author

Daniel Cermak-Sassenrath is a player, designer, author and academic. He is interested in artistic, analytic, explorative, critical and subversive concepts and practices of play. He is former Associate Professor at the ITU, Copenhagen, member of the Center for Digital Play, and Co-Head of the Games group. Before joining the ITU, he was Lecturer and Programme Leader for Creative Technologies at Auckland University of Technology (AUT), New Zealand. This is his third book; he is also the author of a monograph about play as a perspective in everyday computer use (transcript, in German), and the editor of a volume on the Playful Disruption of Digital Media (Springer). Daniel teaches University courses since 2002, and introductory programming courses for design students since 2010 (more info).

Supplementary Materials and Additional Resources

The book is accompanied by demo programs, code examples, buggy code that needs fixing, and links to relevant online resources.

Demo Programs

Moving Cat Function screenshot Letters Reveal screenshot Tiled Platformer Demo screenshot More symbol

Code Examples

Chapter 2, Code Example 1 screenshot Chapter 19, Code Example 4 screenshot Chapter 30, Code Example 1 screenshot More symbol

Buggy Code

Hello Buggy image Cat Mask image Random Quad Snowflakes image More symbol

Online Resources

The Coding Train (Daniel Shiffman): Learning Processing from the ground up, YouTube tutorials website screenshot Sprite Land website screenshot Vectors & Dot Product • Math for Game Devs [Part 1] on YouTube website screenshot More symbol

Introduction to Game Programming using Processing book coverLink to publisher's web site

Praise for the Course the Book is Based Upon*

'Well-planned, innovative class that challenges how teaching should be.'

'The lessons are incredibly interesting and fun to attend. Haven't missed a single one of them, and I'm always looking forward to this class. I love how the concepts are introduced in a fun way [...]. It makes me feel like I am capable of learning this, it makes programming accessible, specially for beginners.'

'Creative and very inspiring course, providing students with a tool to explore and experiment further with programming.'

'An absolute joy of a course! Thank you Daniel.'

'Daniel has found a way to approach a steep learning curve in a smart way, that makes programming feel very stepwise and doable.'

'Very happy, [...] I am not anymore afraid of programming! Now I know that programming can be and should be fun.'

'Overall this was the best course I participated in for an hands on approach to coding.'

'I think I have learned more on this course, compared to the other pogramming course.'

'Positive and encouraging approach to teaching [...] inspire[s] [...] students['] curiosity and engagement.'

'I am actually learning something for a change!'

'[Daniel is] [r]eally enthusiastic and passionate about his subject which is great and makes it more fun to learn'

'I am having a good time while working both in class and at home.'

'Daniel is an amazing teacher. Full of good humour and quirk. Other teachers are right to sit in on his class. [...] You just don't see that kind of engagement anywhere else.'

'Well, everything'

(*Student quotes from the university's course evaluation)