Ten Tomato years

Written by T$


Starting with Mekka&Symposium 2000, the annual easter demoscene party's 4k competition got infested with entries featuring a bunch of jumping glowballs with eyes, the famous infamous 'Raving Tomatoes'. Some like it, some loathe it, but generally also a lot of people await it. But, what's the story behind them?

It all started in early 2000, when I was currently busy porting x86 asm PMODE DOS stuff to the Win32 world while the easter weekend was approaching. Thus, it was quite natural that I decided to make an entry for the 4k compo, using Win32 assembly. But what should the content look like? Back then, 4k competitions were mainly filled with simple graphic effects like plasmas or maybe a 3D object, so it should become something different. Luckily, the newspapers have been busy writing report after report about "genetically modified tomatoes", and an issue of the Groove music mag featuring an "save the rave" poster depicting 5 colorful acid-smilie-like guys also happened to lie nearby and looked like a promising idea. Putting both together ended up in...

2000: Ravende Gentomaten @ 180 BPM

...which were happily entered into the MS compo. The design was made up by a mirroring ground looking like a mixture of tron and a nightclub floor which gets populated by more and more tomatoes. As far as I know, it was the first Win32 4k with sound, and it doesn't use any sort of compression or exe dropper. The synth consisted of 3 hardcoded oscillators, one is close to resonating and generates the drum, the second one is resonating for the melody whenever a new tomato enters, and the last one is slightly overdriven and thus creates the interesting sounds all on its own - a concept which was used over and over in subsequent releases. Funnily, this one is still considered the tomato 4k with the best sound by several sceners ;)

- Although the intro can run forever, the amount of tomatos is capped to 32. Seeding is done by RDTSC (duh!), thus the 4k required at least a true Pentium CPU and would not work on clones like 6x86 which were still somewhat widespread back then.
- The horizontal and diagonal stripes on the floor have different width and lightness in order to compensate the lightup/decay speed of CRTs.

2001: Return of the Raving Tomatoes

Originally, I did not intend to make a sequel for 2001 and the main MS entry was the pongdeluxe 32k game. However, there was enough time left for making a second entry for another competition, and I also needed an example app for the DirectX headers and tutorial I was preparing. Thus, the 2001 release is basically just a test on writing a Direct3D app in asm containing a group of tomatoes jumping into some fake water. It also contained a very early version of the modular 4k synth and was the first one compressed using the common alink+dropper trick.

- There is also a 3DFx Voodoo version included. I had quite some "fun" getting it on that rotten pile of bugs and to work - while the cards considered as "inferior" or "weak" like ATI Rage just worked flawlessly as expected.
- The name was changed to English to take non-German watchers into account as well, and the GMO context was dropped since it wasn't up-to-date anymore.
- Although all Tomato 4ks are directly synched to the sound playback position (thus guaranteeing optimum sync), the particle effect is updated on a per-frame base while only the integration stepwith is time compensated. This leads to the funny effect that on a very slow environment (e.g., while running the timewaster tool in multiple instances) the particles not only get out of path but also tend to gather in small cloud-like groups.

2002: Raving Tomatoes - Biomutating Planet Acid

This one can be considered the most work-intensive release of the whole tomato series and tells a short story of the tomatoes visiting a small planet and turning it into a different, more "tomatoe-ish", place. It uses the original version of the modular 4k synth, also its modularity was limited down to 4 voices due to the restrictions of its fixed-layout GUI. There's quite a lot of visible and hidden candy in it: Procedural textures modified in realtime, recursive generated trees, data-driven animation, heavily size optimized FPU and memory-access code, preresolved calls,... As you might already have noticed, from now on the tomatoes can be intentionally considered a series of 4ks.

- The final version is twice as fast paced as the one shown in the compo because I've been told by several spectators (including Frenetic and r0k who made the winning 4k - which, I think, deserves its place anyway) that this 4k would have been their preferred one if it wouldn't have been that slow paced. I did not notice it on my machine though, as it was pretty underpowered and looked like a slideshow on it either way.

2003: Raving Tomatoes : Bassreflex

In 2003, the idea was clear and simple: Showing a vibrating loudspeaker playing back the 4k soundtrack with tomatoes jumping on it. The vibrating speaker is barely noticeable, however I'm quite happy with the result and its shiny look.

- The major complaint about this release was that there is no tomato-to-tomato-collision detection included. Well, since it would have increased the size quite remarkably it is and will stay that way.

2004: Raving Tomatoes - Speakerbreaker (fear your ear)

In 2004, I originally planned a release taking place in a translucent glass structure. It turned out, though, that the first results looked rather ugly and far from expected, thus the concept was changed for something more storage-building like. Introducing a raytracer instead of hardware 3D, however, was a result of the wish to do 2D transform on top of it.

- Unfortunately, keeping the framerate at an acceptable level required using less common low resolution video modes - which turned out to look almost invisibly dark and shifted on the bigscreen. Hooray, another release (beside a pixeled graphic entry and the "too slow" ones) fucked up due to the differences between bigscreen and home setup. Even worse, in the year following 2004, I precompensated the lightness problem in my graphic entry - just to realize that the beamer finally was replaced by a more powerful one and thus showing it way too bright. Damn!
- This one was the first to use the new synth GUI. Due to running out of space, it hardly used its potential - thus, still only 4 voices used again.

2005: Oh No! More Raving Tomatoes!

"Lemmings" from Psygnosis was a great entertaining game, and this release is a tribute to it. Technically, the 4k contains a simplified lemming game engine with diggers, builders, grabbers, stoppers and parachutes as well as a playable level. The only difference between the 4k and the ~5k game is that the 4k simulates the user action programatically instead of reading the mouse status.

- The explosion sound had a major shocking impact on the audience when it unexpectedly went "BOOOOM!" for the first time. Was pretty funny to look at ;)
- The game version should also have a real soundtrack provided by Topy44. However, due to format problems (.s3m vs. .xm, should be resolved AFAIR) and other messing around it still wasn't finished. Might be fixed in the future, though =)

2006: Raving Tomatoes - Holy Blasphemy

Another 4k with a story and my personal favourite: The tomatoes are out on their submarine to destroy the annoying omnipresent GL teapot! Technically, a lot has changed with this release, starting with the use of D3D9 shaders and the D3DX DLL (which not only provided the teapot but also made most of the former highly optimized asm routines useless), stencil and depth buffer techniques, the move to C++ for animation and graphics as well as moving to the 20to4 .cab dropper compression.

- Some holes in the teapot don't seem to like their original position and move a bit after beeing stenciled, turning out to be a true crowd pleaser. Technically, this is due to roundoff errors - the coefficients for the stencil tubes were precalculated, but stored only with 2 bytes per float in order to keep the size limit. In combination with the wavy movement, the higher the roundoff error is the more movement results. Unfortunately, the exact data got lost, thus there's no simple way to build a "correct" version. I think it looks funnier and more unique this way anyway ;)
- The smoke is not translucent on GeForce FX cards, although the same shader works well on 6 and above cards. No idea why it is that way, the shader itself looks fine, though.

2007: Raving Tomatoes - FEEP!

In 2007, there was neither much time nor an idea for a follow-up. So it all ended up in doing the obvious and making fun of everyone who already found the tomato series annoying: Tomatoes are smashed to ketchup, but there's no help as they reappear again and again immediately. Even worse, they reproduce and multiply in a cascade-like presented game of life simulation. No wonder even the tomatoes themselves have to vomit after seeing such a mess!

- The color names written in a different text color can be both considered the name of the tomatoes and a hint to "it is not just as obvious as it seems", given the fact that there are quite a lot of not-so-obvious ideas and motivations included in the 4ks as well.

2008: Raving Tomatoes - BASTARD!

In 2008, I missed some of the old demoscene classics: Easter bunnies in an easter release, depiction of sexual actions, using system fonts as a source for stock graphics, hammer jokes,... Guess the rest ;) Apart from that, there was plenty of space left, happily to be filled with greetings (now in 4k as well).

- 2008's Tomatoes were the first widescreen one, following the "actual size" of the freshly n-Largened bigscreen.

2009: Raving Tomatoes - Supershape ME

As the title already describes: The intro is nothing than just a showoff for a supershaped tomato. The best part of the intro - as some quickly realized - is its shortness, saving the ears of the audience from the noise of my back then "1000 years" old synth. Pretty nasty, making German jokes by just converting the age into binary... ;o)

- The Supertomatoe is alone for the first time and does not move at all - its just the background which jumps.
- Shader Model 3 cards required since the coder was too lazy to optimize the normal calculations.
- Now switched to crinkler, since the cab dropper seemed to bug under Vista (bleah) and the former link-time incompatibilities preventing its use had been resolved.


2010s Raving Tomatoes are pretty much finished - they are called "TAO ART" (Traditional Appearance Of Amazing Raving Tomatoes), and won't feature the 1001-year-old synth anymore. However, the new one did not get ready in time, thus a custom synth using parts of the new and the old as well as hardcoded parts are used instead. Intended goal of 2010s tomatoes: Audiovisual lightshow straight into your face. We'll see whether it will work out on the bigscreen or not.


Will there be more tomatoes? Will they survive the end of Breakpoint? Or is a whole decade finally more than enough? I won't answer it now and don't even know the answer myself ("Niemand weiß, was die Zukunft bringt..."). And what is the motivation behind it? Well, this one is easy, the tomatoes are a pretty well established platform for trying out or showing off new ideas. And I don't care whether people like or loathe it - as long as it stirs up emotions it has done its job pretty well anyway.

However, two things can be considered granted:
1. Raving Tomatoes have been and will be an easter tradition. Thus, if there will be future tomato releases, they will be released at Easter.
2. There are currently about 3 roughly-shaped ideas for follow-ups.

Besides, it was never stated that being a 4k is part of the tradition. 4k is just the platform that suited all tomato releases so far best...

Keep on jumpin',


Links related to this article

Raving Tomatoes Official Website