|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |
Dane Stark
Golgotha Group
178
|
Posted - 2012.08.31 20:43:00 -
[1] - Quote
Ok, I have been a computer programmer for 20+ years professionally and 30+ years for fun. Additionally, I have a university minor in Artificial Intelligence (Comp-Sci major). I tell you this because it is the basis for why I feel I have some potential insight into this "issue."
If I were writing an engine for hit detection, what I would use is a feedback 'neural net'-style learning algorithm that constantly is making adjustments (albeit ever so slight) to all the formulas from game to game in order to 'train' the engine to reach a point of stability and, at the end of the process, you should have a pretty well-defined set of rules (equations) running hit detection. The variables would include everything from hit box dimensions to movement vectors to weapon ranges. Possibly weather, gravity and lighting-condition variables - the list goes on if you think about it.
Anyway, when using a feedback system such as this, what you would experience from game to game (assuming the algorithm is making these minor self-adjustments to its equation parameters after each match) is something like this: sometimes, the hit detection will seem like it is working awesomely and sometimes it will seem like it sucks like a vacuum cleaner. And, of course, you will 'hit' (pun intended) every thing in between. Even more fun is -- your version of "awesome" is someone else's "vacuum cleaner" -- everyone plays differently. Just look at the posts that complain about sensitivity (which, BTW, could be undergoing this very same style of training). These are dynamic systems equations that feedback into themselves, but, how they affect everyone's game play (including the ever changing variable that would be accounted for, "lag-millisec/millisec" or some derivative like that), can be very different.
The point is this. If you are 'training' feedback systems like this, it takes A LOT...and I mean A LOT...of inputs from A LOT of different sources over a fairly long period of time (Beta) to get these formulas 'smoothed out' and stable. By stable I mean, at or to a point where the equations (the variables and all the coefficients & powers modifying these variables) seem to stay the 'fairest' for all types of players in all the various circumstances.
Let's also not forget that, if they are actually using a system like this, there are different models that run better for different "environments". This is a factor that, also, over long periods of time, 'keeps players honest'. So, in some environments, you may be "hot sh*t" and in others, you may suck like that "vacuum cleaner". By keeping different 'sets of equations' that have been trained over time for different planets, CCP can keep everybody 'on their toes'. This helps eliminate stagnation and the ever uber god-like players.
Except those, of course, that truly are worthy of 'Uber Player' status and can adapt to all planetary environments while remaining at the top of the leader boards. Hats off to those folks for sure!
Anyone have any thoughts regarding this? I wonder if this is anywhere in the ballpark of what CCP uses inside the guts of the game, but if they don't, I'd love to explain to them why they should! :-)
|
Dane Stark
Golgotha Group
178
|
Posted - 2012.08.31 22:42:00 -
[2] - Quote
Vrain Matari wrote:
If CCP is using something like this I'd be impressed as hell.
I like your approach. I suppose if I was doing it from scratch I'd be tempted to go Bayesian with MAXENT on the priors, and some Monte Carlo to be fairly certain that the state space was reasonably well-sampled. It's an academic point, though, as our 2 approaches would prolly yield similar results in the end.
Yeah, I'd love to see the differences in the results and by how much and what the graphs looked like getting there. I would REALLY love to get paid to do those kinds of things for a game! :-) |
Dane Stark
Golgotha Group
178
|
Posted - 2012.09.01 00:43:00 -
[3] - Quote
c'mon Sha Kharn Clone - this post definitely has you written all over it! |
Dane Stark
Golgotha Group
178
|
Posted - 2012.09.01 01:34:00 -
[4] - Quote
D'Finn Rhedlyne wrote: Copyright to me if not!!!
I'm glad you agree - I might be inclined to share the rights |
Dane Stark
Golgotha Group
178
|
Posted - 2012.09.01 03:13:00 -
[5] - Quote
Aighun wrote:But would it be capable of creating a level playing field for players worldwide shooting each other FPS style in a single shard game? Because that would also be ideal.
You could do some "leveling" I suppose using lag as a curve for "fudge factor" - meaning, you may give a mathematical boost to different variables according to how bad some lag was. For example: Bad lag may get you a slightly bigger hit box on the opponent. I highly doubt they are doing this, but it would be possible. Lots of number crunching to do this real time for large playing fields.
Now, if you are suggesting "leveling" as in handicapping (which I do not necessarily condone BTW ), this is also doable at the single game level by applying a variance based on the KDR, for example, of the team or, better yet, between you and your target, apply it to the "fudge factor" for the profiled handicapping variables -- amp it up or down basically.
And not to get too meta, but, you then take all this and feed it all back into the original system as another set of adjustment factors.
WEEEEEEEEEEE!!!! Isn't this fun? |
Dane Stark
Golgotha Group
178
|
Posted - 2012.09.01 13:57:00 -
[6] - Quote
Aighun wrote:I made a request thread about using something like this data to distribute the districts on planets so they got a good mix, so that no single group of players could have an over all advantage in taking all the planets in a particular region in space. I also thought it would be a good idea if you could see some kind of rating for a particular district, where on some you would be at an advantage, and others sucking like vacuum. THat way you would at least know ahead of time if you were fighting in your red zone, or suck zone and could plan accordingly in null sec sovereignty battles, which is where it would matter most.
I definitely agree with some sort of rating system as you say. There should be all kinds of intel regarding a system's conditions before battle. The best tie-in would be to have EvE pilots run scouting missions in order to achieve the best possible intel for rating the system conditions right before battle. Seems like that would be very authentic and pretty darn cool!
EDIT: I have an EvE pilot perfectly suited for this kind of role BTW - I can run small black ops boats :) |
Dane Stark
Golgotha Group
178
|
Posted - 2012.09.02 02:53:00 -
[7] - Quote
MrFancyMonocle wrote:How would the system know that it achieved a desirable or non-desirable result? This feels very not real-truthy.
Dynamic systems equations take on a form called 'stability' -- they reach a point of equilibrium. It's fascinating - I highly recommend the text 'Chaos' by James Gleick. (lets not forget to account for our Strange Attractors CCP!)
MrFancyMonocle wrote: I'm thinking that it feels like there's no aftertouch in the network code, which is the ability to change the path of something, in this case a bullet, that realistically wouldn't be changeable; bullet curve sounds ugly, if you don't understand how ugly things look without it.
I love the concept of aftertouch. I would suggest its that kind of detail I refer to when mentioning the variables like weather, gravity, etc. "Curvature of the planet" if you will. So cool on that. The model certainly allows for it. Bullet curve sounds beautiful to me if you can properly model it. Especially according to the conditions.
MrFancyMonocle wrote:There's a visual feedback of a hit client-side, but the server disagrees and doesn't register it.
If you happen to do one point of damage, it would show a 'hit' flare, I suspect. There is no concept in Dust so far (i'm aware of anyway) that differentiates between a slight hit flare (indicating a slight amount of damage done) vs. a bright flare (indicating a large amount of damage done). But, I understand why you would mention this.
MrFancyMonocle wrote:Still, that wouldn't explain spray-fire guns like a chaingun frequently missing at close range. That's quite a few collisions to track and some ball is being dropped there.
I would disagree. It would suggest that there is a vector model (directional equation) for every projectile on the board. The whole point of my OP was to demonstrate exactly how much number crunching goes into calculating the realtime physical interaction between all of these projectiles in conjunction with the endless environmental variable sets. If, of course, you were trying to model various planetary environments with some level diversity that is.
One of the ways you train an expert feedback system is to feed it variable sets that are both very bad and very good. So, lets say, you get home from work, you turn on the PS3 and say "let's have a good game of Dust514" and you miss every single shot! Damn you are mad and guess what. So is every one else. Now, some folks have better scores since they adapted to the variables better than others. Not because they are awesome, necessarily (but they might be), no, it's because they figured it out. Hopefully, they were communicating with others on headsets and figuring it out together.
Point here is when training a system like I was theorizing about (this does not indicate AT ALL that this is what CCP is doing BTW) there will be game inputs that are atrocious. That is how equations "learn" what is bad. I know this all sounds like mumbo-jumbo; "not real-truthy" I believe you put it. Well, you may be right -- only CCP knows [I surely don't]. But...hey...
It's a fun conversation...for a few anyway. :-)
MrFancyMonocle wrote:EDIT: come to think of it, what's the point of not having hitscan for something like a short-range spray weapon? Dispersion would prevent it from being utilized at longer rangers and you'd lose the overhead of all those physics calculations (assuming it's not hitscan already).
Well, It depends on how many hit models you want to support and how you want to handle 3 dimensional hit vectors. Again, I have NO incite into what CCP is actually doing. When you say hit scan, do you mean a simple X,Y(maybe a factor of Z) pixel matching model? I understand the desire to use a simple model, but the point is to allow for real environmental adjustments - which a system like that simply cannot handle at a very granular level. To make for the most realistic and immersive feeling gameplay you can have - on a flat screen anyway - I would use something a little more detailed - IMHO.
Great thoughts! |
Dane Stark
Golgotha Group
178
|
Posted - 2012.09.02 12:27:00 -
[8] - Quote
Leither Yiltron wrote:Dane Stark wrote:technobabble
You do indeed have the degrees you've asserted. Take a drink my good man, and technobabble to infinity and beyond. ;D
heh - I will drink to that! |
|
|
|