You may read the previous discussion above, which contains a lot of hints and things to try.

I appreciate the reply, but is there anything specific? There are literally years of messagesā¦

Previous leagues, the improvements were singular taking into account whatever is being introducedā¦ but from Bronze to Silver Iām doing like 5 more things and still failing.

The thing that was introduced was collision, so should I just focus on that? Or is it supposed to be a marked difference from Bronze onwards?!

Thank you for your reply, with a more specific question this time.

I agree itās difficult to read through all the messages, but you can always use the search function at the upper right corner of the forum. Try searching āsilverā in this post, which will lead to some useful advice. You may also try ācollisionā or other keywords of your choice.

Many thanks - your last reply actually highlighted to me that the forum can be shown in different ways. I was going via Bot Programming > Mad Pod Racing > Discussion (i.e., the links used when going to view Leaderboard after sending to Arena).

But when you mentioned the search function, I realised you had a different view (Community > Forum > Mad Pod Racing - Puzzle Discussion) and this function is invaluable to get to the keywordsā¦

Not sure if anyone can help hereā¦ but thereās a user called āmattieuā that is holding the #1 spot in Bronze with a score of 25+points. He is seemingly stuck, constantly submitting to the Arena, and it restarts the races, so they never progress further.

I donāt know if this is on purpose (bot?), or thereās some process actually stuck . . .

It does look like the process gets stuck - the battles completion percentage has been the same for a few minutes. You may report the issue on #bug-report channel on CodinGameās Discord chat.

OK done - I joined the Discord and reported the issue - one of the mods have said theyād take a look at it.

I am wondering to do the training of an AI model you have a simulation that you run locally or you do the training directly on the website ?

Good idea (stuck on bronze)

Guys there is a difference between boost and thrust 100 ? because looking the race data, thrust is always 100

The first boost is fast (equivalent to 450 if I remember correctly) but once youāve used your boost any further boosts are just converted to max thrust (100 / 200 depending on league).

Hello,

I need some help

for the scond boss, I have to use nextCheckpointAngle and nextCheckpointDist but theay arenāt in the input (x, y, next_checkpoint_x, next_checkpoint_y= [int(i) for i in input().split()]).

I think itās maybe a mistake.

Hello everyone,

I am in bronze league and I am trying to predict enemy pod movement so I can block its way and win time.

However, I am failing to even properly calculate my speed. Here is my code:

[Mod edit: Please avoid posting codes on the forum.]

On first turn, the speed is correctly calculated, but on subsequent turns, the actual acceleration of pod is starting to deviate from thrust.

Are there any reliable formulas to calculate the speed of pod in this game? How can I fix my `estimate_speed`

function?

@5DN1L, the code I posted, it is not the real code of my bot, it is a code specifically written to highlight the problem.

No worries though, I hope that my questions are clear even without code.

- Why thrust != acceleration?
- Any reliable formulas?

You can still show your calculation formulas for others to comment on without showing them as code.

Thank you. Here are my formula (for simplicity we move strictly to the right, so it is an one-dimensional case).

Let `speed`

be the speed at the current turn.

Let `thrust`

be the thrust.

Let `speed_next`

be the speed we are trying to predict.

Then the formula is: `speed_next = speed + thrust`

Examples of using the formula:

When `speed = 0`

and `thrust = 100`

, then `speed_next = 100`

When `speed = 100`

and `thrust = 100`

, then `speed_next = 200`

When `speed = 185`

and `thrust = 100`

, then `speed_next = 285`

What we have in reality:

`speed = 0, thrust = 100`

=> `speed_next = 100`

`speed = 100, thrust = 100`

=> `speed_next = 185`

`speed = 185, thrust = 100`

=> `speed_next = 257`

`speed = 661, thrust = 100`

=> `speed_next = 661`

What are the forumlas used by authors?

There is a friction multiplier of .85 every turn to stop the speeds getting too high. Itās in the advanced rules section (I canāt remember if that is visible in bronze - I know a lot of things are simplified before gold). You can get past bronze completely ignoring the enemy / collisions and just focusing on your racing line.

Coders Strikes Back is a good description of all the required physics if you do want all the information before getting to the higher leagues.

So, @RoboStac, if I understood correctly, the formula for the simplest movement (in one direction only) is:

`movement_speed`

= `starting_speed`

+ `thrust`

`speed_after_friction`

= `movement_speed * 0.85`

, rounded down

Some calculations:

```
turn_number starting_speed movement_speed speed_after_friction
1 0 100 85
2 85 185 157
3 157 257 218
...
31 559 659 560
32 560 660 561
33 561 661 561
```

This matches actual results. Cool, thank you!

I have a bit of trouble calculating angles.

For example, debug output for first turnā¦

```
My pod location: (13406, 2239)
Next checkpoint location: (6581, 7817)
Next checkpoint distance by referee: 8814
Calculated distance: 8814
Next checkpoint angle by referee: 0
Calculated angle: 141
```

Several turns laterā¦

```
My pod location: (6925, 7530)
Next checkpoint location: (7473, 1343)
Next checkpoint distance by referee: 6211
Calculated distance: 6211
Next checkpoint angle by referee: 134
Calculated angle: 275
```

```
My pod location: (6419, 7904)
Next checkpoint location: (7473, 1343)
Next checkpoint distance by referee: 6645
Calculated distance: 6645
Next checkpoint angle by referee: 120
Calculated angle: 279
```

```
My pod location: (5889, 8227)
Next checkpoint location: (7473, 1343)
Next checkpoint distance by referee: 7064
Calculated distance: 7064
Next checkpoint angle by referee: 106
Calculated angle: 283
```

And a bit more turns laterā¦

```
My pod location: (4243, 6831)
Next checkpoint location: (7473, 1343)
Next checkpoint distance by referee: 6368
Calculated distance: 6368
Next checkpoint angle by referee: 1
Calculated angle: 300
```

Note that at first turn checkpoint was to the left and below my pod, and in last example checkpoint is above and to the right, but referee says almost the same angleā¦ I do not understand what is happening?

I think I got it, I need to calculate angle between the pod and the next checkpoint and the angle between movement vector and the X-axis and subtract one from another to get next checkpoint angle.

But how I calculate angle between movement vector and the X-axis? I have troubles predicting the movement vector next turn