Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Moving away from QuakeC

#1
(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.
Reply

#2
Sounds like FTE_multiprogs.
http://forums.insideqc.com/viewtopic.php...multiprogs
Might be portable from FTEQW to darkplaces.
Reply

#3
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.
Reply

#4
(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.
Reply

#5
(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.
Reply

#6
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.
Reply

#7
By the looks of it, FTEQW is about as far off as Daemon from becoming suitable for Xonotic...
Not to mention this: https://forums.xonotic.org/showthread.ph...4#pid64474
[Image: 230.png]
Reply

#8
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.
Reply

#9
(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?

Maybe there's something wrong with the GPU?
Reply

#10
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.
Reply

#11
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.
Reply

#12
Lets agree to disagree on Lua Wink

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

#13
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.
Reply

#14
Plain C is even worse than QuakeC though.
Reply

#15
Lua would of course be a substitute for the QuakeC script, not the actual C code the main engine is currently written in.
Reply

#16
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...
Believing is power
Reply

#17
(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?
Reply

#18
(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
Believing is power
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  What was easy for you in development? (Darkplaces and QuakeC programming) LegendGuard 2 353 08-08-2020, 05:25 PM
Last Post: LegendGuard
  [TUTORIAL] How to create a command - Xonotic QuakeC programming LegendGuard 3 677 07-25-2020, 06:24 PM
Last Post: LegendGuard
  [NEED HELP] [Commission] To update Jeff's Modpack - QuakeC programmer wanted breakfast 5 1,473 07-08-2020, 12:45 PM
Last Post: breakfast
  New QuakeC virtual machine Lyberta 8 3,699 07-14-2017, 04:01 PM
Last Post: poVoq
Question [SOLVED] model not moving with entity dingus 1 1,485 07-30-2016, 02:37 PM
Last Post: Mario
Brick A script engine written in QuakeC Melanosuchus 9 7,987 10-14-2014, 02:01 AM
Last Post: Melanosuchus
  QuakeC: if chains? WannabeUser 2 2,661 03-13-2014, 07:28 AM
Last Post: WannabeUser
  QuakeC: Variadic macros? WannabeUser 2 2,313 03-10-2014, 05:16 PM
Last Post: WannabeUser
  Learning QuakeC? phim 13 13,715 12-24-2013, 03:07 AM
Last Post: aa
  A question of getting started with Quakec timetopat 5 5,576 07-02-2012, 07:55 AM
Last Post: timetopat

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-