News | Forum | People | FAQ | Links | Search | Register | Log in
Quake Re-release!!!
Id/Bethesda just announced a new release of Quake with a bunch of enhancements.

Trailer: https://www.youtube.com/watch?v=vi-bdUd9J3E

More info: https://www.microsoft.com/en-us/p/Quake/9P1Z43KRNQD4#
First | Previous | Next | Last
Re: #156 
Yeah, I found it still crashes QSS, so I have been using FTE for playing DOTM these days and am now at Episode 2. FTE supports dynamic lights so the fan shadow rotating effect in the hub map is preserved too. Don't know what other minor differences are there between FTE and KEX Engine, though. Loca variables are quite annoying for every slipgate tip, pick up tip, end message, etc. 
Kex Engine Lighting 
I haven't yet figured out how it's doing dynamic lights, but for animated lightstyles it's using something similar to the GPU lightmaps technique I've used for years.

My normal approach is to have 3 textures, one for each of the red, green and blue colour components. Each component in a texture represents one of the Quake styles. Each of the final colour channels can then be composed by a texture read and a dotproduct with the surface styles.

The Kex approach uses a 4-slice array texture, with each slice representing a style, and each texture being an RGBX colour. These are conditionally accumulated when styles are not 255.

I use array textures to allow me to only have a single lightmap texture that's bound only once at the start of the frame. Kex can't so that as it already uses array textures for styles, so it just seems to pack each style into a really large texture.

My approach uses less texture memory, and performance is absolutely level, irrespective of the complexity of the lightstyles on a surface. An optimization path exists for surfaces with only one style, but it adds some code complexity and I generally don't bother writing it up.

The Kex approach has potentially fewer texture accesses, as a tradeoff vs some shader branching and using more texture memory. Performance falls off for more complex styles.

Both approaches mean that lightmap textures are never updated at runtime, lightstyle interpolation can be done without affecting performance, lightmap accumulation runs at full internal precision, the maximum light value is never clamped, overbright lighting just comes out naturally, and the runtime codepaths are considerably simpler.

On balance I favour my own approach, for reasons of performance levelling and being more economical with texture memory, but I can understand why Nightdive did it their way. 
 
Does any of the custom engines have the realtime ambient occlusion that the KEX engine has? 
 
why would realtime AO be useful on a game like Quake? baked has much better quality 
 
I disabled AO but I guess some people seem to like it. It does add a shadow around the edges of some moving objects, which can help make doors, plats, etc seem more grounded in the world instead of "floating there", so there is that. But for me it's one of those things I've never really paid much heed to. 
#160 
As mh said, it helps with moving objects. See in the first demo, when the ceiling lowers to crush the player, the small shadows in the edges of the ceiling moves along the walls. It's a nice effect that I guess some people will demand custom engines to have.

However, I've noticed that in the Rogue mission pack the ambient occlusion is overdone, darkening wide angle corners that looks better without ambient occlusion. 
 
AO is also something that needs to be properly integrated into a post-processing pipeline, it's not a simple glEnable or anything like that. So what I'm saying is that doing it can be a very disruptive change to an engine, particularly if an engine doesn't already have a post-prcessing pipeline.

Engines like Unreal, Unity or even Kex already have all the groundwork in place for this; with Quake you have to do everything from scratch.

On the other hand you can do it wrong and crudely crowbar it in, which means that when people come looking for the next set of post-processing effects (and they always will) you'll end up with a mess to straighten out before you can do them. 
 
Silly question: I haven't looked into the MD5 code yet, but what would be the challenges to implement it in software-rendered engines? 
MD5 In Software 
It should be very possible. Only the C code in r_alias.c would need additions, and that produces structures for use by the ASM code that are completely independent of any model format. The exception is R_AliasTransformAndProjectFinalVerts which consumes trivertx_t structs from the MDL, so that needs a C implementation for MD5s (unless you want to write an ASM version yourself).

It might be possible to combine this routine with the skeletal animation code as an optimization path, though.

The most important thing would be to get the bboxes absolutely tight. A hardware accelerated version is tolerant of loose bboxes, but a loose bbox in software means that you'll overflow the framebuffer pointer, write over and corrupt random memory, and probably crash. That was an issue when I wrote the software Quake interpolation code, but you might not even want to bother with interpolation. 
MD5 In Software 
https://www.quaketastic.com/files/screen_shots/MD5_Software_Quake.pcx

This took me maybe half a day to do, and a good chunk of that time was spent trying to figure out a bug in skin texcoords.

I need to tidy up and comment the code a little, then I can release it publicly if anybody's interested. 
MD5 In Software 
For anyone who's interested; you'll need to compile this yourself: https://github.com/mhQuake/MD5Stuff 
Thanks MH! 
I'll try to implement it later.

As for the x86 ASM compatibility, it's better to simply disable the x86 code for character models because most of the speed gains provided by the x86 code are in the BSP renderer, not in the MDL renderer. I don't know if Super8 and MarkV still uses x86 code in their MDL renderers, but it's not really necessary.

Yes, bounding box issues really crashes the MDL renderer. I've had to fix numerous MDL rendering crashes caused by the interpolation code; it must be very carefully implemented, with special care in temporary entities and static entities with framegroups. 
 
An interesting content bug in the new MD5s is that some of them have bad bounding boxes. That's easily resolvable by recalculating them at load time, but it's still annoying and shouldn't have happened.

All of the d_polyse ASM code actually turned out to be usable, without modification, for both model types. That makes sense because that just consumes trisoup with a position/light/texcoord vertex format.

It's interesting to look at the MD5s in a software renderer without frame interpolation. The 10 fps animations don't look as bad as the old MDLs, probably because the positions aren't compressed down to 8-bit as well. It's still obviously 10 fps, of course, just a subtle improvements.

The MD5s don't support framegroups but they can support skingroups. Anything with framegroups is still a MDL. 
Has Anybody Managed 
To successfully decompile the progs.dat files from the rerelease? Would be interesting to know what they changed. Especially since there's apparently some code that breaks some vanilla maps. I know at least of one, Pulsar's "The Elder Reality" from Retro Jam 4. 
Interview With Nightdive 
sCary's shugashack interviewed some nightdive studios people about the re-release

https://www.youtube.com/watch?v=7uWUuqTsnGY 
The Part About Updating 
is somewhat missing. Anyway, nice to see some faces of the guys behind this. 
 
Yeah that was kind of an odd interview to be honest. It seemed like the guy in the home gym was more interested in making sure they don't get mis-credited, the ceo was obviously just on a by-the-numbers promotional tour and the shacknews guy was waaaay overdoing the "excitable fanboy" schtick, to the point where I wonder if he's overcompensating for never having touched Quake 1 in his life. I'd much rather see an in depth Machine Games interview. 
It's A Good Port 
for consoles, I'll give them that. But for PC, there are better alternatives. Right now they are rather trying to have some stuff exclusive to their port, like that new DOTM campaign, but the community beat them to it, in spite of them not revealing their source code.

In the end, it's OK for people who just want to play Quake and don't want to get too much into tweaking, searching for custom expansions and so on. 
Motion-blur 
Maybe I am just conditioned by playing AAA console titles like Last of Us and Horizon Zero Dawn; but does anyone else like the motion blur in the new release?

I really like it. Don't miss it too much when playing in other ports but it's a good addition to Quake Ex.

Don't hear this discussed very much.

re: the Nightdive interview. Go back and watch the game capture video. Whoever capped that was NOT familiar with the game and it's hysterical to watch. 
 
*gets double barrel shotgun*

*shoots ogre from 100 feet away* 
 
Whoever recorded that gameplay was playing with a gamepad, and don't know how to use strafe to dodge enemy attacks. Also, they tried to get ammo boxes when already having full ammo. At 7:20, they tried several times to jump over the wrong steps on the wall, and eventually gave up. And they keep wasting non-explosive ammo on zombies...

The KEX engine only does the underwater warp horizontally, not vertically. I don't know why they didn't warp it vertically, but it seems that they doubled the amount of horizontal warping to try to compensate.

The lack of view bobbing is disturbing. Turning it off by default was a mistake.

The fog and lighting are very cool, but I'll always miss lightmapped liquids and properly lit item boxes. 
 
Why in gods perversion's would someone address such a absolute turdifical abomination in fucking Quake ?!?

Jesus fucking christ are you baiting Dumptruck or what ?

Do you want lens flares too ?? 
 
The KEX engine only does the underwater warp horizontally, not vertically. I don't know why they didn't warp it vertically, but it seems that they doubled the amount of horizontal warping to try to compensate.
I noticed that too and it looks bad. Hopefully just a bug that'll be addressed in the upcoming patch. They also changed the underwater colour from brown to blue, which also looks bad most of the time.

The lack of view bobbing is disturbing. Turning it off by default was a mistake.
This one probably has the community to blame, as switching off the view bob is something that a lot of people seem to like.

The fog and lighting are very cool, but I'll always miss lightmapped liquids and properly lit item boxes.
I'm still unconvinced by lightmapped liquids, particularly when combined with translucency. I can accept the wrongly lit item boxes so long as they're only used for items, as it does make them stand out more in the scene. When people start using them for geometry the lighting flaws are really bad though, with lack of dynamic lights on them being perhaps the worst. Kex Quake does at least put dynamic lights on them. 
Viewbobbing 
Until I saw the viewbobbing option in the remaster I'd forgotten it was even a thing in Quake, mostly because when I think of viewbob I think of that godawful sea-sickness inducing side-to-side sway that a lot of inferior FPS use. Quake's viewbob is more of a phallic thrusting motion, which is much less intrusive until you start to think about it as a phallic thrusting motion that is. 
Botion Mlur 
Ok so, I'll address it in a civilized manner as it seems some education is necessary for the young ones and the older ones not quite right in their taste.

The First Person Shooter puts you, like it says on the tin, in first person.

Before we go further, dear reader, if you do see motion blur when casually moving about in daily life, please contact you doctor and get that checked.

Now, you might say if I see one thing move really fast across my field of vision it looks like a blur. That is object motion vector based blur, and that can look good and makes some sense. Its just the one or two fast moving things that blur.

What games and Quake re-release is doing is CAMERA movement based blur, and that makes no sense nor does it look "good". Like lens flares.

I shall quote a consultant on the matter to drive the point home a bit.

Camera based motion blur is unusually offensive though. It says “this camera is a camera” instead of “this camera is a person”, happily throwing away the single most fucking fundamental and compelling aspect of a first person game just to score some sweet FX wank points.

Unless the game has a gimmick like You're in the pitch black and seeing everything through your camera lens night mode or something.

But that is NOT Quake is it ? 
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.