

#Cube 2 sauerbraten aigo5 code
Not too much later we had coop-editing and multiplayer back in, and we were ready to jettison Cube off into history to make way for Sauerbraten, what Wouter and I both saw as a much cooler replacement.įrom there, I steadily took over development of the project as Wouter moved on to work on other ideas and projects, up till now where I have been doing pretty much all the code and management for the project by myself for quite some years.
#Cube 2 sauerbraten aigo5 how to
There were still some hard problems like how to do collision detection or how to actually light the world that I was called in to work on, and I got my hands quite dirty with it quite soon. Because the world representation was a bit more flexible, many of the things we did in Cube wouldn’t work any more. He had been working on a prototype of this idea for a while, based off the Cube code-base. The eating of sauerbraten may have even been involved at the time he was thinking this up.
#Cube 2 sauerbraten aigo5 full
This was the basic idea of the octree, that you have a tree full of cubes where you could squish the edges of them to deform them into various new shapes. Around this time, Wouter has this cute idea for map-editing using almost exclusively the scroll-wheel of the mouse and also getting around the room-over-room limitations of the Cube engine. A few days later, the ENet UDP networking library was born and Cube and other games have been running on that networking code ever since.įrom there my responsibilities just gradually grew till by about 2005, Wouter and I were equally sharing development of the code, and there were a couple other developers involved, like Mike Dysart (a.k.a. Being initiated in the dark voodoo of socket programming, and finding no other good networking libraries that were compatible with Cube’s license, I decided to just write my own UDP networking library for Cube.

And once I could finally run it, horror of horrors, I discovered it was using TCP networking, which caused the game to be laggy enough to seriously detract from multiplayer and coop-editing. The fact that it had a built-in map editor with coop-editing was the main selling point then, but the fact that it was open-source also helped it gain some notoriety very quickly.Īt the time, though, it only ran on Windows, as I was a die-hard Linux user, my first involvement was to rather quickly get it ported to Linux. The details are a bit hazy even for me at this point, but the basics like cooperative map editing and Quake-y gameplay grew from there rather quickly, and it wasn’t long before we had a cozy community of Cubers hanging out in our Cube IRC channel by late 2001.

So one day in 2001, Wouter shows me this tiny little engine/map editor he was working on, Cube, which itself was a successor to other little engines he had been working on before. Wouter was also, importantly, a big fan of Doom and QuakeWorld, but he was always underwhelmed by the mapping tools. Both of us were really interested in programming language design, and he being the grizzled programming languages veteran, I sent him an email one day asking about one of his designs, and we’ve been friends ever since. aardappel – and no, he’s not German, he’s Dutch) and I had known each other since about 2000.

To answer that, I need to start back at the Cube project itself, and even a bit before.
