Variations on a maze
From Maze
(Difference between revisions)
(→Overview / Outline) | |||
| Line 1: | Line 1: | ||
== Overview / Outline == | == Overview / Outline == | ||
| − | Variations on a Maze | + | Variations on a Maze: 10 Print as CHR calls |
| − | This section explores the relationship between various simple variations in the ''10 Print'' one-liner on the c64 platform and their impact on the maze-like quality of the visual output. Because the original program is a concise randomized offset to a region of the PETCSII character table, our variations are limited to other such lookups. The code is limited by the characters available in PETSCII, and the concision or elegance of the code is affected by the adjacency of characters, which must otherwise be randomized in a more complex way than an offset. | + | This section examines a set of simple variations in the ''10 Print'' one-liner, each drawing on different graphic characters from the PETSCII table. Although each change is small, every variation has a significant impact on the perceived maze-like qualities of the visual output. The output of ''10 Print'' has a unique visual appeal, which we can understand in terms of design and composition (diagonal vs orthogonal), and in terms of how it plays against the contextual expectations of the historical period when it emerged (graphical software -- particularly video games of the era). |
| + | |||
| + | When we attempt to change even the smallest element of ''10 Print'', we make an interesting discovery -- ''10 Print' is a kind of optimal solution that is uniquely elegant in its design space (a c64 BASIC one-line maze generator). Any similar attempt is both less concise (requires more code) and less expressive (resembles a maze less). In fact, the concision of the code and the expressiveness of the image are tightly related, and arise out of a unique set of constraints and interactions: | ||
| + | |||
| + | * the keyboard layout of the PET / C64 | ||
| + | * the sequence of adjacent characters in the PETSCII table | ||
| + | * graphic design and topology | ||
| + | * a design goal to make the one-liner short and simple | ||
| + | |||
| + | Because the original program is a concise randomized offset to a region of the PETCSII character table, our variations are limited to other such lookups. The code is limited by the characters available in PETSCII, and the concision or elegance of the code is affected by the adjacency of characters, which must otherwise be randomized in a more complex way than an offset. | ||
== Games == | == Games == | ||
