Phoenix
|
All Quake World fans should read this. Mecha was very sad after he helped me discover this. Look closely at what is going on in these pics:
And mecha took these from software Quake World client for verification:
This was taken with the qwsv.exe version 2.30 running. What you're seeing here is the Double-Barreled Shotgun's visible battern does NOT match the damage traces. The pattern is clearly off the player, as far away as the staircase in the GL shots, yet the blood splats show the damage traces are hitting the player. This means the source code I have for Quake World is correct, the SSG spread pattern in Quake World for damage traces is identical to the spread pattern in regular Quake. The "super-tight" pattern is a rendering bug with the Quake World client. This means Quake World has been lying to you all these years. This is a sad thing. It does explain much though, and it also means the Quake source provided by id is viable for use for all weapon functions and player physics. It also means there will be no super-tight shotgun pattern for old-school mode, seeing that there never really was one in Quake World to begin with.
|
|
|
Logged
|
I fly into the night, on wings of fire burning bright...
|
|
|
|
shambler
|
Thats a real shame. slippy needed a distance weapon.
|
|
|
Logged
|
|
|
|
Tabun
Pixel Procrastinator
Team Member
Elite (3k+)
Posts: 3330
|
Hmm. upon seeing these shots, I also fear I will need to revisit my shotgun model :]
|
|
|
Logged
|
| Tabun |
?Morituri Nolumus Mori? |
| |
|
|
|
Makou
|
And you can see from Pho's software mode shots why I thought there were slits/holes in the barrels, right?
But anyway. This made me cry.
|
|
|
Logged
|
If you see a "Rona Altana" out there on the internet somewhere, that's probably me
|
|
|
Tabun
Pixel Procrastinator
Team Member
Elite (3k+)
Posts: 3330
|
Yeah Mak, the skin is really odd there.. :]
|
|
|
Logged
|
| Tabun |
?Morituri Nolumus Mori? |
| |
|
|
|
Kain-Xavier
|
Did the original Quake do that as well? I can't remember.
|
|
|
Logged
|
|
|
|
Makou
|
The spread in normal Q1 -- single or internet play -- is visibly quite wide.
|
|
|
Logged
|
If you see a "Rona Altana" out there on the internet somewhere, that's probably me
|
|
|
shambler
|
I believe the spred on the single barrel is narrow, while the short bird gun is wide.
|
|
|
Logged
|
|
|
|
shambler
|
Heres a composite shot with telejano:
|
|
|
Logged
|
|
|
|
mecha
|
does anyone else find it unusual that the blood splatters have a squared pattern too?
|
|
|
Logged
|
|
|
|
Phoenix
|
I think it's an overall problem with Quake World. Quake DM and single player do not have the patterning problem. For reference, the shotgun spread patterns are like so in the code:
/* ================ W_FireShotgun ================ */ FireBullets (6, dir, '0.04 0.04 0');
/* ================ W_FireSuperShotgun ================ */ FireBullets (14, dir, '0.14 0.08 0'); I've snipped out everything irrelevant to spread patterns. What it does is calles the "FireBullets" function, and sends pellet count, direction, and a vector for azimuth, elevation, and projection changes. (That's horizontal, vertical, and front-to-back for those confused by the terminology) Projection is "0" since it's kind of useless, so the first number is the "width", and the second number is the "height". You can see the height is 2x for the Super Shotgun, and 3.5x for the width as compared to the regular shotgun.
That's the problem I was running into - the code was telling me the "super tight" pattern was dead wrong, so either the source code was wrong, or something else was wrong. I was toying with the SSG and I noticed if I shot the ceiling and stood facing N, S, E, or W that the pattern was square, but if I shot NE, SE, NW, or SW it looked like a diamond. This was telling me there was bad data involved since the pattern was aligning to world, and not relative to the projection vector. I thought maybe the Quake World netcode was to blame, like it was snapping vectors down to 1 place of decimal precision, or doing some other bad float-to-int conversion that was losing the spread, so I got the crazy notion to see if the damage was async to the render, and sure enough, I blasted the wall next to mecha, and he got hurt. We increased the distance, and the above screenies were the result. This also explains why in one attempt at a Quake World game I blasted people repeatedly with the SSG from a decent distance, and even though the pattern was square on them it did absolutely NOTHING in terms of hurting my opponents.
I've not looked into the netcode or client render code to determine if it's the server telling the client the wrong values, or if the server is sending the right values and the client is just drawing the pattern wrong. I'm not out to fix Quake World bugs. If someone wants to tell whoever's writing the newer Quake World revisions to fix this, be my guest. It was enough for me to discover that the actual damage traces are right where the source code says they should be as far as Gen's functionality is concerned.
|
|
« Last Edit: 2011-07-04, 04:02 by Phoenix »
|
Logged
|
I fly into the night, on wings of fire burning bright...
|
|
|
guestqw
|
hi, just cross posting some info from quakeworld.nu forums for you guys Yes, the spread is the same in QW as in NQ. But the visual difference between the 2 isn't a rendering bug. In NQ, the server sent a gunshot event once for each end of a trace. But when QW came along, this was replaced with sending 1 (te_)gunshot event only, with a parameter for the number of traces.
Ie: Instead of
server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot. server: hey client, there was a gunshot at THIS spot.
QW changed it to
server: hey client, there was 14 gunshots around THIS spot.
So the gunshot rendering doesn't match up exatly with the damage traces in QW because only 1 co-ordinate is sent instead of 14 cheers oldman
|
|
|
Logged
|
|
|
|
|
guestqw
|
i think it is likely to be a problem of not wanting to make changes to the QW protocol and/or not wanting to suffer the increased network overhead rather than "oversight and/or laziness" oldman
|
|
|
Logged
|
|
|
|
Makou
|
Increased network overhead? Did you actually read what Phoenix wrote? It's possible to write the code in a way that it uses very little bandwidth. Our Q3BFG modification sends a crapload of particles flying through the air on impact, and it uses no more netcode than a single bullet fired from the Q3 machinegun. If this can be done by an "ameteur," it could certainly have been done by the professionals at Id Software.
|
|
|
Logged
|
If you see a "Rona Altana" out there on the internet somewhere, that's probably me
|
|
|
guestqw
|
Increased network overhead? Did you actually read what Phoenix wrote? O_o
It's possible to write the code in a way that it uses very little bandwidth. Our Q3BFG modification sends a crapload of particles flying through the air on impact, and it uses no more netcode than a single bullet fired from the Q3 machinegun. If this can be done by an "ameteur," it could certainly have been done by the professionals at Id Software. there is a lot of muddledness in your post? referring to the first paragraph which referred to my post, what i said (perhaps explained better) was that it has probably been looked in to and the options discounted. the network overhead increase i mentioned was referring to the potentially simple fix of just using the netquake style, sending 'gunshot here' for every one of the pellets and the fix you mention would (i believe) require changes to the protocol to allow the suggested synchronisation, which most qw developers are unwilling to do as it would break compatibility with e.g. the qizmo proxy often used for routing and large game spectating in your second post you mention "it could certainly have been done by the professionals @ id"; at the time qw was being developed they probably didn't have the experience/technology (as phoenix points out) but we were discussing why no current qw engine amateur developers hadn't 'solved' the 'problem' and i believe this is for the reasons posted above - however it is still being discussed on qw.nu forums and i'll keep u updated :P oldman
|
|
« Last Edit: 2005-03-31, 20:08 by guestqw »
|
Logged
|
|
|
|
Moshman
|
That is pathetic, why cant they fix a simple netcode problem instead of leaving it?
|
|
|
Logged
|
|
|
|
guestqw
|
its not like its a major problem sometimes the pellets that represent your missed bullets are slightly off from where they infact hit when they missed its not like we have warping AWP shots oldman
|
|
|
Logged
|
|
|
|
Moshman
|
Sometimes the littlest things are a big problem. It looks like you hit the dude, so you assume you are causing damage. I wouldn't like to find out later it was a bug.
|
|
|
Logged
|
|
|
|
|