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.
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
- Future proof-ness
- Mobility of the player base
- Strafe jumping and physics
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.