14 Jan 12, 03:47AM
(This post was last modified: 14 Jan 12, 04:47AM by Roflcopter.)
(14 Jan 12, 01:05AM)Felix-The-Ghost Wrote: Random != luck. It's also a very small degree. I think it's a good idea to have variable damage.
By that I think you mean that randomness can be managed somewhat similar to how professional poker players manage randomness. It's somewhat true, but it still breaks too many things (e.g. the classic one: a single sniper shot may require three medkits to recover; makes all fights more random still). And then there appears to be no real benefit to it...
While I'm here, I'll add that spawns should also be more deterministic... i.e. the game should aim to always give one of the spawns closest to the flag if it's been picked up or otherwise the center of the base.
And please, please lower spread across all the weapons. I tested this today by removing recoil, making bulletholes permanent and firing with my crosshair completely still on a moderately far wall. The bullet spread is two to three player widths after about three bullets with AR and even worse with SMG!!!
Example of common engagement range in ac_outpost.
(In case it's not clear because of the low FOV, I took the shots from right back against the box.)
And here's a small patch that would make things a lot nicer:
In weapon::attackphysics change:
[SELECT ALL] Code:
#define RNDD (rnd(spread)-spread/2)*f
vec r(RNDD, RNDD, RNDD);
to.add(r);
#undef RNDD
[SELECT ALL] Code:
#define randf 1.0*rand()/RAND_MAX
#define RNDD spread*(randf-0.5)*(randf-0.5)*f
vec r(RNDD, RNDD, RNDD);
to.add(r);
#undef RNDD
#undef randf
Here's what it looks like with this (all bullets within one body width):
http://postimage.org/image/w2nbe4nit/
The shots were fired from the same location as in the first screenshot.
The new code has the benefit of distributing the bullets to the center more rather than uniformly within a square. Notice also that the shape is circular instead of square. It also uses floating-point arithmetic in entirety so the function is continuous.
Better still would be modeling using the normal distribution. That way spread could be customised by changing the variance while giving extremely realistic results. I'd be happy to work on a patch if it would be considered for inclusion.