Release 2023.2.3 · EntelectChallenge/2023-Cy-Fi

Good afternoon everyone!

We have made some minor changes:

Bug fixes :bug:

  • Fixing required collectable decrease for subsequent advances
  • Bots can no longer spam commands and fill up the queue. Only one command per bot is allowed in the queue

As usual thanks for the continued feedback!!

All the best for tournament 1 :partying_face: :raised_hands:

1 Like

@kobus-v-schoor, should address all your concerns

1 Like

Thank you very much @Jenique and @Izak! Looking forward to next Saturday

1 Like

Thanks @Izak ! Looks good so far

I see the Development appsettings contains 500x200 maps (with 1 player and 100 ticks), and the Production appsettings still 100x100 maps (with 4 players and 10k ticks). Is the production appsettings intended to be used for Saturday’s tournament, or will the map size be 500x200 as in the Development settings? @Jenique

Actually, @Izak @Jenique , players still seem to start at the same location in each level - immediately colliding with each other and not allowing any movement, as @Kortgat mentioned here Multiple Players

Hey @TianCilliers, bots aren’t collidable objects. Bots will spawn in the same location but cannot interfere with each other, other than stealing.

The appsettings.Production.json file will be used for the tournament

1 Like

Ah, thanks, my bad. I got confused by the Collisions.NoHeroCollision(movementSm.GameObject, movementSm.CollidableObjects) check in public static bool AttemptMove(MovementSM movementSm). I see you still add other players’ bots to movementSm.CollidableObjects in your tests but it isn’t used in games.

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