2024-11-24, 06:18 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
Pages: [1] 2
  Print  
Author Topic: Quakeworld is WRONG (You've been lied to)  (Read 16319 times)
0 Members and 4 Guests are viewing this topic.
Phoenix
Bird of Fire
 

Team Member
Elite (7.5k+)
*********
Posts: 8814

WWW
« on: 2005-03-02, 17:23 »

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...
ConfusedUs
 

Elite (2k+)
**
Posts: 2358

WWW
« Reply #1 on: 2005-03-02, 17:43 »

Interesting
Logged
shambler
 
Icon of Sin
**********
Posts: 999

« Reply #2 on: 2005-03-02, 18:04 »

Thats a real shame. slippy needed a distance weapon.
Logged
Tabun
Pixel Procrastinator
 

Team Member
Elite (3k+)
******
Posts: 3330

WWW
« Reply #3 on: 2005-03-02, 18:30 »

Hmm. upon seeing these shots, I also fear I will need to revisit my shotgun model :]
Logged

Tabun ?Morituri Nolumus Mori?
Makou
 

Team Member
Icon of Sin
*************
Posts: 753

« Reply #4 on: 2005-03-02, 19:08 »

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

WWW
« Reply #5 on: 2005-03-02, 19:11 »

Yeah Mak, the skin is really odd there.. :]
Logged

Tabun ?Morituri Nolumus Mori?
Kain-Xavier
 

Beta Tester
Icon of Sin
***********
Posts: 917

« Reply #6 on: 2005-03-03, 00:06 »

Did the original Quake do that as well?  I can't remember.
Logged

Makou
 

Team Member
Icon of Sin
*************
Posts: 753

« Reply #7 on: 2005-03-03, 00:25 »

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
 
Icon of Sin
**********
Posts: 999

« Reply #8 on: 2005-03-03, 13:11 »

I believe the spred on the single barrel is narrow, while the short bird gun is wide.
Logged
shambler
 
Icon of Sin
**********
Posts: 999

« Reply #9 on: 2005-03-03, 19:35 »

Heres a composite shot with telejano:
Logged
mecha
 

Shambler
*****
Posts: 100

« Reply #10 on: 2005-03-03, 19:40 »

does anyone else find it unusual that the blood splatters have a squared pattern too?  Slipgate - Surprised
Logged
Phoenix
Bird of Fire
 

Team Member
Elite (7.5k+)
*********
Posts: 8814

WWW
« Reply #11 on: 2005-03-03, 21:29 »

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:

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.
 Slipgate - Wink
« Last Edit: 2011-07-04, 04:02 by Phoenix » Logged


I fly into the night, on wings of fire burning bright...
guestqw
 
Guest
« Reply #12 on: 2005-03-31, 15:15 »

hi, just cross posting some info from quakeworld.nu forums for you guys

Quote from: "vb"
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
Phoenix
Bird of Fire
 

Team Member
Elite (7.5k+)
*********
Posts: 8814

WWW
« Reply #13 on: 2005-03-31, 16:33 »

Aye, but Quake 3 Arena uses one event transmission for multiple pellet impacts, and does not have problems with the patterns matching up.  Quake World clumps all the rendered pellet impacts in the same area.  I know the Q3 shotgun code inside out, and I was able to modify the shotgun code to cut down our Strogg Chaingun's netcode to 1/3 of what it would require to send 3 bullet traces the way Quake 2 does when it's firing 3 shots per function call at full speed.  It's a very useful trick.  I would then say that the problem with Quake World is that there is no seed for a spread pattern being sent with server transmission.  I can understand if they didn't know how to do that back when Quake was brand new, but I see no real excuse for it now in current Quake World ports except for simple oversight and/or laziness on the coder's part since the Quake III Arena game source has been available for at least 4 years now.  How hard can it be to create a simple function in Quake World for a seeded random to run on both client and server, and send the seed over to the client to replicate the pattern the way Q3 does?  Seriously, I've done harder things than that and made them work.  You should check out our modification to the Q3 BFG.  The particle blast uses no more netcode than firing one round from the machinegun does.  All the trajectories are virtual calculations that are replicated on both the client and server, and they remain perfectly synchronized.
Logged


I fly into the night, on wings of fire burning bright...
guestqw
 
Guest
« Reply #14 on: 2005-03-31, 19:24 »

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" Slipgate - Smile

oldman
Logged
Makou
 

Team Member
Icon of Sin
*************
Posts: 753

« Reply #15 on: 2005-03-31, 19:44 »

Increased network overhead? Did you actually read what Phoenix wrote? Slipgate - Distraught

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
 
Guest
« Reply #16 on: 2005-03-31, 20:07 »

Quote from: Makou
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
 
Beta Tester
Vadrigar
**********
Posts: 615

Yarg!

« Reply #17 on: 2005-03-31, 20:11 »

That is pathetic, why cant they fix a simple netcode problem instead of leaving it?
Logged

guestqw
 
Guest
« Reply #18 on: 2005-03-31, 20:20 »

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 Slipgate - Tongue

oldman
Logged
Moshman
 
Beta Tester
Vadrigar
**********
Posts: 615

Yarg!

« Reply #19 on: 2005-03-31, 20:36 »

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

Pages: [1] 2
  Print  
 
Jump to: