Автор: Daniel Cermak-Sassenrath
Издательство: CRC Press
Год: 2024
Страниц: 349
Язык: английский
Формат: pdf (true)
Размер: 11.3 MB
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.
Using the popular programming language Processing, it 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.
This book is an attempt to support non-tech people such as designers, artists, players, other non-tech people and the interested public, to start programming, hopefully, in a fun and accessible way: Games as a pathway into programming. It empowers readers to do basic programming, prototyping, creating games and other highly interactive applications, and to talk competently with tech people. This is also an entry-level introduction to programming with examples in the popular language Processing. Basic and general programming principles and mechanisms are described, explained, demonstrated and applied in typical game algorithms and concrete game projects.
Learning to program appears desirable for multiple reasons. It is an inspiring and powerful way of creative and artistic expression. It is clearly much in-demand in today’s and tomorrow’s job markets. Basic programming knowledge is an asset in communication: Project work benefits from non-tech people being able to understand and effectively negotiate with all team members, including the tech people, and to appreciate their roles and contributions.
This book approaches and presents programming from a hands-on, non-tech, application-centred perspective. It is all about the application of programming in practical, genuine design challenges; not about gathering abstract knowledge, to be used in the future in some other context; but hands-on skills, to be used here and now. The book aims to facilitate the making of projects people want to have. And this does not imply little learning or learning on a low level. But learning that centres on motivation and builds on curiosity.
The book integrates the endeavour to learn programming with a focus on (digital) games. The audience this book addresses is people interested in games who have no previous experience in coding: Students of Game Design and other (design) students, DIY indie game designers, freelance design professionals, game enthusiasts, but also ordinary people just wanting to learn to program.
Learning to program is not just learning another program or tool; it is a meta-skill similar to learning the principles of a universal language; people will be able to read one another’s programs and create their own, share, discuss and collaborate.
Readers of this book:
• Gain an understanding of general programming principles, paradigms and practices, with an emphasis on graphics and interaction;
• Acquire hands-on programming skills in Processing, a modern, popular, well-supported, C-based language;
• Build up their own collection of game-related routines (such as real-time input, collision detection, hardware-speed independence, tiled graphics, scrolling, frame-based animation and basic game AI); and
• Create their own, custom game-making tools (such as a pixel art drawing program, and a tiled 2D level editor).
This book is an introduction to programming. The Processing programming language is used, but understanding general programming is the focus. The book empowers participants with an understanding of the basic and general concepts while it avoids both a follow-me-blindly tutorial approach and language-specific functions and features. Participants are thus able to transfer and apply the insight they gain to the programming language or scripting tool used in their next project, design team or job.
As a first programming language for a non-tech audience, Processing is well-suited:
• Processing is free, platform-independent, stable, regularly updated and available for many computer systems. It can be downloaded (from processing.org) or might be already installed;
• It can do graphics and interaction out of the box, and no setup of libraries is required;
• It can be used with Arduino boards for easy hardware access (e.g. buttons, sensors, LEDs, motors);
• It has a vibrant online community, especially for beginner-oriented, introductory stuff and;
• It is based on Java and very similar to widely-used and industry-relevant languages such as C#, so skills can readily be transferred.
It is to be expected that for many years, Processing will continue to play a role in learning programming and as a preferred language for artists and designers. Many of my colleagues support the use of Processing for an introductory course and book on game programming, but several have questioned it.
This book is a great resource for students and aspiring professionals looking for an approachable entry into game programming.
All Code Examples from the book are accessible online and available for download.
Скачать Introduction to Game Programming using Processing: For Designers, Artists, Players, Non-Tech People and Everybody Else