News | Forum | People | FAQ | Links | Search | Register | Log in
Mark V - Release 1.00
http://quakeone.com/markv/

* Nehahra support -- better and deeper link
* Mirror support, "mirror_" textures. video
* Quaddicted install via console (i.e. "install travail")
* Full external texture support DP naming convention
* Enhanced dev tools texturepointer video inspector video
* IPv6 support, enhanced server capabilities
* Enhance co-operative play (excels at this!)
* Software renderer version (WinQuake)
* "Find" information command (ex. type "find sky")

Thanks to the beta testers! NightFright, fifth, spy, gunter, pulsar, johnny law, dwere, qmaster, mfx, icaro, kinn, adib, onetruepurple, railmccoy

And thanks to the other developers who actively provided advice or assistance: Spike (!), mh, ericw, metlslime and the sw guys: mankrip and qbism.

/Mac version is not current yet ...; Linux will happen sometime in 2017
First | Previous | Next | Last
Lightning Beam Interpolation 
Adding to what mh said:

QuakeC is trying to get the beam position to always be starting at player origin.

The problem is, it is only updating 10 times per second because QuakeC is 10 fps.

The implementation of rendering the lightning beam as if real-time (an illusion) on the client side is merely doing what QuakeC is trying to do, but can't.

/I mean jerky sky scroll is how original WinQuake works, but Mark V straightens that out too. Same can be said about FitzQuake 0.85 animation interpolation. I don't see Jerky Lightning Beam being something that was a design plan, but rather a side-effect of a technical limitation of the speed of a 1990s computer. 
 
I'd be inclined to go slightly further with this: Lightning angles are another of those framerate-dependent client-side behaviours, so they should be simulated at a fixed rate instead. 
Extra Transparent Water + Colored Lights Available 
NightFright went all out!

Take a look!

If you want transparent water without vispatching (.vis) and colored lights (.lit) for Add-On Mission Packs ... see this ...

https://quakewiki.org/wiki/External_Lit_And_Vis_Files

- Nehahra
- Beyond Belief
- Abyss of Pandemonium
- Several more ...

There is a link to that page on the Mark V site next to the Transparent Water/Color Lights (says "More ...")

/The .vis files work in DarkPlaces and FTE too, some others like Engoo. 
@mh 
Could you explain that in a bit more detail ... 
Extra Thought On Lightbeam Smoothing 
I suspect I'll make it work like this:
0 = off
1 = single player only + if you are playing bots [sv.active in engine terms] (because in my view this is the only correct use of feature)
2 = always 
@Baker 
If you look in CL_UpdateTents you'll see that lightning angles depend on a rand: ent->angles[2] = rand()%360;

So if you run at 20 fps this angle changes 20 times per second.

If you run at 72 fps it changes 72 times per second.

Etc.

So this angle is framerate-dependent.

A possible solution: create a lookup table of angles and index into it by some function of cl.time; probably also need to use the temp entity number so that not all bolts get the same angle.

Ent->angles[2] = angletable[(Cl.time * 72) + i]

Something like that. Forgive capitalization & typos, on a phone keypad. 
 
I actually remember that line from the manual about watering the flowers, heh. However, you could still water a rosebush with a sprayer that spurts water 10 times per second ;)


Ok, there is no limit in QuakeC about running things more than 10 times per second. You can easily make thing do stuff in much smaller increments. I actually have some test code I sometimes activate for fun that lets your weapons fire INSANELY fast. 10 nails per second is the standard rate of fire of the nail gun too, but I can modify it to fire a bazillion nails per second if I want.

Screenshot of me firing a bazillion nails per second:

http://imgur.com/a/m3ija

heh

The reason the guns don't fire any faster than that is not because of any QuakeC limitation -- it's because if it fires any faster, it would be too powerful in addition to burning through your ammo way too fast.

Of course, the standard .05 ticrate of Quake would tend to limit things from happening more than 20 times per second when playing online.... not to mention a bazillion nails onscreen would cause lag, heh, but it's not at all a QuakeC limit.

The lightning gun could easily have been made to fire/strike much faster than 10 times per second, but that would require it to do less damage per strike among other things.


Now, the firing origin of the lightning bolt, by default, DOES stick to the player. You can see this in chase mode (use host_timescale .1 or slower). The end point of the bolt, however, sticks to where it HITS. There is no QuakeC limitation causing this behavior -- this IS the intentional and correct behavior of a rapidly-pulsing lightning gun.

You're trying to fix a problem that does not exist.

If id wanted the end point of the bolt to stick to your crosshair position, they could have done that, just as the start point of the bolt sticks to your player position in chasecam.


Oh, and I found a mod that "breaks" because of "truelighting" ... My mod! FvF! heh... Ok, "breaks" is an overstatement, but the Mage class has his own, slower-firing, lighting attacks, and this makes them look very bad. Well, it's the same kind of "bad" as for the regular lightning gun, but it is just more noticeable because the Mage fires his bolts more slowly than 10 times per second....


Anyway, if you want an "eycandy" effect like this, fine, but default OFF please. And be very careful about adding stuff like this -- junk like this is the whole reason many people dislike the majority of other Quake engines -- it changes the gameplay feel or look too much.

A smoother-scrolling sky? Sure, that's just a visual thing that makes no difference in gameplay feel. Smoothed monsters look much better than jerky ones too (though some people prefer a "retro" feel). But the "jerkyness" of the lighting gun is not merely an animation issue -- it's actually showing you precisely where the bolt is striking as it pulses 10 times per second. 
Double Post 
Excuse the double post, but it's probably worth mentioning that in my own code I use 36, not 72, and talking a bit about why.

I take issue with the common statement that Quake is designed to run at 72 fps. If you look back at the time it was developed, while there certainly was hardware that could run it at 72, most hardware couldn't. Especially in the typical configuration, which was playing the DOS version on Windows 95.

Most people were playing Quake at 20 fps, 30 maximum, and while id do design for the future, they also design to get a good game on current hardware.

So I'm more inclined to say that Quake was actually designed to run at 20-30 fps and that 72 fps was nothing more than a framerate cap, "so packets don't flood out", according to the comment in host.c

The number 72 is significant: it would have been a typical refresh rate of a typical CRT monitor from the time.

Hence for certain framerate-dependent effects (rocket trails are another, rocket trails aren't actually a smooth trail at all but rather clumps of particles with each clump spaced out & intended to represent a puff of smoke) it makes more sense to run them at a slower rate. 36 is just a nice even reaction of 72 (24 would be another) but there's no actual technical or analytical basis for it. 
@gunter 
Oh, and I found a mod that "breaks" because of "truelighting" ... My mod! FvF! heh... Ok, "breaks" is an overstatement, but the Mage class has his own, slower-firing, lighting attacks, and this makes them look very bad.

Looks like defaulting it off then, it is.

I did do testing against a few mods looking for differences, including the Zerstorer funky chain lightning gun.

After not being able to locate any instances where it made any meaningful difference.

So off will be default value in next version.

Was trying to address the common beginner complaint "Why does my lightning act jerky".

So question will remain, but answer will be "try setting cl_truelightning option to 1". 
 
Typing "sky" in the console does not report the help information for that command.


Thinking about the lightning bolts, the animation really isn't ideal, which is why beginners may ask why it's so jerky.

The bolt is misinterpreted as a solid object that can be swept back and forth to touch things, when it's actually a series of very fast point-to-point pulses, like a stun gun ( reference: https://www.youtube.com/watch?v=OU95qvuKKMs )

Perhaps an easy hack to improve the animation so that it more accurately reflects the function would be to only draw the lightning entity for no longer than 1/20th of a second (it will currently stick around for up to 1/5 of a second if you don't fire a new one every 1/10th). That way the first pulse would vanish before the second pulse appeared, making it clear that it's a separate pulse.

It would indeed create a more functionally accurate, rapid zap-zap-zap-zap effect instead of the look of a jerky sweeping line. And it seems like it might be an easy thing to do in the engine....


More complicated effects would involve the lightning bolt actually appearing to leave the gun and flash forward very very fast. The beam would still be instant, but the visible lightning in the beam would appear to move forward very fast.


Animation tweaks like this I could get behind, because they would accurately reflect the function without ever drawing a bolt as hitting positions it doesn't actually hit.


I think I may go play with some QuakeC and see what kind of funky lightning animations I can make. I'm getting crazy ideas, hehe. 
 
The end point of the bolt, however, sticks to where it HITS. There is no QuakeC limitation causing this behavior -- this IS the intentional and correct behavior of a rapidly-pulsing lightning gun.
I personally like my lightning bolt to stay in my crosshair but fom a logical perspective this makes sense. If you watch real-life electric bolts, you can see that when they find a "target" they tend to stick to it for a moment before jerking to another point. 
 
Sky is a command, it isn't a console variable.

Commands are things like "map start" or "status" or "load mysavegame" or "noclip". They might not even need a parameter.

If you do "find sky" it shows things related to sky, for example, and it says "command" in the value column.

Yeah, the difference between a command and cvar is not necessarily clear to the user.

Like how "name" is a command but the value is a console variable _cl_name 
 
Ok, this turned out kind of cool....

I added my new lightning gun animation test to my little camtest mod:

http://fvfonline.com/camtest.7z

I didn't change the actual functionality of the gun at all -- just the way the lightning bolts are drawn. I think now the way they are drawn more accurately reflects how the gun actually functions. And it just feels POWERFUL! Somehow that "trueshaft" felt impotent, because it was waving all over the place but not hitting everywhere it waved. Don't you hate it when your shaft just waves around and feels impotent? heh.

Well, Dr. Gunter's Shaft Enhancer is what you need!

Rum the mod, give yourself a lightning gun (give 8) and a cell or two (give c 1) -- you only need one, I made it not use up any ammo for testing -- and go to town. Find some monsters to light up. The effect is more intense on a dark level, like maybe e4m7....

Tell me frying monsters with that thing doesn't make you feel like the friggin' god of thunder! hehe.

Yeah, the lighting passes through walls... It's just a quick hack, and currently would probably not work for online play (I'm using those very tiny time increments that are fine for client animations). The stainmaps don't like it either. Also try host_timescale .1 if you wanna look at it in slowmo.

In any case, THIS animation (though primitive) feels right, and accurately reflects the function of how the gun actually works. 
 
Having good times playing with this so far. I know you don't like menus but I really appreciate the extent to which you've menu-ified some of the settings.

A minor ask:

I've noticed on my system that the video stretch setting defaults to "640x480 Nearest" on first run.

Can the default for that be "None" instead?

That way if a naive user comes to the video settings and just changes the resolution, they'll get what they're expecting/intending instead of getting 640x480 stretched out to that resolution. 
@johhny 
The default value was supposed to 0 (none). The stretch item in the video menu is obvious. So ... yeah, exactly, next version and all that jive.

I know you don't like menus but I really appreciate the extent to which you've menu-ified some of the settings.

Haha, yeah. I'm very judgemental about menus.

Brevity is soul of wit.

Where bad design exists, it expresses itself in the form of menus. 
LIT/VIS Uploads Complete 
I have now finished uploading my complete collection of .lit/.vis files for classic Quake addons.

Check out all 32 uploads here.

Fire up Mark V and enjoy! 
 
Lits for Malice are a little weird. For the most part they're reasonable, but it seems that some of the textures emitting colors shouldn't really emit anything. Like warning stripes. 
That's The Thing... 
...when using automated tools. The only handmade ones are from Quake and the mission packs (not done by me, btw), the others were generated with automated tools. One would have to edit the .lits to remove those which don't make sense, I guess. In most cases, it's still looking better than without colored lights, anyway.

If anyone has the time and motivation to go through all the (formerly) commercial/community release lits to eliminate bad color lights placement, feel invited to do so. 
 
In the recent DX version, the illusionary guy from the .ent file is no longer transparent (he previously was). He still is transparent in GL and Win. And of course, DX still doesn't do the transparent HUD. 
Copying Settings From Id1 Config.cfg 
Is it possible that screen resolution is not automatically copied from id1 config any more when launching addons in other directories (e.g. c:/quake/nehahra) for the first time?
I am in windowed mode and have to reset my addon screen resolution to 800x600 from 640x480 even though it's changed in id1 config already. 
 
A final tweak of my test lightning gun animation -- it won't pass through walls now and it interacts (heavily!) with stainmaps.

http://fvfonline.com/camtest.7z

Download and give it a try, people.
It's just a tiny mod.

After playing with it for a while, I realize why it's so much more satisfying than the default lightning beam: the visual feedback lets you see that you are POUNDING the monsters 10 times per second with zaps of lighting rather than just focusing a beam on them which doesn't give good visual feedback of the hits/damage it's doing.

And it's just so much more satisfying to pound a monster with 10 lightning bolts per second!
It just FEELS more damaging.
The "truelighting" effect waters this down even more, giving even less correct visual feedback of the pulsing of the lighting strikes.

Again, I haven't actually changed the function of the lighting at all -- this is just visually illustrating how the lighting gun has always worked.

The flashing lights I added may be a bit much (and may cause seizures!), but gosh darn if it doesn't make you feel like you're unleashing a massive, powerful Tesla Coil on those sorry monsters! 
Malice Again 
There are two blue mechanical enemy types in the game, and they both seem to consist of two models - upper and lower. The upper model is often invisible in Mark V (GL and software), Quakespasm, and enhanced GLQuake, but not in enhanced Winquake. 
Audio Formats Supported By Mark V? 
Hi, I'm loving the engine so far (Former user of Quakespasm) and I was wondering what other audio formats are supported other than MP3? 
#206 It's Not Mentioned In The Doc? 
 
 
I think it's MP3 only 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.