Server Help

General Questions - How does prox work in cont and how should it really work?

Smong - Mon Jul 23, 2007 5:27 pm
Post subject: How does prox work in cont and how should it really work?
Sure:
- ProximityDistance, measured in tiles, each level adds 1 to this.
- ExplodeDelay, measured in ticks, an activated bomb will explode after this amount of time. If you set it to 0 bombs pass straight through ships.
- *warpto puts you in the center of the tile, not the top left corner.

Pretty sure:
- Prox activates if it enters within ProximityDistance of a ship, positions are divided by 16 aligning them to the nearest tile. This means it's possible to be in certain positions that would have triggered prox if it were measured precisely instead of rounding down to the nearest tile.
- Close prox bombing, if prox activates within first 1/4 second of firing.

No idea:
Once activated a prox bomb can explode before ExplodeDelay has expired. Now I'm not sure how this works, I originally thought it was meant to be if the distance between the bomb and the triggerer started increasing it would activate.

The colored rectangles represent the prox activation areas, the white + is where the bomb exploded.

It doesn't matter if the distance is measured in tiles or pixels since this is not how prox works in cont39pr1:


I'm firing L3 prox bombs, ProximityDistance is set to 3 and ExplodeDelay is 150 (SVS default I believe).

The important thing is in the second image the bomb has significantly gone further away from the target - the closest point would have been horizontally level with it (or close to that when rounding down to tile units). Additionally it is exploding as it is exiting the trigger area. I have tested with a smaller ProximityDistance and the bomb can travel significantly further before ExplodeDelay kicks in so it's not that. Any ideas for a distance function that matches these properties?

I have also heard even though prox differs in cont38 and cont39pr1 that thor prox is still messed in 39pr1.
CypherJF - Mon Jul 23, 2007 6:15 pm
Post subject:
I wonder why thor proxy would be any different then regular bomb proxy code detection? I guess I always thought proximity was based on circular area but would make sense it's rectangular due to the nature of the engine.
Smong - Tue Jul 24, 2007 3:59 pm
Post subject: Re: How does prox work in cont and how should it really work
Smong wrote:
I have tested with a smaller ProximityDistance and the bomb can travel significantly further before ExplodeDelay kicks in so it's not that.
Re-reading that it can't be true, the bomb wouldn't have activated at all with a smaller ProximityDistance, well I did something and I'm almost sure the bomb can travel further before ExplodeDelay kicks in.
Anonymous - Sat Aug 04, 2007 12:29 am
Post subject:
were you in a stable position, floating around, flying towards or away from bomb? this all makes a difference.
Samapico - Sat Aug 04, 2007 12:58 pm
Post subject:
I remember making some tests with that too...

My conclusions were:

-A prox bomb will be triggered when max(horizontal distance, vertical distance) increases after entering the proximity distance.

That's why a bomb going straight on the edge of the prox region, as shown on your last screenshot, only explodes when exiting the region...
As it flies, max(bomb.x-ship.x, bomb.y-ship.y) stays 64 (4 tiles). When it exits prox region, the vertical distance is now greater than 64, thus, BOOM

If the bomb was heading toward the ship directly, both horizontal and vertical distances would decrease gradually, to eventually be both 0's when at the ship. So the next pixel it moves, one of the distance becomes 1, and BOOM.

-One thing to note is that the proximity distance is relative to the EDGE of a ship. This can be seen easily by having a huge ship...

-Also, the damage done by a bomb is relative to the distance from the CENTER of a ship. Because of that, if you have a large ship, you can make bombs detonate far from the center of your ship to avoid taking alot of damage.

-This last one I'm not 100% sure, would need to test with large ships:
Non-prox bombs explode on contact... i.e. They don't even try to go all the way to the center of the ship, see if the distance increases or whatever, they just explode on contact. This would mean large ships could be almost immune to bombs if they are larger than blast radius.

Quote:
were you in a stable position, floating around, flying towards or away from bomb? this all makes a difference.
The only difference it can make is that, for example, if a ship flies in the same direction as a bomb following him, it might trigger as soon as it enters proximity area because (and now I'm just guessing stuff, but it would make sense) the client will update the ship's position and the bomb's position alternatively, so it sometimes might see that the distance between both increased (i.e. if it updates ship position before bomb)
Smong - Sun Aug 05, 2007 9:37 am
Post subject:
All tests are done when stationary, even bomb thrust set to 0 for ease of testing.

Thanks for the tip on the ship radius, I think that was what I was missing.
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group