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. Below you can see the fast forward version. To see and hear the complete joy of size coding, you should watch it on youtube or 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 a plan to draw the different solar system planets procedurally. 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 more petite 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 on Project Amiga Juggler's excellent article.

Original Amiga Juggler

But I soon realized that rendering the man alone with single balls and some eight animation frames would take hours. That would not be 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. On Monday, I took a day off to crunch it from 489B to 256B. The biggest obstacle was the size of the data for the man. 18 balls with five parameters

  1. X coordinate
  2. Y coordinate
  3. radius
  4. shading offset for a 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 how the man is drawn came up the day before I started coding when I zapped into one of the excellent "Bob Ross - The Joy of Painting" shows at 02:00 AM. I saw how he painted layer-on-layer on the canvas to create the depth effect. And this unique noise was caused by how he uses the brush, so this had to be in somehow. Not to mention that the ballman 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 :-)