#2060 posted by mh on 2016/06/16 18:43:09
Problem with variable host_maxfps in single-player Quake is that so much of the engine is FPS-dependent, and often in ways that are gameplay-breaking.
#2061 posted by ericw on 2016/06/16 20:12:47
Ok, glad to hear host_maxfps 60 helped. That suggests QS is only getting data from your mouse at 60Hz which is weird :-(. Try host_maxfps 150 as Fifth mentioned too, although I'm not sure how much physics starts to mess up at 150?
I found that you're using an older version of the SDL2.dll
It's a custom build by szo, made from the latest release (2.0.4) + some patches, details here.
MH - yeah, trying your Inside3d tutorial on decoupling the server / client FPS is on my wishlist.
Not noticed physics messing up at 150. I find Quake literally unplayable below my monitor refresh rate of 144. I get headaches and nausea.
#2063 posted by ericw on 2016/06/16 20:32:28
I need to get a 144Hz monitor!
Anything Greater Than 60
#2064 posted by mjb on 2016/06/16 20:43:37
I have a monitor that goes to 100Hz, and even that is a night/day difference. Highly recommended!
@ericw
#2065 posted by mh on 2016/06/16 20:55:31
MH - yeah, trying your Inside3d tutorial on decoupling the server / client FPS is on my wishlist.
I've better code since, unreleased but if you're ever looking at this I can give you a code dump.
@ericw
#2066 posted by Baker on 2016/06/16 20:59:37
In DirectQ, which had client/server decoupling if you turned left or right using the keyboard while moving forward you had jerky movement, like a mild stutter.
DarkPlaces and the QW clients don't, was something I wanted to get to the bottom of.
In 2014, I spent some time trying to implement client/server independence before ultimately moving it to the back of the list because that would have just been a piece of a more ambitious goal like implementing DPP7 or some sort of predictive protocol for better coop.
(Which itself is quite a laundry list -- delta compression, server timestamps, baseline, acks, etc. etc. and of course implementing IPv6 and connectionless connections.)
Merely implementing client/server independence DirectQ style is no small task :( Timing nuances are everywhere, even in a few places they have no reasonable place existing.
Spike takes timing to even more of an extreme by creating a separate thread for the server.
/Pandora's box
#2067 posted by Baker on 2016/06/16 21:01:58
But yeah, when I made a run at it, I had all of mh's notes from insideqc I could find on-screen for reference.
I'd say multiple controller support and splitscreen in a decent engine is more important ;)
@baker
#2069 posted by Spike on 2016/06/16 21:45:40
its DP that can run the server on a different thread. the real issue with running the server on a different thread is that of cvars and commands. cvar_set would require a full-blown sync to ensure the other thread isn't reading cvars that are about to go away, while commands also need some sort of sync - which is not what you want with +forward etc.
on the other hand, running the server in an entirely different process skips over ALL of that, with more understandable behaviour for the user. much fewer mutexes, much less likely to break other stuff, but more annoying to configure.
either way your client needs to be able to properly cope with dropped/delayed packets.
#2070 posted by mh on 2016/06/16 23:59:18
In DirectQ, which had client/server decoupling if you turned left or right using the keyboard while moving forward you had jerky movement, like a mild stutter.
Part of the problem there was that I'd made a huge mess of the timer code well before then. In earlier versions you can timescale down and see how atrociously jerky it really is, and it took me a long time and many revisions to get things back to something that even approached correct. I don't think I was ever 100% successful either, and I didn't really understand the subtleties of the timer code at the time.
Latest Version Bug?
prev weapon bind does not seem to work for some reason. Anyone else getting this?
#2072 posted by Baker on 2016/06/25 23:20:24
Prev weapon is controlled by QuakeC and QuakeC only. Some mods don't support the prev weapon impulse, one example is Duke of Ontranto and I think another example is Castle of Koohoo.
(Mark V uses the Requiem engine cheat to make prev weapon available in about any mod, but it isn't 100% fullproof and at least one mod --- Neruins --- it doesn't work "right" at all)
N64 Style Rumble Support?
I really, really appreciate the Xinput controller support added to recent builds of QS but I was wondering if it would at all be possible to add rumble support?
My first foray into Quake was on the good old N64. Two things I really miss from that version is centred message text (though I don't think you're interested in adding that option) and the other is the Rumble Pak.
It adds some real heft to the weapon fire.
Splitscreen Support
please... please please please......
(obvs you'd need to have support for more than 1 pad)
Splitscreen
#2075 posted by mh on 2016/06/27 17:36:44
This has come up quite a few times, and I think Spike has given some good discussions on what's involved, but one thing to realise is that this:
(obvs you'd need to have support for more than 1 pad)
Isn't true.
You need a hell of a lot more.
You need to recode the engine to be able to support 2 or more clients, running concurrently, in the same process.
#2076 posted by Izhido on 2016/06/27 19:27:42
And considering how there are more global variables in the Quake engine than atoms in our solar system, that is going to be a huuuge, collosal task.
I wonder, if that's the case, if we should consider instead recoding the engine completely, from scratch. And while we're at it, doing away with the hardcoded engine limits.
@Izhido Re:Limits
#2077 posted by Baker on 2016/06/27 20:17:43
Raised limits have long been standardized -- and mostly don't present a problem in modern times.
What Quakespasm uses as limits is essentially the standard. Those limits are ...
1) BSP2 for map limits
2) For non-map limits, the limits are nearly unchanged from FitzQuake 0.85 (with 2 small modifications, if I recall, max packet size and visedicts)
Protocol 666 --- written by metlslime in FitzQuake 0.85 in 2009. Supercedes protocol 15. If there were awards in Quake, metlslime would have won something like "Best Modification of The Decade" or something.
http://celephais.net/fitzquake --- comparing the FitzQuake 0.85 vs. FitzQuake 0.80 source codes.
http://forums.insideqc.com/viewtopic.php?f=12&t=2450 (summary of protocol 666 changes)
BSP2 --- written by MH in 2011 or 2012. Similarly outstanding like protocol 666.
Spike made a BSP2 patch of Mark V, which was used to easily port BSP2 to Quakespasm ...
http://triptohell.info/moodles/junk/markv_bsp2.zip <--- changes for BSP2
... and later probably the basis of BSP2 support in other engines like Super8 and Qrack, if I recall correctly. DarkPlaces and FTE support BSP2 as well. BSP2 was written by mh for the RemakeQuake engine.
Requiem Impulse 12 Hack
#2078 posted by qbism on 2016/06/28 05:32:29
I was able to get prev weap to work with ne_ruins a while ago based on reQuiem. It may require omission of quaketest compatibility or similar to obtain this result.
@qb
#2079 posted by Baker on 2016/06/28 05:56:31
The Requiem impulse 12 hack will crash neruins. Give yourself all weapons and ammo, then use impulse 12 a whole bunch. *boom*
#2080 posted by Baker on 2016/06/28 05:58:00
neruins doesn't need a impulse 12 hack. It has impulse 12 support for prev weapon in the progs. Nevertheless, the Requiem impulse 12 hack explodes on neruins.
#2081 posted by dwere on 2016/06/28 09:41:01
ne_ruins is a strange release. It's the only mod that screws with my movement speed settings, maybe except total conversions like Malice.
No, wait, I think I caught OpenQuartz doing something similar.
Impulse 12...
#2082 posted by JPL on 2016/06/28 19:58:12
try "give all" instead.. maybe this works.. though..
Baker
#2083 posted by necros on 2016/06/29 01:44:14
What's wrong with cycle reverse in ne_ruins? I always use 1.6 progs which has the reverse cycle function.
#2084 posted by Baker on 2016/06/29 02:41:16
Nothing is wrong with ne_ruins. The Requiem impulse 12 hack has a certain method of trying to determine whether or not a mod supports impulse 12 previous weapon and some it depends on QuakeC function names.
In the case of ne_ruins, it (falsely) concludes that ne_ruins doesn't have impulse 12 support and then does forced progs hacky kung-fu that explodes.
The only thing remarkable about ne_ruins is that it is first known mainstream mod that the impulse 12 hack doesn't play nice with.
Mark V has a cvar named "sv_fix_no_impulse12_exceptions" and the value is "ne_ruins" (supports comma delimited list i.e. "ne_ruins,kinns_new_sp" would work) --- so as you can imagine ne_ruins doesn't crash Mark V any more.
|