jdolan / quetoo

Quetoo ("Q2") is a free first person shooter based on id Tech2. GPL v2 license.
http://quetoo.org
204 stars 28 forks source link

Suggestions /ideas #674

Open Panjoo opened 2 years ago

Panjoo commented 2 years ago

Suggestions /things I noticed:

Menu needs more work:

Paril commented 2 years ago

Regarding line of info about cvar_list/cmdlist, it should be sure to mention the wildcard matching (if you type a cmd/cvar with wildcards and press tab, it will find everything that matches that substring; as a random example, you can type *wireframe and hit tab to find the wireframe cvar without needing to remember if it's r, gl_, etc)

Panjoo commented 2 years ago

Yes good point about the wildcard matching. I know the q2pro client also has this /tab option where you can just type for instance /gl and hit tab twice to list all the available gl_ cvars.

Paril commented 2 years ago

I think we already have that too. We just additionally allow wildcards during tab matching

jdolan commented 2 years ago

Mega health, quad time, weapons stay are all done as requested. Third person is already disabled unless you're connected to localhost. And we do have a solid tab-completion system in place for the console.

I added a sound key to misc_steam and misc_flame so that you can override the default sounds, or specify none to disable the sounds entirely.

As for misc_dust with bubbles, don't think it's related to the bubbles, but rather the size of whatever dust particle you use. You can see this issue (I think we're talking about the same thing) on Claustrophobopolis quite clearly. But as for the bubbles, I put one of these on my Cistern remake and they never disappear.

quetoo002

The entity definition is as follows:

// entity 58
{
"lighting" ".666"
"_end_color" "0 0 1 0"
"_color" "0 0 1 1"
"density" "6"
"_size" ".5"
"acceleration" "0 0 -.2"
"lifetime" "3.2"
"velocity" "0 0 28"
"sprite" "bubble"
"classname" "misc_dust"
// brush 0
{
( 400 -48 -192 ) ( 320 -48 -192 ) ( 320 -528 -192 ) common/dust 0 0 0 0.500000 0.500000 
( 320 -528 -160 ) ( 320 -48 -160 ) ( 400 -48 -160 ) common/dust 0 0 0 0.500000 0.500000 
( 320 -528 -176 ) ( 400 -528 -176 ) ( 400 -528 -192 ) common/dust 0 0 0 0.500000 0.500000 
( 400 -528 -176 ) ( 400 -48 -176 ) ( 400 -48 -192 ) common/dust 0 0 0 0.500000 0.500000 
( 400 -48 -176 ) ( 320 -48 -176 ) ( 320 -48 -192 ) common/dust 0 0 0 0.500000 0.500000 
( 320 -48 -176 ) ( 320 -528 -176 ) ( 320 -528 -192 ) common/dust 0 0 0 0.500000 0.500000 
}
}

I think @Paril was maybe going to peek at the mipmap / LOD generation code for sprites and atlases to see if there's a simple fix? If not, I can at some point..

I'll have a think on the weather suggestions. I've been tuning the snow effect quite a bit while working on Stress Fractures.

I'll get cracking on the rest this week. Thanks for all of the input!

jdolan commented 2 years ago

For the door sound attenuation.. I could change all of the g_func_* sounds to cubic attenuation, but.. is this perhaps a problem because we don't have PHS anymore? Do we want linear or square attenuation for line-of-sight, but more rapid attenuation (and maybe low-pass filtering) for obscured sound sources?

Panjoo commented 2 years ago

Mega health, quad time, weapons stay are all done as requested. (...) And we do have a solid tab-completion system in place for the console.

Cool beans:) Hmm how does this tab-completion work then? I've tried many combinations but it's not showing me anything. Also, while in the ~console the Home and End key don't work to move the cursor.

Do we want linear or square attenuation for line-of-sight, but more rapid attenuation (and maybe low-pass filtering) for obscured sound sources?

I think it's the overall distance to the func_ entity that matters most. For instance in tokays the splashing of the moving func_ at the Quad pool is hearable from too far away. There's also the double sliding doors in lavatomb (above Quad) that are hearable in the outside area. Perhaps an extra volume key can at least give the mapper some control, but I also like the idea of a low-pass filter.


If I set a misc_dust to use the default particle sprite, everything's okay. So it seems that it actually has to do with the bubble sprite, which was made half-transparent in the center for a more convincing look. If I make the center of the alpha just a white dot then they don't disappear but I rather not make changes to the bubble sprite. Here's a clip that shows what I'm seeing.

https://user-images.githubusercontent.com/10857572/163863665-3f900e1c-9eed-444d-86b1-e7ee2e72012d.mp4

Paril commented 2 years ago

This might be related to the mipmapping issues I noticed with regular dust. Does it look better if you set texturemode to GL_LINEAR/GL_NEAREST (no mipping)?

Regarding home/end: we absolutely need this.

Regarding tab complete: type something and hit tab.

Panjoo commented 2 years ago

Does it look better if you set texturemode to GL_LINEAR/GL_NEAREST (no mipping)?

Yes, in both GL_LINEAR and GL_NEAREST texturemode the particles stay visible.

As for the Tab complete thing, this is something that also needs to be in the Menu or in the Console somewhere. I had no idea after all this time, I was doing /gl and gl

Here's how my favorite q2 client does it:

q2pro-tabs

Paril commented 2 years ago

You can just type gl, too. It just doesn't ask you to press it again, you just have to press it once. The underscore isn't required. It will attempt to complete anything behind your cursor.

Panjoo commented 2 years ago

It works with r and cl and g but from some reason not with gl / gl ?? A bit vague, lol

Paril commented 2 years ago

We don't have gl_ cvars. They're all r_ for renderer.

Panjoo commented 2 years ago

Hah, I knew that of course, was just testing you.

Panjoo: A bit vague, lol

lol

Paril commented 2 years ago

Test: Passed

SpineyPete commented 2 years ago

Some quick bloom suggestions:

jdolan commented 2 years ago

@SpineyPete I made your bloom changes (invert * invert).

@Panjoo I fixed the misc_dust sprites appearing and disappearing at different distances, and I fixed the special key event handlers as well.

Lastly, I have a branch of ObjectivelyMVC that adds sound support, so I'll be working to wire up some sounds in our menus pretty soon :)

Panjoo commented 2 years ago

Alright nice, thnx for the changes. Menu sounds, dust sprites that work, HOME and END keys working, yummie!

Here's another suggestion that's important to the gameplay:

As this is a game of reaction time and reflexes, it doesn't take very long before getting a bit agitated when I can't spot opponents fast enough and have a hard time anticipating their movement or even keeping the crosshair on them.

Which for me makes the overall playing experience less fun, regardless of how nice the game looks and feels. This is partly to blame on the fact that the models aren't standing out enough against the background. Some maps have darker texture sets than others but in general it won't hurt to have better visibility for the moving targets.

This model is barely visible here. Even the skins with brighter colored parts in it are hard to spot instantly. whereswaldo

IMO the visibility and clarity of the playermodels always play a key role in the fun and playability of a FPS game. It's the reason why in older competitive games most people immediately made their own buttugly bright skins. A while back I had already tried to create better looking brightskins, but there's the automated color _tint mixing going on that randomizes parts of the skincolors and makes it look a bit... well, random. Not necessarily better visible.

So my first suggestion would be to try and up the skin brightness of the models quite a bit. Maybe that would already be enough. But at some point I'd also like to be able to draw brightskins with a uniform set of strong colors that don't get mixed up with tints. Even if I duplicate my new bright default.tga and rename it default_tint.tga I still see certain parts of the skin like knee and shoulder pads get a different tint. Maybe if possible, this could be a toggle Menu setting. Randomize skin colors: Enabled/Disabled or something...