Brad Tober /
Experimental Interface Lab

«Game Building Blocks

My interaction design students learn basic programming skills in Processing through the design and development of a digital game. Most, if not all, students begin the project with absolutely no programming experience, so many of them are understandably apprehensive about the notion of creating a game from nothing in the span of only a few weeks.

Processing, "a programming language, development environment, and online community" that "promote[s] software literacy within the visual arts and visual literacy within technology," frames learning to code as involving "looking at lots of other code: running, altering, breaking, and enhancing it until you can reshape it into something new." As both a learning method and as general practice, the re-use of code written by others is actively encouraged within creative code communities.

In the first stage of the project, students design an interactive flow structure for their game. Opportunities for leveraging existing sources of relevant code, which include the Game Building Blocks, as well as other pieces of code that developers have freely shared elsewhere, are identified at this point. It is then up to the students to analyze these pieces of code, understand how they operate, and synthesize / extend them to form their envisioned game.

The Game Building Blocks are not intended to be fully realized and refined games, nor are they examples of highly optimized code. Rather, they focus on demonstrating basic game component logic through neatly formatted code that has been commented in detail. The use of objects is deliberately avoided in order to more clearly reveal the logic behind certain functional aspects.

You can download the Game Building Blocks on GitHub.