PDA

View Full Version : Damage modeling: how detailed is it?



Flanker555
01-06-2007, 02:30 AM
Hello! I'm a long time Il-2 player and have always been impressed with the damage modelling of the planes in the game. It is better than any other sim by a long shot but I was wondering just how detailed is it? Can someone direct me or fill me in on the behind the scenes of damage moddeling for Il-2 (I'm playing 1946 if it makes any difference).
Also I watched a funny situation in '46 today where I clipped off one of the wheels of an Ai He Lerche and it destabilised when it tried to land with hilarious results (another thing you can only see in IL-2).

FritzGryphon
01-06-2007, 02:44 AM
The plane is divided in parts that can be damaged or destroyed seperately. These parts are:

Fuselage (2 parts, only empennage is blow-offable), wings (3 parts each), stabilizers, rudder, elevators, ailerons, gear and more.

Damage to any part seems to increase drag. In case of wing, it also reduces the lift. In case of stabilizer, damage reduces stability in that axis. Control surface, reduced control in that axis.

Some planes also have damagable flaps (B-29). However, this is only a grapical thing, and blowing off flaps doesnt seem to affect it. It used to be that you could shoot the ball turret out of the B-17, but the feature was later removed.

In addition to the exterior damage, internal components are damagable, with logical effects. Here's some:

Fuel tanks (leak/fire), oil tanks (leak, fire), control cables, control gearbox/linkage (lose all your controls at once!), hydraulics (manual gear lowering), various engine components (CSP, supercharger, oil radiator, cylinders, throttle control, etc), the cockpit (bullet holes in glass, gunsight), the pilot (injure/kill), guns (jam), control surface hinges (knock off surface)... that's all I can remember.

I hear that BoB will have more, including puncturing tires, coolant radiators, ammunition, among other things.

Flanker555
01-06-2007, 06:56 AM
Thanks Gryphon I didn't know that the engine had different components that could be damaged, that's pretty detailed! Do you know if bullets and other projectiles are accuratly traked from their tradgectory to determine which internal components are hit or if the damage is randomly determined by the general area hit?

Art-J
01-06-2007, 01:45 PM
A good question indeed. I remember the hype about gun synchronisation in .50's equipped planes before one of the last patches. As I understand, when working on-line, the game didn't calculate each bullet path, but treated them as "packets", calculating ballistics of every 5th bullet or so, and multiplying its damage factor to simulate the rest of the bullets.
Supposedly, it's been changed since 4.05(?) but I don't know if it calculates every bullet now. That would be kinda heavy on Your CPU and connection...

With guns of lower rate of fire (cannons), I think it must calculate every shell, and when the target is hit, the game also models shrapnels from explosive shells (a few shrapnels for each one).

Did You play with "arcade" parameter in conf.ini file? If not, change its value to "1" ("0" is default), go flyin', do some shootin' and switch camera view to target plane. It will show You how the bullet hit direction (shrapnel hit directions) are calculated. As far as I know, this option doesn't work in replays though...

Cheers - Art<div class="ev_tpc_signature">

http://i24.photobucket.com/albums/c4/Art-J/oldschool_mix.jpg
Old warbirds, old race cars (and then young girls http://forums.ubi.com/groupee_common/emoticons/icon_wink.gif ) forever!

Platypus_1.JaVA
01-07-2007, 11:39 AM
Be warned. The Damage model shows very great detail in the game but, what is shown is not always representative for the actual damage to your aircraft. The DM we see is not always the same as the actual damage that is done to your aircraft.<div class="ev_tpc_signature">

1 Judge not, that ye be not judged.
2 For with what judgment ye judge,
ye shall be judged: and with what
measure ye mete, it shall be measured
to you again.

http://www.f19vs.se/fokker_now.jpg

SaQSoN
01-08-2007, 01:05 AM
Originally posted by Flanker555:
Thanks Gryphon I didn't know that the engine had different components that could be damaged, that's pretty detailed! Do you know if bullets and other projectiles are accuratly traked from their tradgectory to determine which internal components are hit or if the damage is randomly determined by the general area hit?

Yes. Each component has it's "rigidity" value and, depending on it, a bullet or shell fragment may travel through several components, subsequentaly damaging them.

However, as it was stated above, the visual damage model does not exactly represent the actual (physical) damage to an aircraft.

There is also no diffference between on-line and off-line damage calculations. The game counts each and every bullet/projectile path.

In on-line game the damage is being calculated on the attacker's (or, better to say, a projectile emitter's) PC. Then the attacked user recieves via the network a description of the damage, the attacker has inflicted and then sends back to all players the info about which compontent of his plane fall apart, or cought fire, or shows fuel/oil leak.

That's why, in on-line play, you can sometimes see an enemy aircraft consumes a number of hits without any noticable effect, and then, after some time suddenly desintegrate. This happens due to the net lag - a certain time is required for your info about hits to travel to the "offended" player, and then his info (aknowlegement) about damage to travel back to you. Obviously, such things never happen off-line.<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

major_setback
01-08-2007, 03:18 AM
Some shots of damage:

http://i4.photobucket.com/albums/y129/major-setback/Aichi_D3A_Val_01.jpg

http://i4.photobucket.com/albums/y129/major-setback/Catalina5.jpg <div class="ev_tpc_signature">

http://i4.photobucket.com/albums/y129/major-setback/B17sig07.jpg

SeaFireLIV
01-08-2007, 07:07 AM
The damage modelling and hit location detail is the best in any sim bar none. And I mean BAR NONE!



There`s nothing like hitting the engine and watching the propeller stop, or stopping part of an engine or damaging part of a wing and watching the bogey start to wobble cos he`s losing flight cohesion - AI or Human. It`s wonderful watching the multiple ways they can be bought done, not just 2 or 3 with some sims.

Other sims may do other things slightly better, but for pure `have I hit where I hit?` IL2 simply can`t be beat. A lot of people used to the overall hit boxes in other games will find IL2 a little harder cos it counts exactly WHERE you shoot, not just the overall area.

It`s THE thing that keeps me with IL2 consistently!<div class="ev_tpc_signature">


http://img.photobucket.com/albums/v31/SeaFireLIV/LIVeyes.jpg
"If it burns, it is confirmed."

Ivan Lukich Zvyagin

Platypus_1.JaVA
01-08-2007, 12:35 PM
bar none, what kind of a bar is that? http://forums.ubi.com/images/smilies/sadeyes.gif

Sorry, it reads as a play of words and is kind of funny when english is not your native language http://forums.ubi.com/images/smilies/16x16_smiley-very-happy.gif

But I agree wholeheartedly (spelling?) with SeaFire. http://forums.ubi.com/images/smilies/25.gif<div class="ev_tpc_signature">

1 Judge not, that ye be not judged.
2 For with what judgment ye judge,
ye shall be judged: and with what
measure ye mete, it shall be measured
to you again.

http://www.f19vs.se/fokker_now.jpg

FritzGryphon
01-08-2007, 05:53 PM
Bar can mean exclude. "Bar none" is commonly used when refering to things that are the absolute best or worst without any exceptions.

Damage modeling is the best of any sim, none excluded.

VW-IceFire
01-08-2007, 06:21 PM
Originally posted by Art-J:
A good question indeed. I remember the hype about gun synchronisation in .50's equipped planes before one of the last patches. As I understand, when working on-line, the game didn't calculate each bullet path, but treated them as "packets", calculating ballistics of every 5th bullet or so, and multiplying its damage factor to simulate the rest of the bullets.
Supposedly, it's been changed since 4.05(?) but I don't know if it calculates every bullet now. That would be kinda heavy on Your CPU and connection...

With guns of lower rate of fire (cannons), I think it must calculate every shell, and when the target is hit, the game also models shrapnels from explosive shells (a few shrapnels for each one).

Did You play with "arcade" parameter in conf.ini file? If not, change its value to "1" ("0" is default), go flyin', do some shootin' and switch camera view to target plane. It will show You how the bullet hit direction (shrapnel hit directions) are calculated. As far as I know, this option doesn't work in replays though...

Cheers - Art
That wasn't quite hte problem...but close. What we discovered was that with the guns firing as they did before the guns would come out in a burst. So when you pressed the trigger you'd get BURST space BURST space BURST online and offline. The problem was that given lag and packet loss and the burst nature it was seemingly possible for a target to fly through the bursts if something caused that particular burst of gunfire to be missed due to lag.

This was the worst when doing deflection shooting. Less of a problem from low angle shots as the netcode had a few chances to calculate the hits.

As far as I know, the game does calculate every bullet. It might do some abstraction for online play but its pretty impressive.

Now that the .50cals and other weapons fire at more random (and more realistic) intervals there is less chance for a whole series of shots to go into packetloss hell and not be counted. I think its somewhat placebo and has less impact than most people would say it does...but it seems to help anyways http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif<div class="ev_tpc_signature">

http://home.cogeco.ca/~cczerneda/sigs/icefire-tempestv.jpg
Find my missions at Flying Legends (http://www.flying-legends.net/php/downloads/downloads.php?cat_id=19) and Mission4Today.com (http://www.mission4today.com).

Flanker555
01-09-2007, 04:12 AM
Thanks guys! Lots of good info here. I was playing around with the arcade mode to see what the hit effects are and found some fun things. You can kill people (pilots, gunners) with a single hit to the models head, more to the body. How detailed is that! It's a flight sim and they modeled critical hits on people!.
I also practiced shooting engines from a gunner position on a TB-3 and noticed that you can't disable an engine shooting the radiator section (even though the visual damage occurs) but a few hits to the prop shaft area with kill it (this is with the small caliber gunner turrets).
Also shooting the main body of the plane caused no damage with the turret gun but other lighter areas could be penetrated. Is variable armor thickness and its effects on different calibers modeled too?

SaQSoN
01-09-2007, 06:37 AM
As far as I know, the game does calculate every bullet. It might do some abstraction for online play but its pretty impressive.

Now that the .50cals and other weapons fire at more random (and more realistic) intervals there is less chance for a whole series of shots to go into packetloss hell and not be counted. I think its somewhat placebo and has less impact than most people would say it does...but it seems to help anyways

Read again, what I posted. The bullets DO NOT go anywhere from your PC in on-line play. All damage is calculated at the bullet emmitter's PC. And then, only description of the inflicted damage is being sent to the bullet reciever guy.
However, sometimes the packets with the damage description may be lost, that's why an attacked guy may not get hurt at all.
But, when he does gets his damage description, his plane starts to display it and sends info about it to all other players. When attacker's PC get's this info (let's say, it will be "fuel tank 2 leak", for instance) he starts seeing the fuel leak.

Thus, due to the net lag, there is a noticable pause between hits and appearence of any visiual damage on the attacked airplane.

In off-line there is no such pause, because you don't have to wait for your packets to travel to the targed, and then it's packets to travel back to you.<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

SaQSoN
01-09-2007, 06:39 AM
Is variable armor thickness and its effects on different calibers modeled too?
Yes. Caliber, projectile momentum, ammount of explosives and hit angle - all is used for the damage calculations.<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

JerryFodder
01-09-2007, 08:56 AM
Originally posted by SeaFireLIV:
The damage modelling and hit location detail is the best in any sim bar none. And I mean BAR NONE!



There`s nothing like hitting the engine and watching the propeller stop, or stopping part of an engine or damaging part of a wing and watching the bogey start to wobble cos he`s losing flight cohesion - AI or Human. It`s wonderful watching the multiple ways they can be bought done, not just 2 or 3 with some sims.

Other sims may do other things slightly better, but for pure `have I hit where I hit?` IL2 simply can`t be beat. A lot of people used to the overall hit boxes in other games will find IL2 a little harder cos it counts exactly WHERE you shoot, not just the overall area.

It`s THE thing that keeps me with IL2 consistently!

Roger that! Barrel some .50 rounds into the wing root of a Zero and watch that one tank catch fire - just as it used to in real life!!<div class="ev_tpc_signature">

I may as well fly a kite...

WB_Outlaw
01-09-2007, 11:27 AM
Originally posted by SaQSoN:
Read again, what I posted. The bullets DO NOT go anywhere from your PC in on-line play. All damage is calculated at the bullet emmitter's PC. And then, only description of the inflicted damage is being sent to the bullet reciever guy.
However, sometimes the packets with the damage description may be lost, that's why an attacked guy may not get hurt at all.
But, when he does gets his damage description, his plane starts to display it and sends info about it to all other players. When attacker's PC get's this info (let's say, it will be "fuel tank 2 leak", for instance) he starts seeing the fuel leak.

Thus, due to the net lag, there is a noticable pause between hits and appearence of any visiual damage on the attacked airplane.

In off-line there is no such pause, because you don't have to wait for your packets to travel to the targed, and then it's packets to travel back to you.

If this is the case, and I'll be surprised if it is, it's a very poor way to handle it as it skips the server entirely and is highly succeptible to lag. The best way to do it is to have the "emitter" send the firing and target information to the server. The server checks the client's positions (itself and target) against it's positions to determine if there is an actual hit. This helps to prevent problems with lag and cheating. If the server determines a hit, it calcs the damage and sends it out to all the clients. Note that the client WILL STILL CALCULATE AND SHOW STRIKES LOCALLY but, they may not be confirmed by the server. If this were not the case the confirmed strikes would be way too late. I believe this is the reason that online damage is so "iffy".

--Outlaw.

SaQSoN
01-09-2007, 12:28 PM
The best way to do it is to have the "emitter" send the firing and target information to the server. The server checks the client's positions (itself and target) against it's positions to determine if there is an actual hit.

That would be absolutely stupid, because:

a) that would rise traffic ammount exponetially;
b) that wouldn't let anyone to hit anything, because each player sees all other players at the positions, where they were T=Town+Tother seconds ago, where Town - lag from player to server and Tother - lag from other player(s) to the server.

While the server sees every client in position, where they were at Tother seconds ago.

Thus, obviously, Town+Tother not equal to Tother, due the nature of electromagnetic field. Taking this in account, we will understand, that the server ALWAYS sees each player in the position, different from positions, in which each player sees all other players. And the situation, when a hit occurs would never exist in the proposed approach, except absolutely random cases.


This helps to prevent problems with lag and cheating.
This will DRAMATICALLY ENLARGE problems with lag due to both a) and b).

As for the cheating - the only way is to check each player's system integrity upon his "entrance" to the server and make game resources unavailable for players.<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

WB_Outlaw
01-09-2007, 03:10 PM
Originally posted by SaQSoN:
That would be absolutely stupid, because:


Crank up your favorite firewall and block ALL traffic except UDP over port 21000 to ALL IP numbers EXCEPT a single server (of course, if the server uses a differnt port use that one instead of 21000), then fire up the game, connect to that server, and see how it goes. Of course, it will work perfectly DESPITE the fact that your computer will NOT be able to talk to ANY other computer besides the server. Anyone got a guess why it works perfectly?


--Outlaw.

SaQSoN
01-09-2007, 04:20 PM
Crank up your favorite firewall
So, how relevant this is to what I wrote in my previous post?

If one goes to send ALL bullets and projectiles via network (as you suggest) - one will have his traffic rise hundreds times relatively to the system we have now.

What good is in the idea to send few hundred bullet vectors to all 128 (!) players via one server (In the process additionally loading the server with collision calculations), instead of sending several damage flags (after successfully calculating collision on your PC) to one (!) player?!

If you could clearly and in detail explain me this question - I'd be happy. http://forums.ubi.com/groupee_common/emoticons/icon_wink.gif<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

WB_Outlaw
01-09-2007, 05:08 PM
Originally posted by SaQSoN:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Crank up your favorite firewall
So, how relevant this is to what I wrote in my previous post?

If one goes to send ALL bullets and projectiles via network (as you suggest) - one will have his traffic rise hundreds times relatively to the system we have now.

What good is in the idea to send few hundred bullet vectors to all 128 (!) players via one server (In the process additionally loading the server with collision calculations), instead of sending several damage flags (after successfully calculating collision on your PC) to one (!) player?!

If you could clearly and in detail explain me this question - I'd be happy. http://forums.ubi.com/groupee_common/emoticons/icon_wink.gif </div></BLOCKQUOTE>

You said that MY client will send information to the TARGET's client. That is incorrect. My client, like all others, ONLY sends information to the SERVER.

I did not mean to imply that the communication between my client and the server included EVERY SINGLE BULLET. The "information" I'm talking about is that a weapons is being fired by me. My client will calculate whether or not a hit occurs based on the current information about other clients and display strikes if they occur. The server will also calcuate whether a hit occurred (and any damage) based on IT's current information (which is more accurate than mine b/c it doesnt' include both MY ping AND other client's pings) and then sends the damage results to the target and the visual results to all other clients. This may result in the server rejecting some hits but it reduces error due to lag (ie, the target's and shooter's pings are not additive) and it allows the server to check for cheating. If MY client determined hits and damage, all I'd have to do is write a network hook to throw in damage to other clients and everyone in the air would be falling to my guns whenever I want. Of course one would have to analyze the protocol pretty heavily to write such a hook but I bet it wouldn't take more than 40 hours max. of hard testing to find the packets necessary.

I can't say for sure that IL-2 handles hits this way but it IS the way practically every other FPS does it. I CAN say for sure that the local client talks ONLY to the server so ALL information is going through the server. If it doesn't then you have a peer-to-peer setup which is ABSOLUTELY STUPID for a multiplayer FPS.

--Outlaw.

SaQSoN
01-09-2007, 08:39 PM
Think again what you suggest.


My client will calculate whether or not a hit occurs based on the current information about other clients and display strikes if they occur. The server will also calcuate whether a hit occurred (and any damage) based on IT's current information

The relative positions of players, as seen by a client, will NEVER BE THE SAME as one, "seen" by the server, due to the net lag (which ALWAYS takes place). Which means, you would NEVER BE ABLE TO HIT ANYTHING, using for your aim the picture, displayed on your screen. The larger the ping of a certain player will be - the worse this problem would be for him.

What is more funny, on his PC he WILL see the hits, but his target wouldn't get damage, because the server will not register hits, judging on the info about player positions, it has. I can imagine, how many talks it would cause on the forums! http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

And also think about the packet loss, which will ALWAYS exist during the play via Internet. It will ensure high probability of a situation, when the server wouldn't even know, that a player shoots at all.

Besides, the server, appart from it's usual net-routing work, will have to calculate bullet collisions for EACH of (possible) 128 players on-line, counting not only collisions with other planes, but also with all the ground objects, including the buildings (for each player).


If MY client determined hits and damage, all I'd have to do is write a network hook to throw in damage to other clients and everyone in the air would be falling to my guns whenever I want.

He-he. It is not that simple, as you think. At least, due to the fact, that each plane may have up to 250 collision boxes and each plane type has it's own set of them. Therefore, the packets with the damage are NOT repetitive (since they contain info on particular DM box being hit) and it is EXTREMALLY hard to determine and emulate them, because number of possible variations is HUGE.

Not speaking about the traffic encription, which is also takes place.

Much easier would be to hack the model files (if the game resources are accessible) and noticably enlarge certain critical collision boxes (for exhample, the pilot's head) in the plane model, thus making them easier to hit. Or, edit hit points of certain boxes, making them weaker. Or both. http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif
This kind of cheat was quite popular it the WB, by the way.


I can't say for sure that IL-2 handles hits this way but it IS the way practically every other FPS does it.

Wrong. Most FPS games calculate hits on the client's (bullet emitter's) PC, same as in the IL-2, WB, AH and all other on-line simulations or other games, where players are supposed to shoot each other. Though, as you said, all the traffic really goes through the server in all this games, same as in the IL-2.<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

WB_Outlaw
01-09-2007, 11:35 PM
Originally posted by SaQSoN:
The relative positions of players, as seen by a client, will NEVER BE THE SAME as one, "seen" by the server, due to the net lag (which ALWAYS takes place). Which means, you would NEVER BE ABLE TO HIT ANYTHING, using for your aim the picture, displayed on your screen. The larger the ping of a certain player will be - the worse this problem would be for him.

What is more funny, on his PC he WILL see the hits, but his target wouldn't get damage, because the server will not register hits, judging on the info about player positions, it has. I can imagine, how many talks it would cause on the forums! http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

Of course they won't be the same, but, in the end, SERVER is the AUTHORITATIVE source for position, not my client. Clients use interpolation to fill in other player's positions when data is lacking either due to low bandwidth or lag. If there was no server intervention, a bad lag on my part would allow me to hose down a target that's flying straight and level to me but that, in reality, performed a hard break turn at the last second. The target would see me flying straight and level past his turn and then take damage from my guns. Talk about an UBI uproar!

The server uses lag compensation techniques to determine where the target was when the player fired to determine hits. Not where the client THINKS the target should be. Based on this information the server determines whether or not a hit occurred.

Like I said, a local client will sometimes register rejeted hits but this is just the nature of the beast and is why so many people complain of "porked" guns when they compare offline/online performance.


Originally posted by SaQSoN:
And also think about the packet loss, which will ALWAYS exist during the play via Internet. It will ensure high probability of a situation, when the server wouldn't even know, that a player shoots at all.

It's not like the client sends ONE "I started firing" packet. It sends firing data along with it's regular data stream. Let's take the case of me watching a friendly attack an enemy. If there is such a "high probability" of firing information getting lost and the server not knowing about it, then often times I should see the target blow up without ever seeing the attacker shooting because the ONLY information I get about the shooter is from the server. If the server didn't know about the attacker shooting, the I won't know about it either.


Originally posted by SaQSoN:
Besides, the server, appart from it's usual net-routing work, will have to calculate bullet collisions for EACH of (possible) 128 players on-line, counting not only collisions with other planes, but also with all the ground objects, including the buildings (for each player).

Network data routing is NOT a difficult task for the CPU. If all the server did was route data a 266Mhz AMD K6-2 would be enough for a dedicated server.



Originally posted by SaQSoN:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">If MY client determined hits and damage, all I'd have to do is write a network hook to throw in damage to other clients and everyone in the air would be falling to my guns whenever I want.

He-he. It is not that simple, as you think. At least, due to the fact, that each plane may have up to 250 collision boxes and each plane type has it's own set of them. Therefore, the packets with the damage are NOT repetitive (since they contain info on particular DM box being hit) and it is EXTREMALLY hard to determine and emulate them, because number of possible variations is HUGE.

Not speaking about the traffic encription, which is also takes place. </div></BLOCKQUOTE>

All I need to find is ONE hit box that counts and hit it with a 37mm round. A sniffer, a server, a couple of clients, and a little bit of time is all that's necessary to find it. Once you sniff the data stream, just send it back to the server changing things around the time hits occurred until you narrow it down. I used a similar method to determine the format and individual commands of the .trk files that allowed me to remove icons from them. I can also move static cameras around in a .trk file to get the perfect shot. Even if it's 40 times harder to do with the network traffic that's only 40 hours.

Are you seriously saying that ENCRYPTING/DECRYPTING the network traffic is LESS of a CPU load? Even if it does encrypt it, unless the key changes sniffing the data will tell me what I need to know.



Originally posted by SaQSoN:
Wrong. Most FPS games calculate hits on the client's (bullet emitter's) PC, same as in the IL-2, WB, AH and all other on-line simulations or other games, where players are supposed to shoot each other. Though, as you said, all the traffic really goes through the server in all this games, same as in the IL-2.

First you say "most" and then you say "all". Which is it? I suggest you read up a bit before you say "all". Like I said, I can't say for sure that IL-2 doesn't rely on the client for so much but I would be surprised if it did.

--Outlaw.

SaQSoN
01-10-2007, 01:08 AM
Uh-oh...

You don;t seem to understand. When I say, "The relative positions of players, as seen by a client, will NEVER BE THE SAME as one, "seen" by the server, due to the net lag", it means, a client will NEVER BE ABLE TO ACTUALLY AIM at a moving target. Because, he will see a phantom of an enemy aircraft, if the hit will be calculated on the server. The age of this phantom will be approximately equal to T1x2+T2, where T1 - lag from shooter to the server, T2 - lag from the target to the server.

Thus, if each of two players would have lag to the server equal to, say, 400ms, the player, which shoots, from the server viewpoint, will shoot at the place, where his target was 1200ms (1200ms = 1.2 seconds) ago. Will he be able to hit anything? Obviously - no, in most cases.


First you say "most" and then you say "all". Which is it? I suggest you read up a bit before you say "all". Like I said, I can't say for sure that IL-2 doesn't rely on the client for so much but I would be surprised if it did.

In all modern FPS, particulary those, that simulate ballistics and complex damage model (with separately damageable body parts), calculate collision on the projectile emmiter's PC. In some older ones, from mid 1990s - I am not sure, but I believe, most of them was using that system too.

All on-line combat flightsims use that system, for sure. And ever did.<div class="ev_tpc_signature">

Best regards,


SaQSoN (Vladimir Kochmarsky)

WB_Outlaw
01-10-2007, 06:39 AM
Originally posted by SaQSoN:
Uh-oh...

You don;t seem to understand. When I say, "The relative positions of players, as seen by a client, will NEVER BE THE SAME as one, "seen" by the server, due to the net lag", it means, a client will NEVER BE ABLE TO ACTUALLY AIM at a moving target. Because, he will see a phantom of an enemy aircraft, if the hit will be calculated on the server. The age of this phantom will be approximately equal to T1x2+T2, where T1 - lag from shooter to the server, T2 - lag from the target to the server.

Thus, if each of two players would have lag to the server equal to, say, 400ms, the player, which shoots, from the server viewpoint, will shoot at the place, where his target was 1200ms (1200ms = 1.2 seconds) ago. Will he be able to hit anything? Obviously - no, in most cases.

As I said, lag compensation techniques take care of these differences.

Please explain how a near total client system like you describe will handle the lagged out client problem I described. Add into that explanation the non-firing attacker I described.

If the server load is such a problem, why is it that I can attack 20+ bombers playing offline with no issues. The load on my machine includes my flight model, the flight model of all 20 bombers, the AI of the pilots/gunners, and the tracking of over 200 potential shooters. It's WAY more load than a dedicated server will EVER see.


Originally posted by SaQSoN:
In all modern FPS, particulary those, that simulate ballistics and complex damage model (with separately damageable body parts), calculate collision on the projectile emmiter's PC. In some older ones, from mid 1990s - I am not sure, but I believe, most of them was using that system too.

All on-line combat flightsims use that system, for sure. And ever did.

Air Warrior used the system I describe, I know b/c I talked to the developer (Kelton Flynn) about it back in the good old days. The Half-Life engine, uses lag compensation and several mods have been written for the Unreal and Quake engine series' to use it. Why? Because it solves many lag induced issues. It's a trade-off solution for sure but it's a good one.

[edit]
After doing some looking around it appears that Epic Games' UT engine and later all use server side hit detection.

Aliens vs Predator 2 uses client side hit detection with server side confirmation.
[end edit]

--Outlaw.