Daemon engine porting exercise

Talk about anything related to Unvanquished.
Post Reply
User avatar
killing time
Programmer
Posts: 196
Joined: Wed Jul 04, 2012 7:55 am UTC

Daemon engine porting exercise

Post by killing time »

Following the discussion on https://github.com/Unvanquished/Unvanquished/pull/3527, I was inspired to try the exercise of porting another ioq3-based game to the Daemon engine. Tremulous seemed maybe a bit too trivial, so I'm attempting Smokin' Guns. See how it's going so far!

phpBB [video]

This is on a 99.9% vanilla Daemon engine, except I tweaked the register shader function to accept shader names written with backslashes. Of course that could be fixed by changing the assets too.

User avatar
illwieckz
Project Head
Posts: 823
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Daemon engine porting exercise

Post by illwieckz »

That's awesome!!!! 🤯️

I have to show this to Téquila. 🤪️

This comment is licensed under cc ​​by 4 and antecedent. The Crunch tool is awesome!

User avatar
killing time
Programmer
Posts: 196
Joined: Wed Jul 04, 2012 7:55 am UTC

Re: Daemon engine porting exercise

Post by killing time »

There is now a server up hosting the SG port. I've modified the bind commands so that it can be played with default Unvanquished binds.

User avatar
illwieckz
Project Head
Posts: 823
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Daemon engine porting exercise

Post by illwieckz »

Excellent! After playing a bit bank robbery I did a callvote for switching to deathmatch gameplay and that killed the server. 🤭️

This comment is licensed under cc ​​by 4 and antecedent. The Crunch tool is awesome!

User avatar
illwieckz
Project Head
Posts: 823
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Daemon engine porting exercise

Post by illwieckz »

I experience very bad performance when there is fire:

With fire (6fps here):

Image

Without fire (200fps here):

Image

This can even go down to 4fps:

Image

This makes it unplayable as soon as a dynamite explodes.

That's probably a slow IPC thing like we had with particles in Unvanquished.

System: Ubuntu 24.04
Kernel: Linux 6.17.0
Driver: Mesa 26.1.0
CPU: Intel i9-7900X
GPU: AMD Radeon RX 9060 XT

This comment is licensed under cc ​​by 4 and antecedent. The Crunch tool is awesome!

User avatar
illwieckz
Project Head
Posts: 823
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Daemon engine porting exercise

Post by illwieckz »

The fact input isn't read properly when fps is low means you can't even control your player when there is fire! 😆️

This comment is licensed under cc ​​by 4 and antecedent. The Crunch tool is awesome!

User avatar
illwieckz
Project Head
Posts: 823
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Daemon engine porting exercise

Post by illwieckz »

I noticed that credit.roq isn't played (it displays the “missing image” shader instead) when quitting, despite being shipped.

This comment is licensed under cc ​​by 4 and antecedent. The Crunch tool is awesome!

User avatar
killing time
Programmer
Posts: 196
Joined: Wed Jul 04, 2012 7:55 am UTC

Re: Daemon engine porting exercise

Post by killing time »

Pro tip: try lowering your max FPS for faster movement. The movement code has a bug, inherited from the original ioq3 version, that the higher the client FPS, the slower the player's acceleration. You can easily see it by moving in a circle using only WASD keys. The higher your FPS, the smaller the radius of the circle, given a constant rate of button switching.

User avatar
killing time
Programmer
Posts: 196
Joined: Wed Jul 04, 2012 7:55 am UTC

Re: Daemon engine porting exercise

Post by killing time »

illwieckz wrote: Thu Jun 04, 2026 1:45 pm UTC

I experience very bad performance when there is fire:

[...]

This makes it unplayable as soon as a dynamite explodes.

That's probably a slow IPC thing like we had with particles in Unvanquished.

System: Ubuntu 24.04
Kernel: Linux 6.17.0
Driver: Mesa 26.1.0
CPU: Intel i9-7900X
GPU: AMD Radeon RX 9060 XT

On my system there is no effect on FPS from the fire (even with a high max FPS). But I used to have a similar issue with Unvanquished on an older Radeon:
https://github.com/Unvanquished/Unvanqu ... ssues/1109. Like the Unvanquished flame texture, this one has multiple stages resulting in increased texture switching. For the next version I will add entityMergable to the shader to allievate that.

Also I added depth fade, but that is probably not an issue unless you have a tiled GPU architecture or something where depth reads are slow.

illwieckz wrote: Thu Jun 04, 2026 2:16 pm UTC

I noticed that credit.roq isn't played (it displays the “missing image” shader instead) when quitting, despite being shipped.

Yeah I didn't try to port 100% of all the code, just what's needed for playing. I haven't fixed up the main menu, the binds menu, or cinematics for example. All cinematic stuff is commented out.

Post Reply