It’s been almost three years since we last had a conversation with the leading developer of Sauerbraten, so we conducted our second interview with him to find out what he’s up to these days. Without further ado, here is the interview:
<Frosty> It’s been almost three years since we last interviewed you, can you give us an update on what keeps you busy these days, and how you are doing personally?
<eihrul> I wish there was an easy answer to this question, but it’s complicated. To start, as many know, I was living on another continent, in a country where I didn’t speak the language and didn’t really fit in, trying to hold down a job under really futile and depressing circumstances, and… well, that’s just the setup for the answer to the question.
So the last few years I have been slowly working towards extricating myself from that scenario, which was very much a test of psychological endurance. Understandably, Sauerbraten development slowed during that period. Just recently, after getting back to the USA, I ended up moving yet again from one side of the USA to the other. I then started a new job which is much less futile and much less depressing. Hopefully I will finally start mastering this whole work/life balance thing better soon so that the Sauerbraten ball can start rolling again.
<Frosty> Does your work have anything to do with gamecoding/coding? How have you been able to handle moving twice from such far away places?
<eihrul> I am working at Mozilla on their graphics backend team for Firefox, especially on Linux, though I also do development for other platforms like Windows, Mac, and Android. So it is not strictly game development related, but my game development and open source background definitely was what prepared me to do the job with a lot of flexibility and acquired skills. It’s a large, fast moving project with users reporting bugs daily at an insane rate where engineers are on the front lines dealing with the fallout and/or causing the explosions themselves.
As for moving, after living in the middle of nowhere in a foreign country on my own, I guess I got used to the fact that I don’t have much tying me down, nor am I chasing some feeling of trying to belong somewhere, because I certainly didn’t have that. That doesn’t mean it’s all easy to just pick up and make changes, but it definitely is a matter of being willing to take painful steps for my own future benefit (like eventually having more time to work on Sauer again).
<Frosty> We all know about your other Cube Engine project Tesseract. Do you have any similar side projects next to Sauer or Tesseract? Are there any other hobbies/non-programming activities to keep you busy that the community doesn’t know about?
<eihrul> Just to give some context to this question, I think more of all Sauerbraten-related projects I work on as one big project. Sauerbraten is and most likely always will be the central, critical mass. Tesseract is more an experiment in trying to make the mapping more fun by making the lighting dynamic; it’s cool, but still a much smaller niche than Sauerbraten. So if Sauerbraten is the pulsing heart, then Tesseract is more like a vein or an artery, of which there are more.
In this same big ball of projects I support, there are/were games like Red Eclipse, Assault Cube, Lamiae, OctaForge, and Sandbox, also related libraries like ENet (Sauer’s networking library) and IQM (model format and related tools), and from time to time I have contributed to other non-Cube games like DarkPlaces or 0 AD. Red Eclipse, while having a rather distinct community from Sauerbraten, I still think is one of the most important Cube projects outside of Sauerbraten, as it has taken drastically different directions concerning gameplay and aesthetics, all while managing to chug along all this time with good management from Quin. We’ve benefited a lot from interchange between the two projects – notably things like the bot code were written by Quin.
Outside of programming, martial arts is still my favorite hobby, possibly because I played too much Street Fighter and Mortal Kombat as a kid, combined with the urge to eventually do something not involving a computer (the dreaded IRL). I have an eclectic background of various things there, but right now I am mostly focusing on Brazillian jiujitsu and trying to dust off all the cobwebs from my judo background on the side. Due to eye injuries I’ve sustained, it’s not safe for me to do any striking sports anymore (have to weigh permanent partial blindness versus fun), though I liked them a lot too when I could do them. So I’m just a grappler…
<Frosty> There have been a lot of attempts at mods/forks for Sauerbraten, besides the ones you just mentioned you are involved in, is there any particular one that has caught your attention?
<eihrul> To just throw one out there that maybe other people have not heard of, one that looked rather cool was Cube Conflict. They took the blocky, pixelated art style that’s been making the rounds since Minecraft and made it work over Sauerbraten (and for a time had it ported over Tesseract), while also experimenting with adding new weapon variety, achievements, and other things people accuse me of never allowing in Sauerbraten. As a whole package, it was quite neat. It’s one of those things I’ve always envied about “boxel” games – it’s pretty damned easy to make new content like maps and models, though eventually it can become stylistically limiting. Sadly the developer of that mod decided to shut it down. You can probably still find some videos of it lurking around if you’re curious. I wasn’t affiliated with this one, but I was hoping it would take off and was sad to see it die.
<Frosty> In the past, custom game modes were disallowed on the official masterserver. Now a good chunk of the filled servers have modded gameplay with zombies, rugby, and racing. How do you feel about this?
<eihrul> Originally when Aardappel was more strongly involved with the game, we had a desire between the two of us to just have one consistent gameplay. Everyone has their own pet ideas about what would make gameplay better, and the reality is most of these ideas are empirically bad. That is, when tested in reality, they just aren’t that fun to people actually playing them. Or they just may simply be less fun than the gameplay we already had, so by and large would just distract people from having more fun. This is the biggest game designer trap. Just because it excites you as a game designer, doesn’t mean it is fun. As a game developer, you are continuously indundated with everyone’s ideas for gameplay (kind of like how a movie producer will be inundated with bad scripts), knowing they will most likely fail, and you just become really conservative about what you endorse in the end… and rightfully so!
There is also that we didn’t want new players confronting chaos. They come into the game for the first time and they have no idea what is the default Sauerbraten gameplay and what is a mod. It becomes very confusing. We didn’t want that because compared to commercial games, we were always a small operation. We didn’t want to fragment those players away from the core gameplay onto everyone else’s pet gameplay on each server.
Through the years we have tried to add new game modes, initially resisting certain modes that shall remain nameless for the duration of this paragraph, hoping to chart some slightly new territory based on things that worked in other games without falling into familiar ruts. That produced modes like capture, which were very popular for quite a while. But the large majority of these modes ended up on the scrap-heap of things nobody would ever touch on public servers, aside from the rumored legendary private games where sometimes people here whispers of strange undead modes being played.
Then for better or worse, I got Aardappel to relent on adding CTF, and likewise insta-CTF. This is perhaps the greatest proof of the supremacy of conservatism in game mode design. There are a few well-worn ruts in FPS gameplay that have mostly already been discovered, and they are pretty universal. People like CTF, they like insta, and they really like insta-CTF. Every mode I’ve tried to add to get people off of insta-CTF, regardless of how much community feedback I got on it in the design stage, ended up largely failing, because insta-CTF ended up succeeding too well.
But now, I realize Sauerbraten is an old game in the sense that we have a dedicated playerbase who have stayed with the game longer than they might have other games. So, naturally, you’re going to get bored of playing the same old modes, regardless of how many ones we already have. So, at some point, I relented and let some select few people add some gameplay mods so long as they ran it by me first. Well, people have never been good at running stuff by me, so I sort of amended this in my head to later become – so long as nobody complains about it (with good reasoning), fine. I think the composition of the playerbase is different than back in the initial days, with more experienced players, so it’s okay if people want to vent some of the boredom into mods.
<Frosty> There have been a few noticeable updates for the development version of Sauerbraten such as upgrading to SDL2 2.04 and removing all rendering modes except for the GLSL shader path. Can you explain what this means for the game in a way that the average player will understand?
<eihrul> The one thing every computer user should know is that software is not set in stone. If you leave it alone too long, without updating it, it rots – a phenomenon otherwise known as “bit rot”. The very concept is insane; it’s not like there are moving parts that wear out or something. But the environment your software runs in, critically, changes. Suddenly, things that worked in your code in one version of Windows will sadly no longer work in the next one. Like all other software, Sauerbraten has to battle bit-rot. I’m not John Carmack, so operating system and GPU companies will not be jumping through hoops for me to ensure Sauerbraten still runs everywhere like the original “quake.exe” does without any updating.
Critically, we depend on two libraries, SDL and OpenGL, for a lot of Sauerbraten’s plumbing. SDL is our general operating system abstraction layer. It handles all the messy hell of trying to make Sauerbraten run on Windows, Linux, Mac, and your toaster. The version of SDL we shipped with the last release of Sauer sadly does not work so well with newer operating systems. The newer SDL we will ship with the next release should smooth over some of the rough edges people are seeing with Windows 10 and other OSes. Likewise, OpenGL and GPUs have evolved a lot in general in the last few years. The way Sauerbraten rendered things in the past (without shaders) is no longer really viable, and the OpenGL drivers often explode when poked in these old, ancient ways. OpenGL largely moved towards rendering everything with shaders, and it is just faster and more stable to do things that way on modern GPUs.
In brief, GPUs used to have only a few “fixed” ways to render things which you had to select between, whereas shaders are more completely flexible programs that you can use to make the GPU do just about anything. So a lot of this was just modernizing the rendering in Sauerbraten to make sure it’s future-proof for the next decade or so on GPUs that have no “fixed” anything. It doesn’t necessarily change how Sauerbraten looks, though. If you’re playing Sauerbraten on a recent GPU on a recent operating system, it will pretty much look the same. But ideally, it will run a bit faster and crash less often.
<Frosty> In the last release, you added the new “collect” game mode, modified the grenade launcher and pistol, and tweaked a few smaller things as well. Should we expect any more gameplay changes/additions for future updates/releases?
<eihrul> I’m somewhat burned out on designing new game modes myself, and with people free to mod now, the impetus to add them has waned a bit. Though if people can make a good case for some mod becoming “official”, I’m open to it. There was some rumbling about finally doing something about the health boost, but nothing really materialized about that. So that effort is stalled right now. Basically, if players can make a good case for new gameplay, and not just an emotional case, but an empirical one, then I’m open to ideas. But again, it has to be empirical. Players must have actually tried the idea en masse and actually liked it. Playtesting and hard numbers are how you prove a game design.
<Frosty> Are there any other features/bug fixes you are planning to add? What’s on your to-do list of things to accomplish before publishing another release?
<eihrul> One of the big blockers right now is that the Mac port is in a sad state since we no longer have a maintainer for it. I need to figure out something or find someone willing to clean it up and maintain it again. We still have a lot of maps sitting around that I need to go through and add into the game as well. One feature that I do want to do eventually, but not sure if it will get this release or not, is map downloading. Sauerbraten has the problem that we have too many official maps now potentially, and on the other hand, people always still want more, because they always get bored of the old ones. I did have a system planned out for downloading, but it may not be reasonable given pacing right now to block a new release on it, and rather more important to just get a new stable release out. There are already some cool new editing features like multiplayer undo and vslots that I definitely want to get out to people and have been sitting around in the development version for a while now.
Quick Q&A Section
<Frosty> Which playermodel do you prefer to use?
<eihrul> Mr. Fixit
<Frosty> Who is your favorite actor/actress?
<eihrul> Mel Brooks
<Frosty> What is your operating system of choice?
<eihrul> Debian Linux
<Frosty> What kind of vehicle do you drive?
<eihrul> Kia Forte
<Frosty> What is your favorite game mode to play?
<eihrul> effic CTF
<Frosty> Which genre of music do you listen to the most?
<Frosty> What is your biggest phobia?
<eihrul> Heights, no contest.
<Frosty> Where would your dream vacation be?
<eihrul> Just about anywhere so long as it lasted a few years…
<Frosty> What is the most impressive map in the Sauer release?
<eihrul> Controversially, I’d have to say complex. It’s basically a hole with a ledge around it, and yet somehow it’s the only map anyone wants to play. There is some voodoo going on there.
<Frosty> What is the funniest request you ever received?
<eihrul> Someone suggested I move the project to github.
<Frosty> If you could travel back in time, which year would you go to?
<eihrul> 2007. Short selling on the market.
<Frosty> Weapon of choice in a zombie apocalypse?
<Frosty> Happiest moment of your life?
<eihrul> When I graduated from university because I didn’t have to put up with school nonsense anymore.
<Frosty> Alcohol of choice?
Thanks for reading, if you would like to propose someone for the next interview, contact us on IRC (#sauercom @ irc.gamesurge.net) .
You can find all of our interviews here.