BUG: Moving Backwards when fixing

Hi. just observed my bot moving backwards 1 block after fixing:

Starting round: 20
Player A - LCubed: Map View

round:20
player: id:1 position: y:3 x:186 speed:8 state:NOTHING statesThatOccurredThisRound:NOTHING boosting:false boost-counter:0 damage:1 score:45 powerups: OIL:1, BOOST:5
opponent: id:2 position: y:2 x:178 speed:9

[░░░░░░░░░░░░░░░░░░░░░░░░▓▓]
[░░░░░░░░░░░░░░░░░░░░░░░░░░]
[░░░»░1░░░░░░░░░▓░░░░░░T▓░░]
[░░░▓░░░░░░░░░∱░░░▓░░░░░░▓░]

Received command C;20;FIX
Player B - LCubedBB: Map View

round:20
player: id:2 position: y:2 x:178 speed:9 state:TURNING_LEFT statesThatOccurredThisRound:TURNING_LEFT boosting:false boost-counter:0 damage:1 score:43 powerups: LIZARD:1, TWEET:1, EMP:2, OIL:2, BOOST:3
opponent: id:1 position: y:3 x:186 speed:8

[░░░░░░░░░░░░░░░░░░░░░░░░░░]
[░░░░░2░░░░░░░░░░░░░░░░░░░░]
[░░░░░░░»░░░»░1░░░░░░░░░▓░░]
[▓░░░░░░░░░░▓░░░░░░░░░∱░░░▓]

Received command C;20;TURN_RIGHT
Completed round: 20


Starting round: 21
Player A - LCubed: Map View

round:21
player: id:1 position: y:3 x:185 speed:8 state:FIXED_CAR statesThatOccurredThisRound:FIXED_CAR boosting:false boost-counter:0 damage:0 score:45 powerups: OIL:1, BOOST:5
opponent: id:2 position: y:2 x:185 speed:9

[░░░░░░░░░░░░░░░░░░░░░░░░░▓]
[░░░░░2░░░░░░░░░░░░░░░░░░░░]
[»░░░»1░░░░░░░░░░▓░░░░░░T▓░]
[░░░░▓░░░░░░░░░∱░░░▓░░░░░░▓]

Received command C;21;ACCELERATE
Player B - LCubedBB: Map View

round:21
player: id:2 position: y:2 x:185 speed:9 state:TURNING_RIGHT statesThatOccurredThisRound:TURNING_RIGHT boosting:false boost-counter:0 damage:1 score:43 powerups: LIZARD:1, TWEET:1, EMP:2, OIL:2, BOOST:3
opponent: id:1 position: y:3 x:185 speed:8

[░░░░░░░░░░░░░░░░░░░░░░░░░▓]
[░░░░░2░░░░░░░░░░░░░░░░░░░░]
[»░░░»1░░░░░░░░░░▓░░░░░░T▓░]
[░░░░▓░░░░░░░░░∱░░░▓░░░░░░▓]

Received command C;21;USE_TWEET 3 201
Completed round: 21


Starting round: 22
Player A - LCubed: Map View

round:22
player: id:1 position: y:3 x:194 speed:9 state:ACCELERATING statesThatOccurredThisRound:ACCELERATING boosting:false boost-counter:0 damage:0 score:45 powerups: OIL:1, BOOST:5
opponent: id:2 position: y:2 x:194 speed:9

[░░░░░░░░░░░░░░░░▓▓▓░░░TT░░]
[░░░░░2░░░░░░░░░░░░░░░░░░░░]
[░░░░░1░▓░░░░C░T▓░░#░Φ░░░░░]
[░░░░░∱░░░▓░░░░░░▓░░░░░░░░░]

Received command C;22;TURN_RIGHT
Player B - LCubedBB: Map View

round:22
player: id:2 position: y:2 x:194 speed:9 state:USED_TWEET statesThatOccurredThisRound:USED_TWEET boosting:false boost-counter:0 damage:1 score:47 powerups: OIL:2, BOOST:3, LIZARD:1, EMP:2
opponent: id:1 position: y:3 x:194 speed:9

[░░░░░░░░░░░░░░░░▓▓▓░░░TT░░]
[░░░░░2░░░░░░░░░░░░░░░░░░░░]
[░░░░░1░▓░░░░C░T▓░░#░Φ░░░░░]
[░░░░░∱░░░▓░░░░░░▓░░░░░░░░░]

Received command C;22;USE_OIL
Completed round: 22


Starting round: 23

1 Like

It seems to me that there was a collision - player B turned right and their destination block was the same as the block where player A was. So the collision logic kicked in, moving player B back to their original lane - 1 block, and the same happened for player A (stayed in original lane, moved back one block) but since player A was stationary, they moved back one block.

cool seems wrong though ?

Hello @LouisLotter and @kobus-v-schoor given the rules of the game this behavior (while somewhat bizarre) is correct according to the stated behavior of player collisions.

I have to agree with everything KyleMc said as it is factual.

If it is any consolation, the offending player does lose an extra block of travel by turning. Also, having consistent rules makes for less branching, which is always good. The whole collision rule is an abstraction anyway and I think it works quite well to simulate reality to some degree while stripping out all of its complexities.

That’s fine. As long as it won’t change I have no problem with it.