[Unleash The Geek] Bugs/questions thread

Please report bugs about the current Unleash The Geek contest here.

        for (int i = 0; i < height; i++) {
            for (int j = 0; j < width; j++) {
                auto inputs3 = readln.split;
                string ore = inputs3[0]; // amount of ore or "?" if unknown
                int hole = inputs3[1].to!int; // 1 if cell has a hole
            }
        }

I believe the auto inputs3 = readln.split should be outside the inner loop.

Thanks.

Currently, you can only view the radar range for one player (red or blue). This quickly gets annoying as I have to switch between the options whenever I view a replay that has me on the opposite side. Is it possible to add another option to show both at the same time?

12 Likes

Agreed. I would like it as with messages => Show my radar range or show all ranges.

4 Likes

The game is not over at that point since you are ahead in points. When it happens, your bot is still processed (you receive inputs and are expected to output something).
Looking at the json, you indeed timeout 1 turn after losing all your robots, probably because you don’t handle the whole “I can’t do anything, why am I still here?” thing.

Victory Conditions

  • After 200 rounds, your team has delivered the most Amadeusium ore.
  • You have delivered more ore than your opponent and they have no more active robots.
2 Likes

Hi,

It seems I’ve run into a wall with clojure startup timeouts.

Most of games my bot loses are round 1 due to: “kerek has not provided 5 lines in time”.

I’ve changed my bot to print 5 orders on first round even before parsing the data it didn’t help so I assume it’s because of clojure startup time causing the timeout.

Would there be a chance to increase timout for just the first round (there is not much data to process at that time anyway…) or are there any tricks I could use to avoid this problem?

For reference beginning of my program now looks literally like this:

(defn -main [& args]              
  (let [width (read) height (read)]
    (println "WAIT")
    (println "REQUEST RADAR")
    (println "WAIT")
    (println "WAIT")
    (println "WAIT")
    (flush)

…
(code reading rest of 1st round input and then starting 2nd round normally follows)

I don’t see any way to make my first round faster (and I do flush).

I haven’t seen any timeouts during any other rounds. In IDE it seems that the first round timeout appears on re-runs randomly.

I’d appreciate any suggestions…

1 Like

The default rust code does not like the variable name type
let type = parse_input!(inputs[1], i32);
we get the error
error: expected pattern, found keyword type
you need to go
let r#type = parse_input!(inputs[1], i32);
or use a different name

1 Like

I am definitly agree with this, I think it would also be a great idea to color the radar with the color of the player (or at least to had a band of color) : I am always wondering which radar is mine and which is not in the UI.

Thanks !

5 Likes

In the description of the puzzle, it is said:

item: if this entity is a robot, the item this robot is carrying:

But it seems that I cannot see any item the enemy robots are carrying.

On other part it is specific that I can see only my buried traps and radars:

  • 2: one of your buried radars
  • 3: one of your buried traps

Is this intentional? I have no information what enemy robots are carrying?

2 Likes

From the description:

Game Input

Initialization Input

Line 1: two integers width and height for the size of the map. The leftmost **row** are cells with access to the headquarters.

That row is actually a column. And I think this sentence should be rephrased as
The cells in the leftmost column have access to the headquarters.

1 Like

In Details: “Robots’ inventories are not visible to the opponent.”
But it’s true this could have been repeated in the inputs in order to make it clearer.

1 Like

Did anyone start working on Brutaltester (https://github.com/dreignier/cg-brutaltester) for this game?

Hello,

I’m sorry about the issue. Clojure has had random timeouts happening for almost a year now during contests and we haven’t found why. I’ll ping the devs again.

Meanwhile I can only suggest changing for another language :frowning:

Tough luck! Thanks for the answer though.

we tested many ways to show this properly and none worked well. Sorry about that.

Do you have any screenshots to show how they turned out?

I also experimencing the same issue on my side, with almost the same code.

I just saw the @TwoSteps’s answer and that’s a pretty bad news :frowning:

Here is a replay of a timeout of my code (that just print “WAIT” 5 times (and read inputs)):

As @TwoSteps said, they already try to solve it and here is a pretty long thread related to this Clojure issue (I think):

Command Line Referee that can be used with Brutaltester or just use for offline fun and testing:

Is it intentional than when many robots are digging the same spot at the same time, only one unit of Amadeusium is subtracted ?

An example in this replay (turn 17, x:4, y:10):
https://www.codingame.com/replay/413246487

Edit: add some precisions