Bob Ross - The Joy of Pixeling the Walls at the Disco

Bob Ross is a 256 bytes intro for the Atari 800 XL. It requires Atari XL OS REV C due to dirty nasty direct calls. It was released in the 256 bytes compo at SillyVenture 2016 in Gdansk and ranked 3rd place. Belowyou can see the fast forward version. To see and hear the full joy of sizecoding, you should watch it on youtube or better download it and run it on your real Atari.

Bob Ross


It started long ago with the idea to generate pixel stuff in 1k when I saw some nice PC procedural graphics. The idea evolved into the plan to generate the different planets of the solar system. As it turned out with single byte precision, the radius of the planets was too limited. So I looked for something that could be created out of smaller balls and ran into the "30 years Amiga juggler" post somewhere on Facebook. I was hooked and tried getting the coordinates and animation right based the great article Project Amiga Juggler about it.

Original Amiga Juggler

But I soon realized that the rendering of the man alone with single balls and some 8 animation frames would take hours. So nothing suitable for a party where everything is shown live on real hardware.

SillyVenture came closer and closer and having just one week left with nothing to release yet, I decided to go for the 256B compo instead of the intro compo. I spent Sunday getting the shaded circle routine running and designing the man. Monday, I took a day off for crunching it from 489B to 256B. The biggest obstacle turned out to be the size of the data for the man. 18 balls with 5 parameters

  1. X coordinate
  2. Y coordinate
  3. radius
  4. shading offset for sphere like look
  5. color (red/blue)

crunched into 4 bytes per ball left me with 178 bytes for the code.

Bob Ross


The idea for the title and the way the man is drawn came up the day before I actually started coding when I zapped into one of the great "Bob Ross - The joy of painting" shows at 02:00 AM. I saw how he painted layer on layer to the canvas to create the depth effect. And there was this unique noise caused by the way the uses the brush, so this had to be in somehow. Not to mention that the ball man head comes quite close to Bob Ross' classic hairstyle. And if you look closely you will realize that the final scene shows the original Bob Ross' palette applied to the background :-)