Fall Challenge 2022 - Bugs and questions

The map is fair and symmetrical.
Your only mystake was to build an extractor on (4 4) on first turn and it just destroyed cell (5 4) on turn 2.
Indeed cell (5 4) had just one waste just got extracted.
Because of this you could not get to the center and to your opponent side.
If you look, it’s just the same on opponent side with cell (9 2) which was not destroyed by the opponent so he was stil able to reach the center.

Well spotted, fixed.

Pretty critical bug here - allowing infinite spawns. Spawn cost overflow with a big number of spawned units · Issue #6 · CodinGame/FallChallenge2022-KeepOffTheGrass · GitHub

6 Likes

Hello and good luck for everyone
I’m looking for a job, how can I use my leaderboard to find one ?

Sorry, Newbie question:

I have followed the python link for AI starter code:

which playfully states:

for tile in my_units:
    target = None # TODO: pick a destination tile

but anytime I change None to a number or tuple (for x and y) an error is returned. Can someone let me know what is required here?

Thanks in advance.

You have to use “Tile Class” at the top in order to make the code run properly.
Just set x and y attributes and you are done.

Thanks, much appreciated.

The leaderboard is still not working on my side.

1 Like

Leaderboard is stuck for hours at my end :confused:

2 Likes

Which date(s) the next league(s) will open?

Dec 19th. Tap your league at the top of your IDE to see.

3 Likes

Leaderboard stuck here too. When I hit “Test in arena”, Battles in progress stays stuck at 0% and I just don’t move in the ranks.

3 Likes

Thank you very much.
Learning never stops. :slight_smile:

1 Like

My question is not about a problem, but about good practices.

I had a look on the python starter AI and I wonder:

  • Isn’t it very memory inefficient to create new class instances for every tile in every new turn instead of just updating or at least overwriting the old ones? Shouldn’t we delete the unused ones with del or something? This way the number of instances can grow up to 24x12x200=57600 to the end of a bronze league game instead of staying only 24x12=288. Or do I miss a point somewhere?

  • Also wouldn’t this practice of assigning a class instance to each tile be impractical (in terms of resource efficiency) anyway for bigger maps (even if we just update them)?

  • Wouldn’t it be more efficient to use multiple (2D) lists for example? (I understand the code would be more complicated, or at least harder to read, but that’s not the question here. :slight_smile: )

Thanks in advance for the replies!

Hello, battles in progress are still 0% after one hour waiting. Is there something to check?

6 Likes

Same here. Something is definitely wrong.

4 Likes

Same, I’ve been waiting 1h30

3 Likes

Hello, In Python, objects that are not referenced anymore are garbage collected right away. So no problem of memory (point 1), unless you keep old tiles somewhere… The only drawback of not updating old Tiles with same coordinates is the computing cost of creating one object. If you have performance problems you could optimise here, but there are other point before this one…
For your 2nd point, if you think the Tile class is too big memory wise, you can ask it to create the slots object. And you can also transform the can* attributes to on-the-fly properties.
For your 3rd point, instead of a (1D/2D)-list of tiles, you can create a dict of tiles with coordinates as keys.

Hi :wave:
We experienced some technical issues this morning, but it should be solved now :slight_smile:

1 Like

Hi leaderboard seems freezed, ranking does not update…
nvm it seems fixedd now