#2374 posted by mankrip on 2018/07/18 18:13:37
Well, it still looks better in Retroquad, mainly because of soft depth. But I'm confident that mappers will figure out good ways to use it.
And it should certainly be optional.
Feature Request For The Future
cl_autodemo is really invaluable. If you could append the map filename to the file they generate that would be super helpful. Or at least part of the name. Ppl ask me to play their maps often and I use autodemo for this. Would be great to know what map a given demo is for outside of the exe. I am constantly renaming files.
#2376 posted by Baker on 2018/07/18 23:06:42
Redfield -- A large coordinates protocol would be a next year most likely. It wouldn't be sv_protocol 999, which sports lots of brokeness (I should make a video sometime).
Dumptruck - Mark V autodemo was adapted loosely from Qrack autodemo which does exactly that. If I am able to determine the cause of the Poorchop/Johnny Law mouse issue, I would probably throw in a "cl_autodemo 2" that like, Qrack, does exactly what you want.
Ooh Ooh, An Idea!
#2377 posted by Qmaster on 2018/07/19 01:43:00
play_autos mydemo
To play all of mydemo0, mydemo1, 2, 3, 4 etc. automatically in a row.
And if someone leaves out, mydemo3 for instance, it would just skip to mydemo4.
Protocol 999 opt in cvar pretty please please. With sugar and a cherry on top. I've got a few Orl-size maps I'm working on that have a 99.9% chance of needing 999.
Baker
#2378 posted by Orl on 2018/07/19 05:30:16
Yes, would you make that video demonstrating 999's brokenness? Or at least briefly talk about it? Cause I'm curious to know.
@ORL
#2379 posted by Baker on 2018/07/19 06:45:01
Yes, in time I will make a video.
mh has an expression "once you see something, you can't unsee it".
I think seeing in this case is going to be necessary.
Protocol 999
#2380 posted by mh on 2018/07/19 08:45:51
I'm the original designer.
The core idea is actually quite solid. It's based on 666, but with the addition of a bunch of opt-in features. The client and server negotiate which features to use, and the whole thing can gracefully degrade if a feature is unsupported.
It was always more about higher precision angles and more TE_ effects than big coords, or at least that's how it seems to me thinking back, but big coords was just one of the things it could also support. The important thing though is that it's extensible nature means that you could plug in your own big coords system if you wanted.
Being built on 666 means that it inherits all of an NQ protocol's weaknesses. That's not an attack on 666, it's an observation on NQ protocols in general. There are much better ways of doing all of this stuff; supporting big coords, more precision, more effects AND being more efficient in the data stream. NQ is a bit brute force, which is fine in simpler setups but hits scalability ceilings much faster.
#2381 posted by Baker on 2018/07/19 10:01:51
mh: it was always more about higher precision angles ...
Translated: nice smooth rotating doors and draw bridges.
(like Remake Quake could do -- as opposed to clunky hipnotic doors)
Fitz 666 didn't have enough angle precision resulting in walking on a drawbridge coming down to not feel jerky and the same for getting pushed by an opening door. Also the higher precision angles were used for some rotating effects in QuakeC.
So...
#2382 posted by Qmaster on 2018/07/19 18:58:25
999 should be used on any map with bsp rotation such as drawbridges, pushable gates (ne_ruins), rotating path changers (like Dismal Oubliette but rotaty), etc.
OR maps as big as Orl's.
Still not sure what the problem with it is.
#2383 posted by Gunter on 2018/07/19 19:06:26
It should probably just be renamed to "ORL Protocol."
@qmaster
#2384 posted by Baker on 2018/07/19 21:51:14
Nope. 999 does nothing for hipnotic rotation at all.
If you want to see real rotation, you'll have to play Remake Quake and trigger the draw bridge or find a rotating door.
Must use the Remake Quake engine -- Quakespasm doesn't support true rotation (nor does Mark V, it did briefly once upon a time but it led to the discovery of some oddness with existing Quake maps -- even a couple of stock Quake ones -- and was removed).
Sadly, true rotation sadly interferes some with existing maps where entities or even maps have the angles key set (and they shouldn't be). I think dis_sp3 is an example.
#2385 posted by Tribal on 2018/07/19 23:51:48
a lot of games come with two *.exe's
one for windows 32 bits and one for windows 64 bits...quakespasm have quakespasm.exe and quakespasm-sdl2.exe... even quake has two exe's (normal and opengl)
maybe would be cool to have two markv.exe's, one for old maps and one for new maps with true rotation :)
just my two cents :)
MH
#2386 posted by mankrip on 2018/07/19 23:53:00
There's something strange I've spotted on your GLQuake code, in R_BuildLightMap.
This is your source:
for (j=0 ; j<smax ; j++)
{
t = *bl++;
t >>= 8;
if (t > 255)
t = 255;
dest[j] = t;
}
But this is the original source:
for (j=0 ; j<smax ; j++)
{
t = *bl++;
t >>= 7;
if (t > 255)
t = 255;
dest[j] = 255-t;
}
What's the reasoning behind that?
(255 - (t >> 7)) == (t >> 8) ?
Oh, wait, I've found it:
" shift the lightmap by 8 (jnstead of by 7) in R_BuildLightmap"
Overbrights, ok.
However, by doing that you lose precision, resulting in more abrupt discrepancies in light values across different surfaces, which is likely another reason why the lightmapped water in your GLQuake engine looks worse than in Retroquad.
Compare these shots:
GLQuake
Retroquad (with soft depth disabled)
#2387 posted by mh on 2018/07/20 02:03:46
Yeah, that's overbrights. Yeah, it loses 1 bit of precision, but it still has 256 gradations of light - software Quake only had 64.
Rotation: higher precision can't fix Hipnotic rotation, that was born broke (fun fact: the hackiest mod is Nehahra, the second-most hackiest is Hipnotic). I can't recall the exact use case but it would have been something like a drawbridge that had the herky-jerkies with standard 8-bit angles.
#2388 posted by mankrip on 2018/07/20 02:20:53
Retroquad uses the full 8 bits of precision, and it also compensates for the loss of precision. It has nothing in common with WinQuake when it comes to shading & texturing.
The fact is that the same light can be raycast to slightly different levels across the edges shared between different surfaces. The less precision is used, the bigger this difference can become.
#2389 posted by mh on 2018/07/20 02:38:44
The full range of light scales per the BSP format can't be represented by standard 2x overbrights. "z" is double-bright, so with 4 lightsyles combined I make that 11 bits per channel, and that's not including dynamics.
I guess that the point is, you're always going to be losing precision.
@Tribal
#2390 posted by Baker on 2018/07/20 03:13:35
maybe would be cool to have two markv.exe's, one for old maps and one for new maps with true rotation :)
32-bit vs. 64 bit doesn't have anything to do with rotation. Remake Quake engine with true rotation is a 32-bit.
Half-Life has had true rotation since 1998 and it evident in all aspects of the game.
There really aren't any advantages for 64-bit on Windows that I can name, except 64-bit uses a bit more memory because pointers are twice the size.
The Linux build of Mark V, for instance, has always been 64 bit.
#2391 posted by mankrip on 2018/07/20 03:42:55
I guess it wasn't clear that I'm implying that the loss of precision can be compensated for by doing t = (t + (1 << 7)) >> 8. It's exactly the same principle of adding 0.5 to the velocity to fix the gravity issues in low framerates. It's obvious.
Anyway, it may be not enough. Besides this compensation, Retroquad performs color correction, gamma correction, brightness correction and multiple kinds of error diffusion.
Maybe the results will be better when your code gets ported to Mark V or other advanced engines.
@Baker
#2392 posted by Tribal on 2018/07/20 04:03:32
The win32/win64 bits was used just as an example of games that come with two exe's. I didn't want to imply that it has something to do with true rotation :)
Well, forget my lame example... My point is, why not compile two markV.exe's? One to play old maps and one (with true rotation) to play new maps that can use this feature? =D
Yeah, Sure Not Quite Mark V But Whatever
#2393 posted by Baker on 2018/07/20 04:19:38
A induces B.
Image ---> video
@mankrip
#2394 posted by mh on 2018/07/20 05:39:27
That's just rounding to nearest rather than rounding down.
Believe me, I've rewritten the lightmapping code to use L16, RGB16, RGB32F, RGB10A2 and other formats over the years. I've written GPU lightmap implementations where the 4 styles are combined on the GPU with zero precision loss. I've stored exponential factors in the alpha channel and unpacked them in a shader. I've even done 4x overbrights with standard RGB8 lightmaps, losing 2 bits of precision.
This is not a big deal. For lightmaps the extended range is more important.
I guess a version 3 using L16 lightmaps might be in order to prove this.
#2395 posted by mh on 2018/07/20 05:57:23
And just in case this needs to be explicitly stated.
The lightmapped water path uses exactly the same code as regular lightmapped surfaces. In GLQuake that's just multiplying 2 numbers, and nobody can claim that one way of multiplying 2 numbers gives a better or different result than another.
Frankly, I'm sick of hearing "Retroquad is better because..." - where can I download Retroquad, run it, study it's code and learn from it? Nowhere. You may as well be talking about touched-up screenshots for all the practical use that is. I've heard the mouth, show me the trousers.
Arcane Sprites And Particles
#2396 posted by Poorchop on 2018/07/20 06:25:42
I was talking with some others about the way that Arcane's particle effects are rendered in different engines. I was wondering if you had any plans to bring Quakespasm's level of detail to the engine. QS doesn't really do a whole lot but there are some extra sprites for models like the flame. Their absence is pretty striking in Mark V. Here's what I mean:
QS:
https://i.imgur.com/5lvrO9y.jpg
Mark V:
https://i.imgur.com/rmgvRMq.jpg
I didn't even think that QS was doing anything in particular regarding Arcane's extra particle effects. I do know that QSS takes it a step further with smoke but I'm not expecting that level of detail in Mark V. I also know it's a pain when users make requests like this but don't get me wrong, I'm not asking for this to be turned into an existing engine. I just like the extra sprites and I was wondering if there were any plans for something like this.
Their Absence Is Pretty Striking In Mark V
#2397 posted by spy on 2018/07/20 06:50:46
not sure what you mean, i believe the particles not showing up on mark V - it's on your side
i have no probs here
https://imgur.com/a/YBJ9pFq
#2398 posted by Poorchop on 2018/07/20 07:02:12
I have a feeling that you're not using a default setup. The flame itself in your photo looks like a sprite or even just a bunch of particles lumped together. In a clean install of Mark V and a fresh install of Arcane 1.7.1 with default settings, flames don't look like that.
|