Eden, the sequel to Explora, is a major BOMB demo released in december 1997 at The Party 7. Eden is built as a continuous ride in multiple worlds without any camera break. We follow a single camera all the way through various islands, each island beeing an independent world in itself (a castle, an egyptian temple, a spaceship…).

I ran into a lot of troubles with that one ! Sometimes all islands are visible on the same screen, which means a standard culling system just dies, because all faces are in the viewing frustum. I had to go into deep hackery to design a custom occlusion culling system, powerful enough to just discard really useless faces. We also had more than 100 textures, and there are some frames in that demo where I just need most of them… Since all of that was software-rendered, this is still possible to deal with it. When later, Skal made a 3DFX version of Eden, it sometimes was slower than my software renderer, because too many textures were used at the same time ! He also had some problems with the size of the world….which is big, as I said. My software version had a near clipping plane of 0.1, and it caused a lot of Zbuffer artifacts on the 3DFX.

The source file is also a real mess. The whole stuff is written in hand-optimized Pentium assembly, and that’s about 15000 lines of code. The worst moment was when I had to mix my asm code with Skal’s implicit surfaces you can find inside the spaceship. Skal’s code was pure C, so I ended up calling extern C functions in the middle of my asm code ! …damn ugly….

Nevertheless, I really liked that particular moment during The Party 7, when someone asked :  Is it running with a 3DFX ? ……..Nope, man, that’s just my software renderer mercilessly running at full framerate on a P100 !

We also presented it at Milia in Cannes, and it was even filmed by the japanese TV. We also had an article about it in a french newspaper called Liberation. (!)


Here are some screenshots from the original software-rendered version. Some snaps from a hardware-rendered one are available there.