Behold the robot juggling silver spheres.
Juggler- From the Juggler Method This is classic Juggler- He’s not just there to run game, he wants to have a good time and enjoy the interaction. Like everything an interaction should be fun, exciting, and interesting else what is the point. Learn how to talk to girls! If you don’t know how to talk to girl or what to talk about. Juggler was one of the pickup artists whose methods were different than other PUAs. Juggler the PUA advocated tactics that were bold and unorthodox. For example, he told his students to get over their fear of picking up women by calling random numbers from the phone book and asking for movie recommendations, or by convincing a homeless person. Another famous Juggler technique is the vacuum. A way of putting the onus on the woman to open up and contribute to the interaction. Overall Juggler's method is based around creating an intimate vibe, deep rapport on a wide range of topics while gaining compliance from the woman (getting the woman to put effort into the interaction).
The cover ofthe May/June 1987 AmigaWorld.
Thus begins the article in the May/June 1987 AmigaWorld in whichEric Graham explains how the Juggler was created. The program (
with fullIntuition interface) promised at the end of the article was Sculpt 3D forthe Amiga, released in the fall of 1987. Byte by Byte sold Amiga and thenMacintosh and Windows variants of Sculpt for more than a decade.
Eric rendered the frames in a raytracer he wrote called ssg,a Sculpt precursor. The rendered images were encoded in the Amiga's HAM displaymode and then assembled into a single data file using a lossless deltacompression scheme similar to the method that would later be adopted as thestandard in the Amiga's ANIM file format.
Eric and his wife Cathryn actively promoted raytracing on the Amiga. Cathrynwrote the Amiga Sculpt 3D user manual and compiled an electronic newsletterdistributed on a series of disks. Raytracing 1.0, the earliest ofthese, contains both ssg and the static geometry of the Juggler object, alongwith the Juggler image data and the player program.
Juggler was an astounding demo in its time. I personally remember staring atit for several minutes through the front window of a local Amiga dealer,wondering how it
worked.Many people were inspired by Juggler, and by theAmiga animations that followed, to pursue a career in 3D graphics. Nothing likeit could have run on any other stock personal computer in 1986.
In fact, Eric recalled, the Commodore legal department initially
thought it was a hoax, and that I'd done the animation on a mainframe.He sent them his renderer so that they could generate and compile the framesthemselves.
Turner Whitted's 1980 test ofraytraced reflection, refraction, and shadow.
Tracing rays to create realistic 3D images, the method used torender the Juggler frames, was an idea that had been in the air since the 1960's.Credit for the first publication is generally given to Arthur Appel (1968), butlike many important papers, this is a point on a continuum. A number of peoplewere experimenting with raytracing prior to 1968. Very similar techniques mayalready have been in use for years in nuclear weapon effects simulations (althoughprobably not specifically to make pictures). The underlying math of raytracingis the same geometric optics used by Descartes to explain rainbows.
Turner Whitted's paper (1980) is widely regarded as the first moderndescription of raytracing methods in computer graphics. This paper's famousimage of balls floating above a checkerboard floor took 74 minutes to render ona DEC VAX11/780 mainframe, a $400,000 computer. The Juggler would appear a mere sixyears later, created and displayed on a $2000 Amiga.
III's Adam Powers.
Shiny spheres and checked floors aren't the only elements of early computergraphics reflected in Eric's animation. It's also part of a legacy ofcomputer- rendered jugglers begun by the Information International, Inc.(III) demo reel, Adam Powers, the Juggler, which premiered at SIGGRAPHin 1981. Powers was animated using a primitive form of motion capturethat involved projecting film of a real juggler (Ken Rosenthal) onto graphpaper. The tradition was continued by Lumpy the Clown in Pixar's 1987 short,Red's Dream.
Both Adam Powers and Lumpy were fully animated with realistic variations intheir moves throughout their routines. Eric's Juggler comprised a single movethat could be looped indefinitely to create a fascinating, hypnotic animationthat nevertheless fit comfortably in 512K of RAM. Experienced jugglers will alsonote that Adam and Lumpy perform the more conventional three-ball cascade, whilethe Juggler throws a shower pattern, more difficult to master but somewhateasier to animate.
From the Author
After this page had been up for almost two years, I was finally able tocontact Eric Graham and ask him about the making of The Juggler. He has kindlygiven me permission to print his reply. I've omitted irrelevant bits of ourcorrespondence and added a few links.
From: Eric Graham
To: Ernie Wright
Subject: Re: Juggler
Date: Thu, 13 Jan 2000 11:03:04 -0500
To: Ernie Wright
Subject: Re: Juggler
Date: Thu, 13 Jan 2000 11:03:04 -0500
I bought an Amiga 1000 in June or July of 1986 along with a C compiler and spent a month or so porting my text editor to it and writing software to communicate with my IBM PC.
In November 1966, a month after I learned to program, I had written a simple ray tracing program. I was then a grad student at Manchester University in England and had access to a Ferranti Atlas
super computer.After getting the program to actually work, I only ran it once. The scene had a horizontal floor, a few spheres, and maybe a cube or cone, and two light sources.
The output was a big reel of punched paper tape which I fed through a Friden Flexowriter. By judicious use of backspaces and over-strikes, you could build up blocky pixels. For example an M and a W produced a dark blob, while a single period was off white. The final image resolution was about 100 x 80.
I remember the computer run took about 20 minutes and my department was billed around $1,000 for it--it was all funny-money, no real cash actually was exchanged. Because I wasn't supposed to be doing this, only a few people actually saw the output, and it was lost in a move at some time. A work of art it wasn't, but it did show shadows and shading.
Mirc latest version free download. I used ray tracing because that was the simplest and most obvious way to render an image. I can't claim priority over Turner Whitted on the idea, because it was never published, but I suspect lots of other people also figured it out over the years.
Twenty years later, in the fall of 1986, I was thinking of adding a room onto my house, and rather than start the work I decided to write a modeling and rendering program. But first I re-implemented the ray tracer. It took about a week to get running, and then another week or two to make a few models and put the compression scheme together. That was November and the Juggler was born. The room never was added to the house.
The reaction amongst the Amiga community in Albuquerque encouraged me to send it to Commodore. Their legal department thought it was a hoax, and that I'd done the image generation on a mainframe, so I sent Commodore the small program so they could run it themselves and generate the big Juggler file. Then they sent me $1,000 or maybe $2,000 for the rights to use it for promotional purposes. A year or so later Tom Petty included a second of the Juggler in a music video, I squeezed $100 and a copy of the tape out of his record company.
I started coding Sculpt 3D on December 26, 1986 and had a working prototype by about April. Byte by Byte picked up the rights to sell it, and as best as I can recall it shipped in October 1987, but I may be off by a month or two.
I discovered that Eric and I share an interest in amateur astronomy, but Iknow his skies in the desert Southwest are infinitely better than mine in thelight polluted Northeast. He's built several of his own telescopes as well as apersonal observatory, and during the 1980's he worked on the data analysissoftware used at the Very Large Array,the New Mexico radio telescope complex featured in the movie Contact.He recently began a 3D graphics company called Direct Algorithms.
The Video
The image data of the original Juggler is stored in a unique file format that, as far as I know, was never used for anyother animation. After Juggler, Eric wrote a suite of programs (dilbm,pilbm and movie) for assembling and playingAmiga animations that used a somewhat different format. (Free source code forunmovie, a program that extracts the frames from movie formatfiles, is available from Aminet.) ANIMemerged as the standard Amiga animation format only later.
In order to preserve The Juggler and make it available to a larger audience,I've extracted the image data from the original file and recompiled it into anumber of reasonably standard file formats. (Not all at once. I've accumulatedthese as video on the Web has evolved.)
File | Size (kB) | Encoding |
---|---|---|
juggler.webm | 309.4 | 276 × 200, On2 VP8 |
juggler.mp4 | 541.6 | 276 × 200, H.264 |
juggler.flv | 259.4 | 320 × 200, On2 VP6/Flash |
juggler.avi | 328.5 | 320 × 200, MS Video 1, 16-bit |
juggler_pngs.zip | 568.6 | 320 × 200, 24-bit PNG frames |
juggler.wav | 21.9 | uncompressed 22 kHz 8-bit mono |
I wrote the program that extracted the frames from the animation file. Theprogram builds 6-bit HAM images from the deltas and then decodes the HAM to24-bit RGB. The original images are 320 × 200, with a frame aspect of4:3. It isn't obvious whether it's better to faithfully reproduce the correctframe aspect or to preserve every (non-square) pixel, so I've done both atvarious times. Links to the source code for the extraction program are below, along with a more detailed discussion of HAM,non-square pixels, and other arcane details.
As far as I can tell, the envelope for Juggler's 8-bit sound is generated atruntime by the player. Rather than try to reverse-engineer the code, I sampledthe sound (at 22 kHz) directly from an Amiga's audio out as the animationplayed.
The Text
The readme file that accompanied Juggler (the player) and movie.dat (theframes) is reproduced here unedited, except for a few changes in line breaks.(I'm certain Eric didn't write this himself, although he may have created theicon.)
When the program runs, it displays a banner screen to give users something tolook at while the animation file loads from a floppy. Here's what it says.
Source Code, Technical Details
To document the file format, I've made available the source code for myconversion program.
jug2tga.c
rotate.c
rotate.c
It saves TGA (Targa) 24-bit image sequences and compiles without modificationin both Microsoft Visual C++ 4.0 and Amiga SAS/C 6.51. (Update: It also compilesin MSVC 2008 Express and gcc 4.4.3.)
Fred Fish #97 contains version 1.2 of the Juggler distribution, whichincludes the image data and Amiga player program. (The disk archive is LZHcompressed, so you'll need an archive utility that understands LZH or LHA filesto extract it.)
Unless you're familiar with animation file formats and the Amiga's nativedisplay hardware, the organization of Juggler's image data may seem a bitstrange. Briefly,
![Juggler Juggler](/uploads/1/1/0/3/110347121/354356609.jpg)
- pixel bits are separated into bitplanes
- pixel values are hold-and-modify encoded
- only the pixels that change between frames are stored
- the difference is calculated
two frames back
- the pixels aren't square
A conventional 8-bit image stores the value of a pixel in a single byte(below, left). For a pixel at (x, y), the memory offsetfrom the start of an image w pixels wide is just wy +x, and the value stored there is an index into a table of 256 RGBcolor records.
The original Amiga HAM (hold and modify) display mode (above, right) uses 6bits per pixel. Each bit resides on a differentbitplane — the bits of a given pixel aren'tcontiguous in memory. To retrieve a pixel value (naïvely), you must readbytes at six different addresses, mask off all but one bit from each of them,and string the bits together. For the pixel at (x, y), thebyte offset into each bitplane is (wy + x) / 8, and thebit is 7 − (x mod 8). Bitplane n contains then-th bit of the pixel value.
The Juggler Method Movie
The high 2 bits of the pixel value form a code that controls theinterpretation of the other 4 bits:
Code | The data bits are.. |
---|---|
0 | an index into the 16-member RGB color table |
1 | the blue value (in the range 0 - 15) |
2 | the red value |
3 | the green value |
A HAM code of 0 causes a conventional color table lookup. For the others, thelevel of one of the three RGB channels is stored in the four data bits, and theother two channels are copied from the pixel to the left (the leftmost pixelgets the missing channel values from entry 0 in the color table).
Frame 1, with the delta regions for frame 2highlighted.
Animation files store frames as a collection of deltas,named after the Greek letter used in math to denote the amount of change in aquantity. An animation delta is just a set of pixels that differ between twoframes.
The deltas for each Juggler frame consisted of horizontal runs of pixels andwere sorted by length into five sections. The first section contained runs of 80pixels (10 bytes per bitplane), and the others contained runs of 64, 48, 32, and16 pixels (8, 6, 4 and 2 bytes per bitplane). The standard format for Amigaanimations that emerged later would use vertical runs, or columns, of pixelsrather than rows, and would allow each run to be an arbitrary length.
Double-buffered displays were an integral part of theAmiga's display architecture. Two frame buffers are set up in memory, aforeground buffer containing the currently visible frame, and a backgroundbuffer where the next frame is built. While the current frame is visible, thedelta pixels are written into the frame in the background, and when the timecomes to display the next frame, the foreground and background trade places.
Frame 1 is loaded into both the front and backbuffer. The delta for frame 2 is applied to the copy of frame 1 in the backbuffer.
Once frame 2 is built, the back and frontbuffers are swapped, displaying frame 2.
The delta for frame 3 is applied to the copy offrame 1 in the back buffer.
The buffers are swapped to display frame 3.After this, the delta for frame 4 will be applied to the copy of frame 2 in theback buffer.
At the start of the animation, the foreground andbackground both contain frame 1. The delta pixels for frame 2 are written intothe copy of frame 1 in the background, and the buffers are swapped. Next, thedelta pixels for frame 3 are applied to frame 1 and the buffers are swappedagain, leaving frame 2 in the background. In general, except for the firstframe, the deltas are applied
two frames back,so that the delta forframe n modifies the pixels of frame (n − 2).
Unlike modern displays, the Amiga (and other computers of its era) usednon-square pixels, a legacy of analog television. To display anAmiga image on square-pixel hardware so that it doesn't appear squashed orstretched, the image has to be resampled by a scale factor that cancels thenon-squareness of the pixels. The measure of non-squareness is the pixel aspectratio, or PAR, the ratio of width to height of a pixel. To preserve the shape ofthe image, its horizontal resolution must be multiplied by the PAR or thevertical resolution divided by the PAR.
Unfortunately, there's some confusion about the correct PAR for Amiga images.Eric's raytracing code assumes that a 320 × 200 display has a frame aspectof 4:3, which implies a PAR of 5/6 = 0.8333. The original Amiga documentationsuggested a PAR of 10/11 = 0.9091 for NTSC (the TV standard in North America;Amigas in Europe used the PAL standard and a different PAR), and most older IFFILBM image files have that 10/11 PAR in their headers. A 1993 technical note byAmiga programmer Carolyn Scheppner revised the recommended PAR to 11/13 = 0.8462for the original low-resolution NTSC display modes.
In my own code, including the HAM and ANIM-5 routines I wrote forLightWave, I used 69/80 = 0.8625, and this is also whatI used for the aspect-corrected versions of the Juggler on this page.
Postscript
I posted the first version of this page in the Spring of 1998, making itolder now than the Juggler was then. Although I revise it from time to time, Iusually do so with a light touch, partly for lack of time to do more. But moreimportantly, the page itself is something of a relic that wants to remain in itstemporal context. References to obsolete compilers are part of its charm. Wordslike
recentlyand
currentlyshould in most cases be understood torefer to a time much closer to the origin of the page.
My goal was to curate the Juggler, to unlock it from its singular and nowunplayable file format, and to share it with others who remember it as fondly asI do.
A number of people have dropped me a note to share the stories of their firstencounter with the Juggler, and those are always fun to read. With my permission,the page was translated into French, which ispretty cool. The Juggler is now in dozens of places on the Net, from YouTubevideos to animated GIFs, and most of those copies ultimately came from thispage.
A few people have written seeking permission from me to do various thingswith the animation, or asking whether I have other data that hasn't been sharedon the page. I answer those on a case by case basis, but there are a few thingsthat apply in all cases:
- I can't sign any legal forms regarding reproduction rights. Eric Graham isthe owner of the intellectual property.
- I don't have current contact information for Eric, but you may be able toreach him through the e-mail address in the Contacts link on the Direct Algorithms site.
- I don't have any data that isn't already linked here.
In 2011 I wrote,
I used to have the static geometry of theJuggler, probably from the Raytracing 1.0 disk mentioned here, butthat was lost several computers ago.RT 1.0 hasbeen found! You can read the story of its rediscovery here, as well as see the Juggler rendereddynamically in your browser using the algorithms and data from the disk.
A scene file describing the motion of the Juggler doesn't exist.As Jimmy Maher confirmed while researching his 2012 book about the Amiga, eachframe of the Juggler animation had its own scene file, similar to the wayRenderMan has always worked. And unfortunately, these per-frame files werenever published and probably haven't survived. (The single frame file onRT 1.0 differs slightly in lighting and camera angle from the Juggler frames.)
When I announced on a few newsgroups that I'd created this page, I acknowledgedseveral people by name who helped me track down Juggler information and originalfiles, and it was one of them who eventually got me in touch with Eric. I've alsoreceived helpful information and feedback from several people since then. Mythanks to Bob Eaton, Eric Fleischer, John Foust, Marvin Landis, Scott Peterson,Jimmy Maher, and Patrick de Zoete for their assistance, which in some casesinvolved rummaging through boxes of decade-old magazines and floppies to aidfailing memories.
And I'm sure most people reading this would join me in thanking Eric Grahamfor allowing us to share a moment of nostalgia in this way.
Copyright © Ernie Wright
Last modified 28 June 2015
Last modified 28 June 2015
This article is an excerpt from the Shortform summary of 'The Game' by Neil Strauss. Shortform has the world's best summaries of books you should be reading.
Like this article? Sign up for a free trial here.
Who is Juggler in the PUA community, and how did he know Neil Strauss?
Juggler the PUA was a top PUA guru . Read about how Juggler the PUA knew Neil Strauss, and how he developed his pickup artist strategy.
Juggler: Make Yourself Stand Out
The seduction community had several pickup gurus, each pedaling a different seduction strategy. For example, Ross Jeffries’s Speed Seduction was based on subliminal messaging through sequences of scripted lines, while David DeAngelo’s Double Your Dating strategy used a hybrid of arrogance and humor, called cocky funny.
The gurus competed for disciples, discrediting each other in the process. However, most men in the seduction community didn’t want to commit to just one guru—like Style, they wanted to pick up as many strategies from as many sources as they could.
Juggler PUA Strategy: Be Bold
The first PUA Style contacted was Juggler. Juggler was one of the pickup artists whose methods were different than other PUAs.
Juggler the PUA advocated tactics that were bold and unorthodox. For example, he told his students to get over their fear of picking up women by calling random numbers from the phone book and asking for movie recommendations, or by convincing a homeless person to give them a quarter. Juggler, unlike other pickup artists, also encouraged PUAs-in-training to make their pickups more challenging by telling women that they worked as garbage men or drove old cars.
Style attended one of Juggler’s free workshops in San Francisco.
Before Style reached out, Juggler the PUA already knew of Style from seeing his posts in the online seduction community. When they met, Juggler was impressed by Style’s innate likability, eloquence, and ability to put people at ease.
When Juggler saw Style in action, he admired Style’s skill at using seduction techniques. Combined with Style’s unassuming appearance, Juggler mused that Style could be an ideal sidekick for a rising seduction guru.
The Juggler Method
Juggler the PUA could see that Style was lacking confidence, but that self-doubt disappeared when Style was sarging (picking up women).
Juggler’s Background
Growing up, Juggler knew nothing about the world of pickup artists. He loved taking things apart—from toys to home appliances. As he got older, Juggler remained curious about how things worked, but his focus changed from appliances to human interaction.
Juggler became a street performer, juggler, and comedian. In these roles, he studied social dynamics and, consequently, improved his game with women. By 23, he’d had sex with just one woman, but by 28, he could pick up any woman.
Juggler felt like he’d found his tribe when he discovered the online seduction community, because the game was based on the knowledge and strengths he’d developed. Finally, Juggler became a PUA.
Style’s Takeaways
Style’s time with the gurus had taught him about hypnosis, cocky funny, and sheer brazenness.
He also picked up some universal lessons, which would serve him in the world beyond seduction:
- When you approach someone, your opening line isn’t as important as you think. How you start the conversation is less important than where you take it.
- There’s a misconception that asking a lot of questions during conversation shows interest—but it comes off more as interrogation.
- In contrast, making statements in a conversation is a confident and intimate way of talking. Old friends speak in statements, because they allow each other to offer information through their own sharing.
- Talking fast indicates a lack of confidence. If you’re talking fast, you’re trying to fit everything in as quickly as you can because you may be worried that people aren’t interested, or you can’t bear to leave out any details.
Style felt he’d met enough gurus. He’d picked up plenty of philosophies and strategies—now he simply needed to practice using them. Aloko udapadi sinhala full movie download.
Juggler the PUA was a top pickup artist in the community. Juggler was a PUA that worked on developing confidence in addition to his PUA method.
The Juggler PUA Strategy Was to Be Bold and Brazen
———End of Preview——--
Like what you just read? Read the rest of the world's best summary of Neil Strauss's 'The Game' at Shortform.
Here's what you'll find in our full The Game summary:
- The secrets of the Pickup Artist community in seducing women
- How key Pickup Artist leaders fought with each other and split the group apart
- What author Neil Strauss took away about women from his years of training