Skip to content

The Juggler

The ray-traced robot that sold Amigas

Eric Graham's 1986 animation of a robot juggling three mirrored balls on a checkerboard: 24 ray-traced frames made on a standard Amiga 1000, played back in the machine's 4,096-colour HAM mode. It spread through public domain disks and dealers' windows, became the Amiga's best-known graphics demonstration, and led straight to Graham's commercial ray tracer, Sculpt 3D.

In late 1986 a robot started juggling in Amiga dealers’ windows. Three balls rose and fell over a checkerboard floor under a blue sky, and each ball was a mirror: in it you could see the robot, the floor and the sky, bent around its curve. The robot cast a shadow. Nothing about it looked like the flat blocks of colour home computers normally drew. INFO told its readers in the spring of 1987 that “you’ve probably seen this at your dealer by now”, and called it “the most mind-blowing piece of animation we’ve ever seen on any personal computer”.

The surprise was where it came from. Eric Graham, a former astronomer living in New Mexico, had made it at home on a standard Amiga 1000 with 512K of memory, using a ray-tracing program he wrote himself in C. The whole animation is 24 frames long.

Fast facts

  • Creator: Eric Graham.
  • Made: late 1986, on an Amiga 1000 with 512K; Graham said it took about a month.
  • Length: 24 frames, looped; the viewer controls the speed.
  • Display: the Amiga’s hold-and-modify (HAM) mode, up to 4,096 colours on screen.
  • Spread by: public domain disks, bulletin boards, dealers and, according to the historian Jimmy Maher, Commodore itself.
  • What came next: Sculpt 3D, Graham’s commercial ray tracer, published by Byte by Byte in 1987.

What you see

Amazing Computing described the public domain release in February 1987: “a robot juggler bouncing three mirrored balls, with sound effects. Twenty-four frames of HAM animation are flipped quickly to produce this image. You control the speed of the juggling.”

Graham gave the scene his own caption when he explained it in AmigaWorld a few months later:

Behold the robot juggling silver spheres. He stands firmly on the landscape and gleams in the light. He is only a microchip phantom, yet he casts a shadow. You can see his reflection in the refined orbs he so deftly tosses. He inhabits space, in a pristine computer’s dreamscape. Though he looks strangely real, he exists only in the memory of the Amiga.

The mirrors are the three balls. The robot himself is made of spheres too. In Graham’s program every object was a sphere, and each needed only eight numbers: three for its position, one for its radius, three for its colour and one for its surface, which could be dull, shiny or a mirror. Even the lamps were spheres that gave out light instead of reflecting it. The ground was an endless checkerboard “like cheap vinyl flooring”, and the sky shaded from one blue overhead to another at the horizon. “Being a traditionalist, I chose shades of blue,” Graham wrote, “but you can choose any two colors you wish.”

How it was made

Ray tracing works backwards from the eye. For each pixel on the screen, the program follows a straight line from the viewer out into the scene and finds the first thing it hits. It then works out how brightly each lamp lights that point, checking whether another sphere is in the way; that check is what draws the shadows. When the line hits a mirror, the program follows the reflected line to see what the mirror shows.

That is a great deal of arithmetic, and the Amiga’s 68000 processor had no floating-point hardware. A 320 by 200 picture has 64,000 pixels, and Graham estimated that a straightforward version could take “as long as a month” to draw one frame. Switching to Motorola’s fast floating-point routines, “less accurate but … nearly ten times faster”, brought that down to a few days, and skipping rays that could not hit anything cut it further. He rendered small test pictures first to check the camera and the lamps before committing to a full frame.

The finished frames had to fit in memory too. Each HAM frame took 48K, so 24 of them needed more than a megabyte, twice what the machine had. Graham compressed them so that a 512K Amiga could play the loop. In November 1987 he told an online conference that the Juggler was “produced in about a month”. He had wanted to do this for a long time: he wrote his first ray tracer in 1966, when the only machine he could use, “the biggest in Europe”, took hours for each image and printed it on a teletype at 80 by 66 pixels. The Amiga, bought late in 1986, was “the first machine with good enough graphics to do justice to ray tracing”.

How it spread

The Juggler travelled the way Amiga public domain software did. It was on the AMICUS 16 disk, where Amazing Computing called it “by-now famous” as early as February 1987, and on Fred Fish’s disks 47 and 57. AmigaWorld’s writer on the online services found it on People/Link as JUGGLER.ARC. Graham’s documentation, Amazing Computing noted, hinted that “this program might someday be available as a product”.

Jimmy Maher, in his 2012 history of the Amiga, The Future Was Here, writes that Commodore began distributing the demo “to dealers, electronic bulletin-board systems (BBSs), and public-domain software collections” in November 1986, and that Commodore’s staff at first refused to believe it had been made on an ordinary Amiga until Graham sent them his source code and tools. Maher judged that it “likely sold more Amigas than the entirety of Commodore’s other confused and ineffectual promotional efforts combined”.

The period magazines show how far it reached. Commodore Magazine called it, “without a doubt”, the best public domain graphics demo for the Amiga. At the spring 1987 COMDEX show, Amazing Computing reported, Byte by Byte ran it on a small monitor for a few hours one afternoon, and “the crowd was four-deep at times”. A rumour went round that pressing J ten times, with exactly the right pause between presses, made the robot turn a somersault. In the autumn of 1987 INFO spotted the Amiga “running the Juggler demo” in the video for Tom Petty and the Heartbreakers’ “Jammin’ Me”; Maher writes that Graham was paid $100 for it. By then INFO could say that “almost everyone is familiar with Eric Graham’s public domain Juggler demo”.

From demo to Sculpt 3D

AmigaWorld put Graham’s ray-traced art on the cover of its May/June 1987 issue and ran his article “Graphic Scene Simulations” inside, with the core of his program printed in C. Readers could send $15 for a disk with the full source code. In Britain the Amiga Centre Scotland imported his sphere-based program as Ray Tracer, and at £11 ACE called it “the greatest Amiga graphics bargain yet”.

Graham had already moved on. In April 1987 Amazing Computing reported that Byte by Byte of Austin, Texas, had signed “the programmer behind the ‘Juggler’ demo” to write a ray-tracing and animation package. He said he started writing it on 26 December 1986, as soon as the Juggler was finished. It went on sale in the summer of 1987 as Sculpt 3D, advertised as “Written by Eric Graham a la ‘Robot Juggler’”. The robot kept working for his new publisher: at a spring 1987 show, Manx Software’s stand ran a version in which he juggled in front of a large Byte by Byte billboard.

The Amiga already had one famous demo, the Boing Ball, a chequered ball worked out by the program as it bounced. The Juggler was different in kind: every frame had been calculated in advance by a program that simulated light, and the Amiga only had to show the results. In January 1988 AmigaWorld’s Sheldon Leemon wrote that the Juggler “quickly became a symbol of the Amiga’s graphics capabilities”.

Sources

  • Amazing Computing: vol. 2 no. 2, February 1987 (AMICUS 16: “by-now famous”, three mirrored balls, 24 HAM frames, speed control, the hint of a product); vol. 2 no. 4, April 1987, p. 27 (Byte by Byte signs Graham); vol. 2 no. 6, June 1987 (the somersault rumour; the Juggler at the Manx Software stand); vol. 2 no. 7, July 1987 (Byte by Byte advertisement, “Written by Eric Graham a la ‘Robot Juggler’”); vol. 2 no. 8, August 1987, John Foust, COMDEX report (Byte by Byte’s monitor and the four-deep crowd); vol. 3 no. 3, March 1988, pp. 38–39, “A Conference with Eric Graham”, edited by John Foust (the 1966 ray tracer, “the biggest in Europe”, the teletype, buying the Amiga, “produced in about a month”, Sculpt 3D begun on 26 December).
  • AmigaWorld: May/June 1987, from p. 18, Eric Graham, “Graphic Scene Simulations” (the caption; the world of spheres, surfaces and lamps; the checkerboard and sky; the ray-tracing method, rendering times and the Motorola routines; the $15 source disk; Graham as an ex-astronomer in New Mexico); the same issue’s editorial on the ray-traced cover, and its online services column (JUGGLER.ARC on People/Link); January 1988, Sheldon Leemon, “Depth-Defying 3-D Programs for the Amiga” (the Juggler “quickly became a symbol”).
  • INFO: issue 14, May/June 1987, “More Amiga PD” (“You’ve probably seen this at your dealer by now”); issue 16, September/October 1987 (Sculpt 3D review, “Almost everyone is familiar”; news item on Tom Petty and the Heartbreakers’ “Jammin’ Me” video).
  • Commodore Magazine, vol. 8 no. 9, September 1987, “Amiga Public Domain Software” (the best public domain graphics demo; Fish disks 47 and 57; 48K per HAM frame).
  • ACE issue 3, December 1987 (Amiga Centre Scotland’s Ray Tracer, sphere-based “like the famous juggler”, £11).
  • CU Amiga, October 1991 (Amiga Centre Scotland and Graham’s ray tracer).
  • Jimmy Maher, The Future Was Here: The Commodore Amiga (MIT Press, 2012), chapter 4, pp. 83–84: Commodore’s distribution from November 1986, the standard 512K Amiga 1000, Commodore’s disbelief, the Juggler as a sales tool, and Graham’s $100 for the Tom Petty video.

See also

Checked. Verified against primary sources and signed off by a person.