Author Topic: Wanted: Better Collision detection.  (Read 4868 times)

Offline Dadtallica

  • Gold Member
  • *****
  • Posts: 2567
Re: Wanted: Better Collision detection.
« Reply #105 on: September 18, 2026, 06:41:05 PM »
Does he really think he’s the only one that’s flown in this game more than a decade or so?

There must’ve been a reason Dale opened the door for this… I’m calling Jeff Probst.
October Player Poll Results

Back in 2022 after a loooooong break from 2010. Old name Ratpack, same for the BBS. Old squads, Excaliburs, 172nd Rabid Dawgs.

Offline Animl-AW

  • Platinum Member
  • ******
  • Posts: 7655
Re: Wanted: Better Collision detection.
« Reply #106 on: September 19, 2026, 10:57:33 AM »
Yet the truest thing he has said in years.

Don’t you have some younger guy to go manipulate to do your derelict dirty work for you?
You are the poster boy for stupid thinking I can’t figure out what you do and have done.

Dunning-Kruger Effect.
Of course, I don’t use AI to come off smarter than I am like you do
I may nit be the smartest clown in the circus, but you have zero edge on me.

Stupid people do stupid things, like dixxing thinking no one will figure out your part in it.

You gave to be king stupid to do that in the first place.
To stupid to think no one be can figure out you are a skimming con and sell people on bug infested DCS BS. Too stupid to know you were conned in your own con game to ignore my warnings you are getting ripped off. You had to find out the hard way 1 yr later. Too stupid to think you kniw whats going on in a game you haven’t played in 15 years and make comments thinking you are the god of knowledge of all sims and your opinions matter. Do you have the slightest clue how much you have gotten wrong? You obsess with me impeding your skimming and lying BS. You avoid maturity with great success and think it’s leverage. So stupid you kill s music thread because you’re still a child. I bet there’s a poster of me on your bedroom ceiling. such a toxic pit most here have you on ignore. Are you aware hiw many don’t reply to you because of all the garbages drama messes you caused here. I mean for gid sakes, you hang around a game board you haven’t played in 15 years and cause more drama than you’re worth.

Yes, lets talk about being not very bright.

You’re all about Dunning-Kruger.

Maybe you can use AI to finally get an edge on me

Bust off weirdo.
AH Tech Hangar
Windows Gaming Tweaks

Offline Animl-AW

  • Platinum Member
  • ******
  • Posts: 7655
Re: Wanted: Better Collision detection.
« Reply #107 on: September 20, 2026, 05:37:21 PM »
Beat me like a dead horse, nothing ventured, nothing gained.

Digital Combat Simulator
A mid-air collision can shear off wings, destroy control surfaces, or trigger a catastrophic explosion for both players depending on the angle and speed of impact.

IL-2 Sturmovik Series (Great Battles / 1946)
If two players collide during a dogfight or formation flight, the sim calculates the structural impact on both airframes. You will routinely see both planes lose wing sections, trade paint, or go down in flames together.

War Thunder (Simulator Battles Mode)
"Ramming" is completely physical. Ramming or accidentally clipping another player mid-air will break the wings, tails, or propellers of both participating aircraft.

Aces High uses Netcode
Netcode Variables: Because Aces High relies on server-side authority to determine real-time positioning, a slight latency difference can occasionally make a collision look strange on your screen (e.g., seeming like you barely touched but taking fatal damage). However, mathematically, the engine always applies the kinetic energy and structural impact limits to both hitboxes.

To make netcode produce mutual damage during a mid-air plane collision, you must implement deterministic collision resolution that overrides the local authority of a single client. Because network latency creates "network lag" (where each player sees themselves ahead of the enemy), relying on a simple "if I hit you, you take damage" system will often result in only one plane exploding or delayed, unfair deaths.

Here is how to structure netcode to ensure both planes take damage reliably.

1. Server-Authoritative Verification (The Gold Standard)
The most robust solution is to let the server make the final decision based on a synchronized timeline.

Client-Side Prediction: Both clients fly smoothly and detect the collision locally for immediate visual feedback.

Timestamped RPCs: When a client detects a collision, it sends a Remote Procedure Call (RPC) to the server containing the precise simulation tick or timestamp and the IDs of both planes.

Server Lag Compensation: The server rewinds its simulation history to that specific timestamp. If both planes were close enough to collide at that exact moment in game-time, the server applies mutual damage to both entities and broadcasts the explosion to everyone.

2. Handling the "Dead Man Flying" Problem
A common bug in mutual collision netcode is when Client A kills Client B a split-second beforethe collision happens on Client B's screen. On Client B's screen, they rammed a dead plane but took no damage because the server already registered the enemy as destroyed.

To fix this, implement a "Grace Period" for Latency:
If a plane is destroyed by projectiles or a collision, keep its physical hitbox active on the server for an extra 100–150ms (matching the average network round-trip time).

Even if Plane A is technically "dead," if Plane B rams into its burning wreckage within that tiny window, the server rules it a mutual collision and destroys Plane B as well.

Implementation Breakdown
Feature   How It Helps Mutual Damage

Deterministic Ticks:
Ensures both clients and the server agree on when the planes occupied the same coordinates.

Lenient Hitboxes: Slightly inflating the collision boundary only for ramming calculations helps account for minor positional network sync errors.

Local Visuals, Delayed Logic
Explode the plane locally immediately so it feels responsive, but let the network health sync happen a few milliseconds later.


A useful rule is:


if server_collision(A, B):
    relativeVelocity = A.velocity - B.velocity
    impactSpeed = length(relativeVelocity)

    damageA = calculateDamage(A, B, impactSpeed)
    damageB = calculateDamage(B, A, impactSpeed)

    applyDamage(A, damageA)
    applyDamage(B, damageB)

    broadcast(A, damageA)
    broadcast(B, damageB)

Preventing common multiplayer problems

Don't do this:


Client A detects collision
    → damages B

Client B detects collision
    → damages A

With latency, one client might see the collision before the other, or both might register it at slightly different positions/times.

Instead, use a single server collision event:

collisionId = generateCollisionId(A, B)

if collisionId not in processedCollisions:
    processedCollisions.add(collisionId)

    damage(A)
    damage(B)

« Last Edit: September 20, 2026, 05:46:12 PM by Animl-AW »
AH Tech Hangar
Windows Gaming Tweaks

Offline CptTrips

  • Plutonium Member
  • *******
  • Posts: 9971
Re: Wanted: Better Collision detection.
« Reply #108 on: September 20, 2026, 06:01:14 PM »
 :rofl
Toxic, psychotic, self-aggrandizing drama queens simply aren't worth me spending my time on.

Offline Animl-AW

  • Platinum Member
  • ******
  • Posts: 7655
Re: Wanted: Better Collision detection.
« Reply #109 on: September 20, 2026, 06:24:49 PM »
:rofl

Beat it quack boy

armature

Maybe you can code something to read text files and data vases, I know that's a challenge
« Last Edit: September 20, 2026, 06:26:30 PM by Animl-AW »
AH Tech Hangar
Windows Gaming Tweaks

Offline The Fugitive

  • Plutonium Member
  • *******
  • Posts: 19202
      • Fugi's Aces Help
Re: Wanted: Better Collision detection.
« Reply #110 on: September 20, 2026, 06:58:37 PM »

<snip>

1. Server-Authoritative Verification (The Gold Standard)
The most robust solution is to let the server make the final decision based on a synchronized timeline.

Client-Side Prediction: Both clients fly smoothly and detect the collision locally for immediate visual feedback.

Timestamped RPCs: When a client detects a collision, it sends a Remote Procedure Call (RPC) to the server containing the precise simulation tick or timestamp and the IDs of both planes.

Server Lag Compensation: The server rewinds its simulation history to that specific timestamp. If both planes were close enough to collide at that exact moment in game-time, the server applies mutual damage to both entities and broadcasts the explosion to everyone.

2. Handling the "Dead Man Flying" Problem
A common bug in mutual collision netcode is when Client A kills Client B a split-second beforethe collision happens on Client B's screen. On Client B's screen, they rammed a dead plane but took no damage because the server already registered the enemy as destroyed.

To fix this, implement a "Grace Period" for Latency:
If a plane is destroyed by projectiles or a collision, keep its physical hitbox active on the server for an extra 100–150ms (matching the average network round-trip time).

Even if Plane A is technically "dead," if Plane B rams into its burning wreckage within that tiny window, the server rules it a mutual collision and destroys Plane B as well.

Implementation Breakdown
Feature   How It Helps Mutual Damage

Deterministic Ticks:
Ensures both clients and the server agree on when the planes occupied the same coordinates.

Lenient Hitboxes: Slightly inflating the collision boundary only for ramming calculations helps account for minor positional network sync errors.

Local Visuals, Delayed Logic
Explode the plane locally immediately so it feels responsive, but let the network health sync happen a few milliseconds later.


A useful rule is:


if server_collision(A, B):
    relativeVelocity = A.velocity - B.velocity
    impactSpeed = length(relativeVelocity)

    damageA = calculateDamage(A, B, impactSpeed)
    damageB = calculateDamage(B, A, impactSpeed)

    applyDamage(A, damageA)
    applyDamage(B, damageB)

    broadcast(A, damageA)
    broadcast(B, damageB)

Preventing common multiplayer problems

Don't do this:


Client A detects collision
    → damages B

Client B detects collision
    → damages A

With latency, one client might see the collision before the other, or both might register it at slightly different positions/times.

Instead, use a single server collision event:

collisionId = generateCollisionId(A, B)

if collisionId not in processedCollisions:
    processedCollisions.add(collisionId)

    damage(A)
    damage(B)

Funny, thats exactly how Aces High does it. Imagine that.

Offline Animl-AW

  • Platinum Member
  • ******
  • Posts: 7655
Re: Wanted: Better Collision detection.
« Reply #111 on: September 20, 2026, 07:06:27 PM »
Oh really?
AH Tech Hangar
Windows Gaming Tweaks

Offline Wiley

  • Plutonium Member
  • *******
  • Posts: 8362
Re: Wanted: Better Collision detection.
« Reply #112 on: September 20, 2026, 07:36:22 PM »
.
« Last Edit: September 20, 2026, 08:04:52 PM by Wiley »
If you think you are having a 1v1 in the Main Arena, your SA has failed you.

JG11

Offline CptTrips

  • Plutonium Member
  • *******
  • Posts: 9971
Re: Wanted: Better Collision detection.
« Reply #113 on: September 20, 2026, 09:22:43 PM »
Another bottle, another clown show.
 :rofl :rofl :rofl
Toxic, psychotic, self-aggrandizing drama queens simply aren't worth me spending my time on.

Offline LCADolby

  • Platinum Member
  • ******
  • Posts: 7954
Re: Wanted: Better Collision detection.
« Reply #114 on: September 20, 2026, 09:37:24 PM »
FFS guys, he's just bloody ran himself around in a circle and you go and.. Jebus Christmas!!

You're supposed to say "That's it Animl, you're onto something y'know", HiTech fakes a patch with another 0.0.00.1 added, Animl gets to feel like a genius and we get to go on as normal knowing all is right in the world because he had absolutely no effect..

I bet that's a window into how his former colleagues had to deal with him in the soundverse;
"No no newbie, don't say a F$%^ing word. Just let him talk his schit, he gets to feel like he made a difference and we get to go home knowing we got the f£$%ing job done."
YouTube+Twitch+KICK - 20Dolby10

Offline CptTrips

  • Plutonium Member
  • *******
  • Posts: 9971
Re: Wanted: Better Collision detection.
« Reply #115 on: September 20, 2026, 09:51:40 PM »
You're supposed to say "That's it Animl, you're onto something y'know", HiTech fakes a patch with another 0.0.00.1 added, Animl gets to feel like a genius and we get to go on as normal knowing all is right in the world because he had absolutely no effect..

I think he is on to something.   Or...on something.   :rofl :rofl :rofl

And I love to program "data vases".  My whole "cliches" loves that.


Glug glug glug glug glug...
Toxic, psychotic, self-aggrandizing drama queens simply aren't worth me spending my time on.

Offline hazmatt

  • Gold Member
  • *****
  • Posts: 2592
Re: Wanted: Better Collision detection.
« Reply #116 on: September 20, 2026, 10:00:36 PM »
I think he is on to something.   Or...on something.   :rofl :rofl :rofl

And I love to program "data vases".  My whole "cliches" loves that.


Glug glug glug glug glug...

What's a clitches?

Offline CptTrips

  • Plutonium Member
  • *******
  • Posts: 9971
Re: Wanted: Better Collision detection.
« Reply #117 on: September 20, 2026, 10:03:43 PM »
What's a clitches?

It's like a clique but took animl 6 pages and 3 bottles to learn how to spell.

Glug glug glug glug....
« Last Edit: September 20, 2026, 10:05:55 PM by CptTrips »
Toxic, psychotic, self-aggrandizing drama queens simply aren't worth me spending my time on.