04-04-2017, 09:12 AM (This post was last modified: 04-06-2020, 05:43 PM by Lyberta.)
(04-03-2017, 04:09 PM)BuddyFriendGuy Wrote: @Lyberta, this sounds like an interesting idea, and definitely something I'd like to have. In exercise, could you layout what exactly can be done for this to happen? (Or better yet, write something small as a proof-of-concept.)
Can we move this part of the discussion into its own thread?
Well, I haven't cloned the Daemon repo yet so I don't know the state of porting Xonotic code to Deamon. Basically, we need to modify the engine code that handles QuakeC and GMQCC compiler to be able to generate function stubs that will be resolved at runtime. I think this may break compatibility with Quake code and this will require a dedicated fork of DarkPlaces. As a proof of concept one just needs to move VM code out of DarkPlaces and hack on it. I think this is partly done in Daemon repo.
04-06-2017, 07:52 AM (This post was last modified: 04-06-2017, 08:20 AM by Lyberta.)
Yes, this is almost exactly as my idea. Does it require FTEQCC? Is there a 100% free software version of FTEQW? I guess we'll need to modify GMQCC too.
(04-06-2017, 07:52 AM)Lyberta Wrote: Yes, this is almost exactly as my idea. Does it require FTEQCC? Is there a 100% free software version of FTEQW? I guess we'll need to modify GMQCC too.
What do you mean, like a fully FOSS game based on FTEQW? Then no, not yet (there is one in the works though called projectUnkown). FTEQW is fully GPL though.
If you asked me, I would rather suggest to port Xonotic to FTEQW as it is mostly compatible and these days the better engine than Darkplaces (maybe with the recent Xonotic code refactoring it almost there?), but I guess the Deamon porting plans are also good.
04-06-2017, 08:22 PM (This post was last modified: 04-06-2017, 08:22 PM by Lyberta.)
(04-06-2017, 09:57 AM)poVoq Wrote: What do you mean, like a fully FOSS game based on FTEQW? Then no, not yet (there is one in the works though called projectUnkown). FTEQW is fully GPL though.
Yes, fully free game. I'm not going to get proprietary assets to see what's the engine is about.
(04-06-2017, 09:57 AM)poVoq Wrote: If you asked me, I would rather suggest to port Xonotic to FTEQW as it is mostly compatible and these days the better engine than Darkplaces (maybe with the recent Xonotic code refactoring it almost there?), but I guess the Deamon porting plans are also good.
I dunno, looks ancient. Uses C, SVN and is hosted on SourceForge. Daemon on the other hand looks really cool.
Well it is a Quake derived engine, so some ancient cruft is to be expected. Otherwise don't be fooled by the website or the lack of up to date documentation. It is a very well developed engine with a Vulkan renderer, a Android and a WebGL port and all kind of other cool and modern stuff.
Daemon is also cool, but it also has a lot of ancient cruft from Quake3 and RTCW days. It will also still take considerable effort to get Xonotic running on it as far as I know, and I expect that this unproven QuakeC layer will be quite buggy for a long time.
04-06-2020, 05:33 PM (This post was last modified: 04-06-2020, 05:34 PM by Lyberta.)
OK, QuakeC really needs to die.
I've bought a new "gaming" laptop with Ryzen 3550H, 16 GiB of 2400 MHz RAM and Radeon 560X (4 GiB VRAM) and I get at most 60 fps on an empty map and 10-30 fps with bots. I've tried medium setting and lowest ones, they don't do anything. QuakeC completely destroys my performance.
For reference I get 120 fps on Red Eclipse 1.6 with all settings maxed out. Xonotic on lowest settings is 10 times slower than Red Eclipse on maximum settings and brings gaming laptops to a halt.
04-07-2020, 09:21 AM (This post was last modified: 04-07-2020, 11:45 AM by SpiKe.)
(04-06-2020, 05:33 PM)Lyberta Wrote: OK, QuakeC really needs to die.
I've bought a new "gaming" laptop with Ryzen 3550H, 16 GiB of 2400 MHz RAM and Radeon 560X (4 GiB VRAM) and I get at most 60 fps on an empty map and 10-30 fps with bots. I've tried medium setting and lowest ones, they don't do anything. QuakeC completely destroys my performance.
For reference I get 120 fps on Red Eclipse 1.6 with all settings maxed out. Xonotic on lowest settings is 10 times slower than Red Eclipse on maximum settings and brings gaming laptops to a halt.
That's weird, even my 10 years-old laptop performs better (on a 1600x900 resolution).
Did you try both the GLX and SDL executables?
This Quake Engine fork has a LUA interface that can coexist with QuakeC: https://github.com/KurtLoeffler/Slipgate
Might be a good way to migrate away from QuakeC without breaking stuff while doing so.
To be honest, Lua is even worse. At least QC has static types and you need to compile it before you run the game. With Lua there is no compiler so you have to start the game to check if even your syntax is correct. Coding in Lua is extremely hard.
I checked with the FTEQW author about the build in Lua support in that engine (which runs Xonotic mostly fine), but there the code hasn't been touched for a while and support is currently disabled by default. Could be a starting point together with the above code though.
Maybe Lua haven't better performance in case when you build game, and errors can be checked only in execution mode, but use Lua as alternative script language will be maybe better choice. One of the reason is that this scripts doesn't need to restart game, and check working really with one command of restarting script, if it was. But use Lua as main language of game isn't good idea, because when building main engine, need to know about all bugs in code on compilation time, and use C as main language is better, than default QuakeC, or etc.
It's not easy and simple to do the changes, it's a pain. I was thinking that the logical structure can be the same or with some improved features, but apparently we are far from that...
(07-16-2020, 05:22 PM)LegendGuard Wrote: It's not easy and simple to do the changes, it's a pain. I was thinking that the logical structure can be the same or with some improved features, but apparently we are far from that...
That didn't contribute anything to the conversation. Are you obsessed with post count?
07-17-2020, 07:36 AM (This post was last modified: 07-17-2020, 10:46 AM by LegendGuard.)
(07-17-2020, 03:38 AM)Lyberta Wrote:
(07-16-2020, 05:22 PM)LegendGuard Wrote: It's not easy and simple to do the changes, it's a pain. I was thinking that the logical structure can be the same or with some improved features, but apparently we are far from that...
That didn't contribute anything to the conversation. Are you obsessed with post count?
Really I wanted to say that's hard to change the scripting language and I don't see it very feasible although we would've to learn a different language that someone hasn't learned/had any experience. The expressions, syntaxis and semantics could completely change... Lua looks a good example, but since it isn't, they've already said that it doesn't give good results for performance.
As for the opinion of SpiKe, I also have a similar question, I don't know why you say that it doesn't give more than 60 fps, I think that maybe there is something in your GPU or not, or there is something that doesn't match the performance of the game using QuakeC.
I see it somewhat difficult to find another language so that it runs better than QuakeC and that we may have to change the engine for another.
About post count: no, I'm not, I was answering people about what they ask/think/discuss and I was saying my opinions about what they were talking about, nothing special.
If it bothered you, I apologize, sorry. m(_ _)m