Room-over-room effect, as shown in rorEternity's announcement thread.

Standard Boom compatible
Codebase The Eternity Engine
Developer(s) Julian Aubourg
Development status Discontinued
Written in C++
Target Platform Windows
Available in English (United States)
License GNU General Public License v3+

rorEternity, also known as ROREternity, was an experimental port derived from Eternity v3.31 Public Beta 2 (released March 5, 2003) by RORDoom author Julian Aubourg. It implemented the Room-over-room effect first seen in RORDoom and applied it to Eternity.



Julian announced rorEternity on May 26, 2003 in a Doomworld thread titled: "Roaarrr!"[1], providing the screenshot found above. It became clear that the implementation on display was a direct conversion of RORDoom's code when an update followed on May 31, 2003 titled: "Update on RORs"[2]. In it, Julian provided a set of new screenshots based of an old deathmatch level, made by an author named Jesper Backman for RORDoom originally, as well as a description of how rorEternity performed against the latest Eternity codebase of the time:

The sprite clipping system I wrote back in the days is no-good (well it was almost good, heh). I simply threw it away, since I know how to properly clip the sprites. Interestingly enough, it may make the engine a little faster.

The new collision code provokes demo-desyncs. This was predictable, Quasar confirmed some of my hacks were unreliable in that area. I won't bother to fix it before I got the sprite clipping sorted out.

I made some testings of my seg clipping algo against carmack's/killough's one. I used Vrack2 and a 24 min long demo in 640x400 on my good old Athlon 650 (yes, I know): Eternity with old clipping routines gave a framerate of 35.8 and Eternity with ror-compatible clipping routines gave a framerate of 39.4. That's a 10% increase and it makes my day, especially given I still have some room for other optimisations. This could also help in case the new sprite clipping system happens to be slower than the current one.

Later developments[edit]

rorEternity was still mentioned as in progress by June 16, 2003 when Julian stated as such in a post. He also referenced working on another engine, called Roots. Quasar however announced a day later in a thread titled "New Plan for Beta 3 Release"[3] that it isn't "likely that Julian's ROR will be ready on time either."

Julian was still in charge of implementing ROR in Eternity by September 1, 2003 as evidenced by this playful post. No significant updates about the status followed however, and when asked by an user in an October 28, 2003 post if rorEternity was released, Julian responded with: "Sadly enough, it isn't."

This would be the last mention of rorEternity, until Quasar referenced it in a November 8, 2004 post, detailing that Julian had stopped working on rorEternity, but that if he was to finish it, it would definitely be added.

However, this would never materialize.


rorEternity became primarly known for the screenshots to demonstrate its use, but a build of the engine was uploaded to Julian's homepage at Doomworld. Titled, making it not instantly obvious that it was, in fact, rorEternity, it provides the state of affairs as they were on May 28, 2003. rorEternity was a first stepping stone towards room-over-room support in the mainline Eternity branch. Nowadays Eternity does not rely on the method used in rorEternity, but achieves ROR through the usage of linked portals.



  1. Doomworld forums thread
  2. Doomworld forums thread
  3. Doomworld forums thread

External links[edit]

Source code genealogy
Based on Name Base for
Eternity v3.31 Public Beta 2 rorEternity None