-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.

MsH wrote:Will the new engine affect gameplay feel like the movement or shooting / hitregisterating (Dunno how I describe it better.)

There is no reason that would affect such things, the dæmon engine is itself an improved fork of ioquake3. That's also why the porting gap looks to be low enough to make this port possible with the low resources people have. There is probably some movement mechanisms defined into the gamecode the smokinguns changes will be replayed over, so some care must be taken to ensure everything from smokinguns is added and what is not from smokinguns is not kept, but that's all.

So if the gamecode is correctly ported there is no reason the movement will change because of the engine: there is no reason the engine behave differently. It's really not like a switch to Source or UE4. Same for it and things like that. The dæmon engine implements the exact same algorithms ioquake3 implements for all these things.

You can think of dæmon as « ioquake3 without technical debt ». For example the dæmon engine uses an improved version of the pk3 package format to fix the common issue of random pk3 replacing core assets (and it's still a zip). Even if it's not recommended because it's not a good practice, with dæmon you can replace the core assets in your package, they will only be replaced while loading your map. For example you can do a « christmas pack » replacing all players with Santa, even if the pack is sitting in your game folder it will not affect your game after that. Since dæmon does not have the requirement to run Quake 3 there is many things that can be done to make life easier. Another good example is the switch from aas bot navigation to navmesh-based bot pathfinding : it's now a map compilation step. Yet another example was the drop of the QVM technology and the language limitation that came with, and the problem of LCC compiler used to compile the QVM not being free is not a problem anymore.

Thank you for explanations ! SG will have a modern engine for more flexibility and a bigger community support, great !

How long will the development take approximately ? (an estimation )If i would like to collaborate to the project which tool i can use ? Need I to coding to create map ?

Otherwise, I would like to talk about 1.1 ! It's a really good version with a lot of new maps, graphics improvement etc. But there are a lot of bugs like : Often no knife damage, no dynamite damage at some places of maps, dynamite bug which allows players to place dynamite through walls when they are crouch or bug when two players spawn at the same place. That's create frustration and incomprehension for players during games. And there is recurrent music crash !Can we expect that will be fix in next version ? We need a strong and bug free version to organize and to play tournament and competition.

Of course, the best approach is to reduce all the work around the engine to the daemon devs and keep the strict minimum amount of code to the SG dev side.That way, I'm seeing that only the gameplay code will need to be supported. In fact, that was what I initially thought to happen when Tequila heroically moved the game to ioquake3 (I am not blaming ioq3, I still love this project!).

I don't think this engine change will resolve all siamese spawn issues, unregistered hits or weird physics the game may have, but it will most likely deal with the trickiest bugs located in the engine. So, I maybe the music issue will get fixed, along with some networking or physics weirdness that can happen. I don't know the game well enough to tell what's gonna get fixed and what's not. The first envisioned steps are to modernize the code so that is becomes more or less maintainable, and then, it will get much easier to tackle those long lasting bugs. Plus, they will be able to share the same development environment (radiant and others), big win!I'd also love to see some more changes to simplify competitive matches (similar to what OSP or CPM brought into Quake 3), but we are far from them right now.

For now, as far as I am aware of, only illwieckz, Tequila and some Unvanquished devs have the know-how for moving the code to their engine. Since it's a unfunded project that is only moving forward with people's free will and time, it's really hard to tell how long this will take. Just don't expect it to come next week though

MsH wrote:If I remember correct, Tequila was creating new renderer for SG with sun rotating and that fancy stuff. Wondering if that renderer is also coming with the new engine?

That was some ioquake3 back-ported changes. That project added a new renderer (now called opengl2) that have less limitations. One of the change was a semi-realtime shadow systems.

Smokin guns is still breathing. Finally some good news .I am looking forward to play this awesome game again. I remember playing Xonotic, it felt very smooth, looked quite decent and hit registration was pretty good aswell, hopefully some of these properties will tranfer to the new version.

Barto wrote:I don't think this engine change will resolve all siamese spawn issues, unregistered hits or weird physics the game may have, but it will most likely deal with the trickiest bugs located in the engine.

So it's an engine issue ? Spawn bug isn't too problematic but knife and dynamite issues break the game

I play SG today it's still pretty cool but the collisions are ugly... Daemon engine permit a better mesh and collisions ?

A swap to Daemon is already a good step and a big hope for community ! Thank you to Tequila, you keep the store open all that time and welcome to new devs !

sunrise wrote:I remember playing Xonotic, it felt very smooth, looked quite decent and hit registration was pretty good aswell, hopefully some of these properties will tranfer to the new version.

Just to be sure: I talked about Xonotic as an example of project attempting to port to dæmon but having to make it the hard way, they attempt to jump from a Quake1-derivative engine to a Quake3-derivative one. I talked about that attempt to show how Smokin' Guns port will not be as hard as Xonotic. The Xonotic dæmon port isn't ready yet (because it's far harder) so the Xonotic experience you had was the one with the Darkplaces engine.

By the way it's good to know that the Unvanquished team (the one behind the dæmon engine) is close to the Xonotic one: we use and maintain the same tools like radiant and thanks to their ongoing port attempt Xonotic people already commit fixes and enhancements to the dæmon engine itself. They also have a strong interest in making the dæmon engine the most standalone possible, which is good for any other damon-based project including that Smokin' Guns port. They are great guys, so it's great to join that party!