Thoughts on Xonotic situation

I’ve read at the Xon forums and elsewhere that they’re strongly considering a move to a different engine. In my opinion as a longtime user of hotrodded Quake engines, that is a reasonable idea.

I’ve also read that they are looking at some Quake 3 based engine. There was also mention of idtech4. Again in my opinion as a […] that is a very bad idea.

Old warhorses

Xonotic currently uses Darkplaces, which as Quake-derived engines go is probably one of the most stable, feature rich, and bug free options. However, the gap between Darkplaces and Unity or Unreal is huge at this point. Also, Darkplaces doesn’t seem to be in active development currently. So to future-proof a game, moving to a new engine seems like a good plan.

However, in switching from one Quake-based engine to another, aren’t you replacing your old warhose with an equally old one that has a slightly different colour? Quake 3 is almost as old as Quake, folks.

And while idtech4 might seem like a halfway visually-competitive idtech engine, keep in mind that it is over ten years old as well and equally unsupported and unproven. Yeah, I know, the Dark Mod, but that’s not really enough to prove the viability of a game engine for a totally different game. Looking at Doom 3 multiplayer, nothing screams “awesome arena FPS engine” at me. Knowing Doom 3’s lighting model doesn’t improve this impression. An arena FPS is fast first and foremost, and needs excellent netcode to accomodate many players at a low ping second, right? I don’t see that in the Doom 3 engine.

You’re switching one old engine that is stable, relatively feature rich and proven to work for arena FPS for another that’s also old and perhaps less proven.

IMHO, bad idea ™.

I understand that there are several problems atached to the decision.

  • License (open source or not?)
  • Having to potentially rewrite the gamecode
  • Asset portability
  • Finances
  • Manpower
  • Future proof-ness
  • Mobility of the player base
  • Strafe jumping and physics
  • others.

From my point of view, there are several possibilities in such a situation:


Conservative option: Keep Darkplaces and work around the limitations. Go for an even more comicky/clean art style (see Warsow.) Cut everything that isn’t up to scratch from the game (maps, game modes etc), then focus work on improving and unifying the remaining core, especially gameplay, and polish it to a mirror shine. Pros: Not as much work, proven arena FPS engine. Existing install base, comfortable niche. If you want to step it up, abandon BSP for your levels and move them to modular meshes or something. For lighting, potentially switch to high-resolution vertex lighting (dense mesh – polycount is less of an issue today.) Move the visuals off technology and onto art style, it will benefit performance.

Mediocre option: Switch to an engine that is just as old and less proven but doesn’t require any rewriting of code or porting of assets. This seems kinda redundant, it’s changing one old horse for another and will only postpone the problems.

Radical option: Switch to Unreal. It’s a proven arena FPS engine, looks awesome, is future proof and well supported. Accept having to start from scratch. Unreal already provides an arena FPS codebase and sample assets. Create a new player model and new weapons plus at least one new map and call it a prototype. Label it Xonotic 2. Use existing player base to test the hell out of it. Then build on that. Imitate Quake physics as far as possible. It won’t be open source, but it pretty much guarantees a future for the game. This would certainly require brass balls, but potentially provide the biggest payoff. Might also provide the dev team with some money (early access etc.) Perhaps some mappers would be OK with licensing their existing maps for this. BSP maps can be ported pretty easily, the Quake 4 editor spits out pretty good meshes upon export. Regarding the player base, continue supporting old Xonotic for a couple years but make it clear where the future is. Engage the player base in the new game via testing and feedback.

Crazy option: Create your own engine from scratch. This might work pretty well if you have the capability.

I can only say that I would choose the radical option, and have done so with Scout’s Journey. I accepted having to rewrite my gamecode and port and modify my assets (after two years of development.) I certainly didn’t have any license problem, because the assets and code were all mine, which made it easier. Yes, it set me back, and it made things slightly more difficult. But eventually you’ll have to make the jump unless you want to be still using a Quake engine ten years from now. You’ll be losing players all the time. The gap is only going to get bigger and the jump is only going to get harder.

Needless to say, this goes for any Quake-based game. The time window for making the jump to more modern technology is shrinking because game development gets more difficult all the time.

Jump now, or pay the price.

My 2 cents.


9 responses to “Thoughts on Xonotic situation

  • Ace12GA

    Couldn’t agree more. Unreal engine is pretty much the way to go. I’ve worked in both environments since the late 90’s, and idtech has been a disappointment since idtech 4. The tools are just not there like they are in Unreal engine, and even Source engine.

    That said, I have a pet project in Darkplaces I keep poking at once a year or so since about 2007. For rapid prototyping a game, I can’t imagine doing it quicker than in Darkplaces. I should probably play with Unreal Engine 4 more before I really commit to that, but there is something to be said for slamming some basic models, quakec, and brushes together for a quick look at a concept for game play. I can do that in Darkplaces a lot faster than Unreal engine 4, as a solo project.

    • kneedeepinthedoomed

      That is a good point. On the other hand, there is something to be said for prototyping in the target engine maybe, if only to avoid doing the same work twice. But Quake is very fast to do stuff with, indeed.

    • motorsep

      Worth noting that UE4 has crappy BSP tools, which aren’t going to be improved and that angered a lot of people to the point someone made plugin to import Valve’s Hammer maps 🙂

      idTech 4 has some decent tools, and the rest of those could be improved/created. It’s just a questions whether a new platform is desired to be established to power Xonotic, or they can simply use UE4 and focus on the game itself (which will end up not being true to Xonotic, physics wise for sure).

  • motorsep

    Long time no see 🙂

    So just yesterday I was at #xonotic asking about texture blending. The game seems to be pretty dead development wise. So some folks began pointing fingers at QuakeC and I forgot what else, saying C++ is what they want to develop with. So I suggested Doom 3 BFG engine, since it’s C++ and IMO is better than DP in many ways (didn’t advise Unity/UE4 knowing that they are pro-FOSS).

    After folks looked at my development vids, first thing was “60 fps?! I get 900 fps in xonotic”. Case closed – neither Unity nor UE4 will give 900 fps.

    Somehow, that crowd has etched in their mind that 60 fps can’t be competitive, even with input stuff running on a separate thread precisely for the purpose of providing lagless input for precise aiming.

    • kneedeepinthedoomed


      I’m not sure what QuakeC has to do with anything. QuakeC is quite fast and allows for programming relatively close to the metal with the newest compilers (stuff like malloc from QC.) TBH I never found QuakeC to be insufficient. Regarding C++ I’m not sure how a programming language makes a game better.

      This thing with wanting to stick with the Quake physics and get 900 FPS is the death of many Quake-based projects IMHO. Of course 60 fps can be competitive, the only thing required for competition is a common baseline for all players. I’m pretty sure you could recreate Quake-like air control in Unity or UE.

      Doom 3 BFG seems to work well for you. I’m kinda surprised at that, but hey – cool if it works.

      I get the impression that Xonotic tries to do too many things at once, too. Vehicles and so on. Why not focus on creating a good FPS without all that stuff. Perhaps it’s also a matter of the maps and gameplay needing a work over. Their art style is also all over the place. This is why starting over and doing version 2.0 would seem a smart move.

      Who knows.

      • motorsep

        Why are you surprised about BFG engine working for me? 🙂

        We put a lot of work into it, so it works well for single player game. Multiplayer needs work, but it’s out if the scope of my project.

        Btw, I saw youtube video of some project made with Unity that recreates Quake’s physics (or rather player’s movement and air control). Not maybe spot on, but really close from what I could see.

      • kneedeepinthedoomed

        It’s very nice to hear that you’re making good progress with D3 BFG. I guess I was just surprised because it’s a little uncommon AFAIK.

        I think there are quite some youtube videos of multiplayer shooters made in Unity now, although I haven’t paid attention. Unity looks to be a good engine now.

  • motorsep

    Also worth noting that neither Unity nor UE4 have net code that is needed for competitive multiplayer.

    There is a mod for Doom 3, MCS, that has entire netcode rewritten and supposedly allowing large number of players over poor network to play quite nicely. Closed source those, due to them using old non-GPL doom 3 SDK.

    Another thing – it’s a free game. No one gives a damn about it except fans. So, developers can improve Doom 3 BFG netcode (which has been already improved greatly over doom 3) and enjoy it.

    Or, they can use UE4, suck it up and compete on LAN, where there are no issues with networking using any engine.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: