Hmm..
#2356 posted by bal on 2018/07/16 14:51:09
To me all three of those screenshots you chose mh look quite promising and easy to work around to get pretty lit water with some effort from the mapper (and yeah some compiler magic would obviously help).
Would be curious to see with some high alpha values, as you seem to say it looks ugly, but plenty of other games have lightmaped transparents that look fine.
#2357 posted by mh on 2018/07/16 18:35:45
OK, I am going to put my money where my mouth is.
http://www.quaketastic.com/files/misc/Q1LitWater.zip
This package contains:
(1) A version of GLQuake modified to support lightmapped water.
(2) Source code for it.
(3) A version of e2m5 compiled, using EricW's tools, for lightmapped water.
So now everyone can see it.
#2357
#2358 posted by mankrip on 2018/07/16 19:54:11
Finally. We should let the mappers decide. Thanks for listening.
And to finish settling this, here are the comparison screenshots:
mh E1M2
Retroquad E1M2 (opaque)
Retroquad E1M2 (translucid)
mh E1M5
Retroquad E1M5 (opaque)
Retroquad E1M5 (translucid)
mh E2M5
Retroquad E2M5 (opaque)
Retroquad E2M5 (translucid)
My recompiled E1M5 and E2M5 maps used an older version of EricW's compilers that added improper dirtmapping to liquids, IIRC (which is why their water is a little darker on the edges). But my recompiled E1M2 map used a later version that fixed all issues. Anyway, see how different all of them are from yours.
#2359 posted by Baker on 2018/07/16 20:13:03
Since mh wrote a prototype for it (using GLQuake makes it essentially a tutorial for any engine developer), it rather likely that some future date it will added to Mark V.
Especially since ericw (and Spike too?) invested the time to make lit water in the ericw compile tools.
I don't have an opinion of lit water. It is the time investment by other developers which would be the reason to have interest in adding it from my point of view.
#2360 posted by mankrip on 2018/07/16 20:46:51
Here's a screenshot of my recompiled E1M2 running in mh's GLQuake with opaque lit water support.
Hey Poorchop
#2361 posted by Joel B on 2018/07/17 04:00:29
I noticed that Poorchop mentioned mouseclicks not registering. I'm seeing that myself at the moment with a fresh Mark V install on latest Windows 10... sometimes it's the +mouse1 that doesn't register (and so it doesn't fire), sometimes the -mouse1 (and so it doesn't stop firing).
Happens with both mark_v and mark_v_winquake. Doesn't happen with latest quakespasm.
Anyway, just some corroboration. Let me know if I should test/try something.
@johnny
#2362 posted by Baker on 2018/07/17 04:29:23
Hmmm.
1. Does the SDL alternate build do this as well? SDL build
This would tell me if it were something about the pure Windows code or the all operating systems code.
2. Also: What do you have mouse1 bound to? Attack? Jump?
#2363 posted by Joel B on 2018/07/17 05:39:13
1. Not nearly as often. I was hoping I could say "never", but I do think it missed a couple of mousedowns during a map playthrough. (While in comparison, it would not be unusual for mark_v.exe to miss a mouse event in the course of even an individual fight.)
2. +attack
#2364 posted by Joel B on 2018/07/17 05:41:06
One probably-irrelevant difference I noticed: the mark_v.exe FPS display is pegged at 72 (my host_maxfps), while the FPS display in the SDL build wandered between 67 and 70 on the same map.
#2365 posted by Baker on 2018/07/17 05:52:03
Yeah, the probably irrelevant difference is just that. The DX9 is better at hitting exactly the 72 because it is faster.
re: mouse - Looks like more to do with Windows 10. I'm glad you are able to replicate the issue PoorChop experienced, increases odds of conclusively solving it.
#2366 posted by Poorchop on 2018/07/17 19:38:12
I'm glad too, good to know that I'm not the only one experiencing this.
#2367 posted by mankrip on 2018/07/18 02:21:05
For the people who want to test it, here are some of the ID1 maps I've recompiled with lit liquids:
http://www.quaketastic.com/files/misc/litwater_id1mapexamples.7z
I've tried to figure out how to implement lightmapped translucent liquids in mh's GLQuake code, but hardware rendering isn't my thing and I've got no time to learn it.
#2368 posted by mh on 2018/07/18 04:28:49
If I get time I'll do a 2.0 build. It's not overly difficult, like you indicate, just a matter of knowing what to do.
When You Wish Upon A Star...
#2369 posted by Redfield on 2018/07/18 06:13:46
So these lit water and things are looking cool. I am also wondering about the possibility to implement sv_protocol 999 support in Mark V.
The map I'm working on needs it, and I get a hard crash with hunc_alloc error similar to TerShib when I try to force it.
Is there a chance to see this happen? I would love to be able to see how the map handles in Mark V.
#2370 posted by mh on 2018/07/18 11:06:20
#2371 posted by mankrip on 2018/07/18 16:19:52
HUGE thanks!
Initially I thought "well, I can just combine the texture & lighting like the translucent mirrors does before blending", but then I found out that GLQuake's mirrors doesn't use lightmaps either. No way for clueless me to hack it in.
#2372 posted by mankrip on 2018/07/18 17:15:43
#2373 posted by mh on 2018/07/18 17:54:52
I have to be quite tiresome about this and confess that I'm still not a fan of the look. To me, the water no longer looks like water - it looks solid instead.
I'd also be of the opinion that light should go through translucent water.
But then, Quake's rendering was never really about being 100% realistic anyway.
#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.
|