- [View source↑]
|Thread title||Replies||Last modified|
|Shadow depends on the bullet, not so on the wave||4||20:18, 5 July 2021|
To me it seems that mainly the position of your bullet determines the shadow, as the angle shifts when your bullet moves. If the enemywave moves, the angle does not shift.
Given the randomness of movement order, there are 4 possible collision scenario's:
wave_t+1 with bullet_t wave_t with bullet_t+1 wave+t+1 with bullet_t+1 (2 scenarios as either one moves first, but collide only when the second one moves)
So strictly academic, there should be 1/3 or 1/4 shadow on bullet_t, and 2/3 or 3/4 shadow on bullet_t+1. How it will turn out in practice though . . .
I think the traditional shadow is 100%, the other shadows are 50%. And shadows cast from one bullet of yourself has no intersection, then the probability is independent, simplifying computation. And you don't need to actually cast the shadow when it happens, simply add the shadow when either one appears, and remove when bullet is destroyed before shadow cast time. Further simplifies computation.
And another import thing is, if you look at exact robocode physics, one bullet & wave collide on exact same tick, regardless of bullet_t/wave_t, so probability of bullet shadow will always be fixed.
You are correct that the shadow on bullet_t is always 100%. But I think that the probability of a shadow on bullet_t-1 (when a collision occurs when the wave moves first) is only 25%. Rationale: 50% chance that wave moves before bullet, 50% chance that a collision occurs if either one moves (the other 50% is when both move).
Two things, independent from each other:
1. Enemy bullet in black area: 100% probability of collision.
2. Enemy bullet in gray area: 50% for update order [my bullet, enemy bullet], 50% for update order [enemy bullet, my bullet].
Note that 1 and 2 is completely independent, because there are no intersections between the two areas (event spaces), this can be proved by some geometry.
And note that, probability of bullet collision happens in gray area vs in black area is a complete different thing, which also depends on actual size of area.