Release 2023.2.3 · EntelectChallenge/2023-Cy-Fi

Please can this Odd world behaviour be checked, I’m getting reset to the beginning of the current level even with the new version.

@Jenique @Izak I still see the game loop overlaps with previous game loops when running more bots at the same time, I created a pull request to stop the game loop from running while another is in progress. the timer elapse event does not wait for the previous event. this is a huge issue that will cause a lot of people to get weird behavior while playing even if their bots can submit new moves within 10ms

Fixed loop with multiple bots by kortgat · Pull Request #12 · EntelectChallenge/2023-Cy-Fi (github.com)

Hi @Kortgat, could you share some logs of the behaviour please?

And you introduced breaking fixes a week before but cannot use the proper appsettings, cause Im not sure the 100x100 map will work with a 100 rewards needed to proceed, can we not vote to rather use the proper map size

ill send you logs a bit later but after adding the harmless bool check it played 4 bots as expected.

We would rather address the cause of the issue than simply fixing the symptom.

As far as I can see, the only async method that is not awaited is the state logging to a file, which should not interrupt bot commands.

Your logs would go a long way to helping clarify this.

We will deliberate about the map size and get back to you ASAP

here is the logs, I see that although it looks like the elapse time runs fine you’ll see that even the reference bot does not send through its command every tick, i’m not completely sure why it still happens although every async is awaited, I just found adding in the bool check as a safety net to ensure it cant run twice solved all weird issues i get when playing against multiple bots, hope the logs help

@Izak I agree here on the map size, running 4 good bots on the 100x100 ends up with the best ones maybe having 50 or so collectibles each. So barring any wild stealing behaviour, they will just all end up being stuck on level 1

@Kortgat it seems that the shared zip only contains a bot. No logs?

i fixed now sorry

1 Like

I’ve seen similar behaviour to what @Kortgat mentioned when running my older versions against myself where suddenly all of them start behaving weirdly and missing commands. They’ll all run fine for the first bit, go up the ladders like they’re supposed to, and suddenly they’ll all start running through ladders at about the same time. Will test his PR to see if it solves the issue.

My 2 cents on the matter:

  • Regarding the weird behavior in multiplayer, double-check that it’s not because of the “3 commands per tick” rule: Clarification on new release logic - #13 by kobus-v-schoor. An easy way to test this is to check if your bot works fine when you only run the game with 3 players. My bot was behaving sporadically before compensating for this (because your command stays queued). From my own tests, with the latest engine I do not see any unexpected behavior playing with 4 bots that properly account for this.
  • Regarding the prod map size, once the collectables are finished it is possible to get through the level by digging. It’s possible that the bots get into a stalemate with not enough solids/collectables available to finish the level but I think it’s only likely when the bots are very well matched. Perhaps the needed collectables can be slightly lowered? My biased opinion: I spent a lot of time getting my bot to run on the prod map. It’s a lot more difficult to get working, which is why I assumed the EC team chose that route. There were multiple times were the EC team confirmed that the prod map is going to be used, I confirmed it here: question, confirmation. (there was another post which I can’t find now that also confirmed it).
1 Like

+1 for slightly reducing collectible requirements to level up

2 Likes

I did think about the 3 per tick rule, but I did test with only 2 bots with the same issue, but after adding the bool it ran fine and I could see in 4v4 matches where it skipped ticks due to last in and it worked fine.

I don’t mind the 100 x 100 map, I’m just thinking about less skilled bots would have a better chance on the bigger maps. but yes if playing on the 100x 100 map a lower collectible would be better to balance, since I assume the 100 collectible is set based on the 200x500 map size

1 Like

Ok so I did a test now I hooked up a visualizer to the game engine and that may cause the delay on my end, although it is waiting for the method to complete I think it pushes the gameloop over the 150ms processing.

1 Like

I agree that less collectables should be required for lower levels. In fact, I think the setting for this is being ignored:
“Collectables”: [
20,
60,
90,
100
]
Presumably this means you need 20 for lvl1, 60 for lvl2 etc. Unless I’m wrong and this means something else.

Hi, this has changed in the last engine updates, so the first person needs the maximum to proceed, 2nd person needs a bit less and so on, so in theory all players can proceed to next level in one go, not sure how that will process thou. But each level the 1st guy needs 100 to advance.

@Izak / @Jenique I just had a look at my latest submissions logs, it looks like the minimum number of collectables was lowered as follows (with what looks to be the previous logic where the number of collectables needed is fixed):

  1. Level 1: 10
  2. Level 2: 30
  3. Level 3: 50
  4. Level 4: 60

Is that going to be the settings for the tournament?

Hi @kobus-v-schoor ,

It’s not quite like that. It means the first person to jump to the next level needs 60 collectables, the second 50 etc.

This is for all levels

1 Like