-Murdoc- wrote:It's an adaptation of SG ioquake to daemon or you'll rewrite the game code ?
There is two ways to do it:
- port the current game code to run on Dæmon. It's feasible, it's basically what Unvanquished did with the Unvanquished game code itself that was initially a QVM runnning on an idTech engine like Smokin' Guns. Unvanquished is a fork of Tremulous that was a Quake 3 mod after all.
- fork the Unvanquished game code and replay the specific changes of Smokin' Guns above it
To me the first way looks to be the fastest path for Q3 mods but not the best one for long term viability: it means SG team would be forever alone to maintain things that are not related to SG, and it means SG team would have to manually cherry-pick wanted improvements and fixes from Unvanquished game code, and we are not yet talking about cherry-picking or implementing changes to follow future engine evolution…
This is basically the path
Xonotic guys are following in their dæmon experiment but they have a big reason for that: they are not a Q3 mod, they are an id tech 1 derivated game that only have in common the file formats, from the upstream point of view (Unvanquished), everything looks custom, forking Unvanquished and replaying their changes means nothing at all, there is nothing in common and nothing to replay or merge.
The second way looks to be the cleanest way, and to be fore Smokin' Guns the best bet for the future. It means Smokin' Guns would just have to pull changes to get improvements and to follow future engine iterations. It would also enable more modern technologies in Smokin' Guns from the start: using an html/css renderer for the UI, using computed navmeshes for bot path-finding and roaming and so on. To me it requires a bit more of work on short time scale because not only the engine changes, but Tequila said he think this is simpler for him. Since he did the ioquake rebase in the past I assume he knows what he is talking about, and even in the case the amount of work would be a bit underestimated on a short-time scale it is really the best solution for mean-time and long-time, so yes, definitely a good idea !
This way is the path followed buy
UnrealArena guys (don't be fooled by screenshots, they are mockups :p, the game is still in very early shape and not playable yet) which is a new game based on Dæmon from the start: by using Unvanquished game code as upstream it's simpler for them to follow development and get improvement, just playing the git pull & merge (& mergetool) dance.
The new game will be a SG 1.2 or a 2.0 ? I mean a new game or an evolution of 1.1 ?
It would be deadly to target something else than a 1:1 rebase. First milestone must only target to port 1.1 game on a new engine to be viable. Smokin' Guns would have to use a new version number because of the engine swap but it has to be the exact same game for the first milestone or the project will go to bankruptcy. We must see the benevolent generosity of contributions to fragile projects like this as what have to be kept safe in a bank: targeting an engine swap and a game update at the same time would be like robbing the bank and being hanged high at the same time: it's better to stay alive in any case.
The idea is to swap the engine to:
- use a more modern engine
- use an actively developed engine
- leverage the asset tools developed or improved around the engine
- not let the Smokin' Guns team alone
After that engine swap it would be possible to leverage some improvements from the engine like using more real-time lighting or retexturing using specular and normal maps and things like that and introducing some gfx effects like heat haze or some sound effects, but it has to be a second step.
After that engine swap it would also be possible to try to implement gameplay changes or other game mods, but it has to be a second step. In any way when a project is alive some random dudes usually try to mod it and the engine makes this thing more easy than id tech 3 did, so we don't have to care about it today. If the project is alive and have a player base, things will happen in a natural and organic way.
So the TODO list has to be:
- swap the engine from ioquake3 to dæmon
- rebase on Unvanquished game code and replay the Smokin' Guns changes over it
It requires those required subtasks to be done:
- reorganize assets and repackage them to follow DPK format
- rewrite the ui using HTML/CSS
- tweak the game for provided navmesh bot pathfinding mechanism instead of aas
Note that doing the PK3-to-DPK jump is not hard (as the above screenshot proves), and it's good to know that Unvanquished also has an in-game buy menu Smokin'Guns can reuse and tweak.