Home Gallery
| Previous | Next |

Expansions: History: The Fourth Stage: Black and White Macintosh

I had been following the evolution of personal computers in magazines like Radio and Electronics, waiting for memory size and screen resolution to improve. Many second generation personal computers like the Apple II, Commodore Pet and TRS 80 had screen resolutions that were too low to grow Expansions for more than a few cycles. Later, I disappointedly dismissed the IBM PC when I found out that it did not have square pixels, another requirement.

The fourth stage started in November of 1984 and is intertwined with the "insanely great" Macintosh computer. I was aware of the Macintosh from the day I had read some advance articles about Apple Computer's forthcoming "1984" Superbowl ad. At this time, some relatives attended Steve Jobs' famous public introduction of the Macintosh at the Boston Computer Society on Jan 30th 1984. They were among the very first purchasers of the Macintosh. The "remember and type" mode of doing things was replaced by the "recognize and point" mode of the Macintosh. A couple days before visiting in November 1984, I quickly wrote a program on paper, in the BASIC programming language, to grow the Line Pattern. While visiting, I made the program work and for the first time I saw an Expansions pattern unfold in real time on a screen. The Macintosh's black-on-white screen display was astonishingly crisp, perfect for growing patterns. I knew that here, at last, was the technology I had been waiting for. I was excited.

In January 1985, I bought my first computer, a Macintosh 512K. I had already decided to form a company, Pixel Pathways, with the intention of eventually writing and marketing a program to grow Expansions patterns. During 1985, between periods of learning how to program the Macintosh, I collected and collated my ideas for a new and far more flexible version of Expansions. I wanted all pattern designing to be possible without typing anything. My motto at that time was "let the machines do the work." Many of the great ideas that resulted in the development of the Macintosh User Interface were available to the programmer in the Macintosh Toolbox, a collection of graphic routines built into the Macintosh. Apple Computer encouraged Macintosh programmers to use the Toolbox routines as much as possible for standardization.

I revised the specifications for Expansions. I decided that there could be up to eight Modules instead of six. Of more importance, each Module could have up to eight first-part branches instead of two, and they could be short or long independently of each other. Each of the first-part branches could in turn have up to eight second-part branches all short or long independently of each other. The collision rules could be assigned to any of the branches independently of each other. Some collision rules would still be preset and unchangeable.

Based on a bug I encountered in a BASIC language version of the Expansions program I wrote in the spring of 1985 (which was an evolution of the IBM 370 program), I decided that there would be an additional direction system assignable to each branch. The user could decide if the direction assigned to a branch was going to be relative or absolute. "Relative" means the direction in which the new branch will grow depends on the direction grown by the branch from which the new branch will grow. All of XPAND's Module branches were relative. "Absolute" means that the new branch will always grow in the assigned direction, independent of the direction grown by the branch from which the new branch will grow. This new feature would lead to some astonishing patterns.

I started the actual programming in early 1986 using assembler language for the Motorola 68000 processor within the Macintosh 512K computer. After more than a two-year effort, apart from a full time job of programming IBM mainframes, I completed the code in the spring of 1988, although I added some new features to the program later that year. The features were a "thicken" function, which traces all pixels already turned on (the first of many cellular automata "drawing tool" functions which eventually appeared in Color Expansions), and two screen clipping functions. I enjoyed being as original as possible in many aspects of the program, while following many of the programming guidelines established by Apple Computer. The telecomputing members of the Micronet Apple Users Group (MAUG) on CompuServe were a considerable source of help in solving some technical problems, especially in the early days. Also, my father and particularly my stepmother gave me excellent ongoing advice on some aspects of the user interface as well as other issues.

During this time I designed / stumbled into / discovered many new patterns. The primary thing about "designing" patterns is that many of the neat patterns are discovered by serendipity and not by design. Once an interesting pattern is found and saved, modifications may be made to explore the variations, often resulting in totally different kinds of patterns.

The Squares & Triangles Pattern

The Squares & Triangles Pattern was the first Expansions pattern ever grown with at least one of its branches growing in an absolute direction. The Modules for the Squares & Triangles Pattern are shown in Figure 4.1a. The hollow branches, in this illustration, indicate that those particular branches will grow only in the direction indicated as shown in Figure 4.1b. For this expression of the Squares & Triangles Pattern, only one starting direction was defined, straight up. Figure 4.2 shows the Squares & Triangles Pattern after seven Power-Cycles (128 Cycles).

Figure 4.1a. (left): Squares & Triangles Pattern Modules
Figure 4.1b. (right): Squares & Triangles: Portions of first four Cycles.

Squares & Triangles Pattern, Inverted. 128 Cycles. Scale: one pixel.

The V-RRRA Pattern

Another early pattern grown with a Module having at least one branch growing in an absolute direction was the "V-RRRA" Pattern. Figure 4.3a shows the V-RRRA Pattern with its starting point near the extreme upper right of the growing area. The solid black area in Figure 4.3a is the area of growth. The pattern gets its name from the fact that the Cycle consist of four "V" Modules. The four "V" Module's direction systems are "Relative, Relative, Relative, and Absolute," respectively. (I had begun to do some experimenting with different ratios of vector assignments.) The fourth Module in the V-RRRA pattern has two branches that always grow in the same upright orientation. Figure 4.3b is the same view as Figure 4.3a, except that the inner structure of the solid black area has been revealed by emphasizing the white background instead of the black foreground when the reduction was made. Once again a fairly standard triangular structure is revealed. (Macintosh user's note: The solid jagged edging at the bottom of the "revealed" pattern in Figure 4.3b was drawn manually by taking Figure 4.3a, importing it into MacPaint, inverting it, selecting the new shape, tracing its edges using the trace function, copy/pasting it into SuperPaint, lassoing it and "nudging" it into place in Figure 4.3b). The V-RRRA pattern was created near the end of June 1986.

Figure 4.3a. V-RRRA at 640 Cycles.
Scale: one pixel with 1/4 reduction

Figure 4.3b. V-RRRA at 640 Cycles: inner structure revealed

The 1st from Scratch-5 Pattern

While quite a few new patterns were grown during early program development in 1986, the floodgates opened in the summer of 1987 when the initial programming of the windows used to interactively design patterns via the Macintosh mouse was finished. Prior to that, all patterns had to be designed via text files. As new patterns were created, the task of naming them became more difficult, akin to naming every snowflake. For instance, the fifth pattern ever created interactively via "point and click," is named "1st from Scratch-5". This is one of my favorite patterns. The Module for "1st from Scratch-5" is shown in Figure 4.4a. The dark markings on the Module are the part points. Notice that the first-part branch in the center is long while the ones going to the left and right are short. The first four Cycles of the "1st from Scratch-5" Pattern are shown in Figure 4.4b. If the first-part branch in the center of the Module had been short instead of long, and its second-part branch had been long instead of short, the first four Cycles would have grown as shown in 4.4c. Figure 4.5 shows an excerpt from the "1st from Scratch-5" pattern after it had grown about 230 Cycles.

Figures 4.4a, b, c left-to-right; Module, four Cycles, alternate state.

Figure 4.5. "1st From Scratch-5" during the 230th Cycle. Scale: one pixel.
The origin of growth was below the snipped image

Boundary Bounce

Many new phenomena were discovered. One phenomenon is the effect the boundary of the growing area sometime has on a growing pattern. In Figure 4.6, a pattern began growing near the top right and progressed as a spreading horizontal front towards the bottom of the growing area (a vertical front also moved to the right). A fairly repetitive triangle pattern emerged. However, when the running edge reached the left boundary (at point 1), the pattern bounced. The bounced pattern then proceeded to have precedence over the original pattern. The new running edge stabilized as it headed towards point 3, generating smaller triangles. Meanwhile, a bounce also occurred at point 2 and a running edge with smaller triangles also developed with precedence. When the two new running edges met at point 3, the repetitive pattern of triangles disappeared. (Just above point 2, the vertical front reached the boundary and did not bounce).

Figure 4.6. An example of Boundary Bounce. Scale: one pixel with 1/4 reduction

Catastrophe Pattern!

Figure 4.7. ZigZag3-D-A - discovered in 1990

The pattern started growing at the bottom, center and grew upwards and to the left and right. Occasionally larger hollow structures appeared. The hollow structures grew faster than the rest of the pattern, but couldn't "escape" at first because they developed "deep" within the pattern. Eventually a disruption occurred within the central triangular core (near top center), providing opportunity for the more aggressive hollow growth to take over the rest of the pattern. This is one of the most interesting sequences I've discovered, and one of a very few patterns where a major catastrophe occurs.

Figure 4.8. Another ZigZag pattern variant with Catastrophe - ZigZag3 at scale 1

This pattern started growing at the lower left (white on black). Eventually an ordered pattern emerged on the horizontal and vertical axis, restricting the amorphous growth to a large diagonal structure. Another mutation intrinsic to the pattern, within the core of the diagonal growth, as well as more aggressive growth around the outside of the amorphous growth doomed it. Like a dying star, a strong emitter beam flashed out, cutting through the regular lattice portion of the pattern!

Other Patterns

Figure 4.9. The "Next" pattern. Don't recall the significance of the name, but an interesting repetition of Triangles

The "Next" pattern grew as white on black with the left hand edge, the center axis of the pattern. The pattern originated well above the page and propagated downwards.

Figure 4.10. The "4-Star-5" Pattern (fifth variation of a 4 pointed star that obviously turned into something else!

This pattern grew as black on white, starting well below the bottom of the picture and growing upwards as a fairly straight frontal line. The pattern has a vertical symmetrical axis to the left of the portion shown here.

| Previous | Next |

© John S. Stokes III - Inventor, Artist, Puzzle Maker & Webmaster