Daniel Cermak-Sassenrath is former Associate Professor at the IT University, Copenhagen, member of the Center for Digital Play, and co-head of the Games Group. He teaches in the Game Design track programme. Daniel has taught university courses since 2002 and introductory courses to programming for design students since 2010.
This is an introductory textbook focusing on games (specifically interaction and graphics) as a pathway into programming. It empowers readers to do basic programming, prototyping, game creation, and other highly interactive applications, all from scratch and without any prior programming knowledge.
Using the popular programming language Processing, this book describes, explains, and demonstrates the basic and general programming principles and mechanisms used in typical game algorithms and concrete game projects. 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. Additional support materials such as code examples and demo programs are available to download from the book´s webpage:
1. The Process of Programming
2. Hello Game World!
3. Console Output and Comments
4. Variables and Data Types
5. Iteration with the while Loop
6. Conditionals (if, if/else, if/else if)
7. Relational Expressions (e.g. <, >) and Logical Operators (e.g. &&, ||)
8. Math and Arithmetic
9. Short Cuts
10. Type Conversions (Casting and Rounding)
11. Formatting Code
12. Iteration with the for Loop
13. Arrays
14. Functions
15. Movement
16. Basic Collision Detection
17. Drawing Modes and Drawing Lines
18. Polygons and Vertex Functions
19. Colour and Transparency
20. Text and Fonts, and Loading and Saving Data
21. Real Time
22. Images
23. The Processing IDE, Technical Documentation, Debugging and Common Errors
24. Programming Rules of Thumb
25. Classes and Objects
26. Event-Driven Programming and Game Controls
27. Hardware Speed Independence for Movement
28. Sprites, Frame-Based Animation and Timed Events
29. Tiling
30. Scrolling and Split-Screen Displays
31. Movement in Curves
32. Pixel-Perfect Collision Detection
33. Vectors
34. ArrayLists
35. Recursion
36. Basic Game AI and Enemy Behaviour
37. Programming Libraries, and Using an Audio Library
This is an introductory textbook focusing on games (specifically interaction and graphics) as a pathway into programming. It empowers its readers to do basic programming, prototyping, creating games and other highly interactive applications, all from scratch and without any prior programming knowledge.
"Introduction to Game Programming using Processing is a wonderful introduction to programming through the exciting world of game design. It provides a clear and friendly approach to learning fundamental programming concepts, while encouraging readers to pursue their own creativity and passion for digital creation. This guide is essential for anyone who loves games and aspires to create their own through the art of coding!"
Daniel Shiffman, Associate Arts Professor, Interactive Telecommunications Program (ITP)/Interactive Media Arts (IMA), NYU.
Über den Autor
Daniel Cermak is Associate Professor at the ITU, Copenhagen, member of the Center for Digital Play, and co-head of the Games Group. He teaches in the Game Design track programme. Daniel has been teaching University courses since 2002, and introductory courses to programming for design students since 2010.
Inhaltsverzeichnis
Foreword
0. Introduction
1. Hello game world!
2. The process of programming
3. Variables and data types
4. while loop (non-nested iteration)
5. if, if/else, if/else if conditionals, nested conditionals
6. Logical operators, Relational Expressions
7. Math and arithmetic
8. Type casting, rounding
9. Short cuts and formatting code
10. for loop
11. while vs. for, nested iteration
12. Magic Numbers
13. Randomness
14. Arrays
15. Functions, setup() and draw(), custom-made functions
16. Motion and collision detection
17. Polygons/line strips
18. Colour and transparency
19. Text, fonts
20. Loading and saving data
21. Arraylists/collections
22. Images
23. Reading technical documentation
24. Programming rules of thumb
25. Debugging, common errors, compiler messages
26. Classes and objects
27. Event-driven programming
28. Real time and game speed
29. The class interface
30. Manager classes
31. GUI programming
32. Recursion
33. Frame-based animation, sprites
34. Tiling
35. Scrolling, split-screen displays
36. Pixel-perfect collision detection
37. Basic game AI/enemy behaviour
38. Audio and sound
39. Libraries
40. Version control
41. Popular programming languages andillegalscripting
42. Annotated bibliography
43. Glossary
44. Index
45. Bibliography