Randomness
From Maze
(Difference between revisions)
(→Randomness and Aesthetics Before Computing) | (Edited first section, removed heading) | ||
| Line 119: | Line 119: | ||
The way that 10 PRINT invokes the randomness provided by the Commodore 64 is of interest for a few reasons which will each be explored in turn. First, using randomness is aesthetically necessary in this program; there is no other way to achieve a similar effect. Second, the methods used in Commodore 64 BASIC are historically quite typical of computational approaches to pseudo-randomness since the 1950s. Finally, out of several common approaches to randomness available on the C64, 10 PRINT uses a very standard method that is well-suited to experimentation, debugging, and the production of canonical results. | The way that 10 PRINT invokes the randomness provided by the Commodore 64 is of interest for a few reasons which will each be explored in turn. First, using randomness is aesthetically necessary in this program; there is no other way to achieve a similar effect. Second, the methods used in Commodore 64 BASIC are historically quite typical of computational approaches to pseudo-randomness since the 1950s. Finally, out of several common approaches to randomness available on the C64, 10 PRINT uses a very standard method that is well-suited to experimentation, debugging, and the production of canonical results. | ||
| − | ==== RND Aesthetics ==== | ||
| − | |||
[[Image:10print-nonrandom-205.png|160px|thumb|10 PRINT CHR$(205); : GOTO 10]] | [[Image:10print-nonrandom-205.png|160px|thumb|10 PRINT CHR$(205); : GOTO 10]] | ||
[[Image:10print-nonrandom-205-206.png|160px|thumb|10 PRINT CHR$(205)CHR$(206); : GOTO 10]] | [[Image:10print-nonrandom-205-206.png|160px|thumb|10 PRINT CHR$(205)CHR$(206); : GOTO 10]] | ||
| − | As briefly glossed in the introduction, 10 PRINT prints a texture of diagonal lines that unpredictably alternate between left and right. This unpredictability in the emerging design is crucial to producing the impression of a maze. Indeed, if we consider variations of 10 PRINT with regular or no alternation, we can see what a big difference a little randomness makes. | + | 10 PRINT prints a wrapping series of diagonal lines; these unpredictably alternate between left and right. This unpredictability is crucial to producing the impression of a maze. A quick look at variations of 10 PRINT that have regular or no alternation should make it clear that the randomness in the program is significant. |
| − | This aesthetic issue extends to both the appearance of the final output and the code. While it was possible to implement one's own pseudo-random number generator in a BASIC problem, doing so would have lengthened and complicated 10 PRINT considerably from the concise and elegant one-liner program that circulated in C64 and PET magazines. | + | This aesthetic issue extends to both the appearance of the final output and the code. While it is possible to implement one's own pseudo-random number generator in a BASIC program, it would have lengthened and complicated 10 PRINT considerably if someone had added such code to it. It would certainly not have been a concise and elegant one-liner that fit into the MAGIC section of ''RUN.'' |
==== The History of RND ==== | ==== The History of RND ==== | ||
