From CG community
Revision as of 11:55, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/5338452207730> NinjaDoggy: depends on the game, but generally yes <img src=/a/5338452207730> NinjaDoggy: most algorithms benefit from having more iterations of so...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

NinjaDoggy: depends on the game, but generally yes

NinjaDoggy: most algorithms benefit from having more iterations of some sort

Laminator: Right, I just wasn't sure if they used like a different strength engines to help compensate

Laminator: guess I'll just vectorize everything I can with Numpy and keep my fingers crossed lol

dreadylein: code in py, then when you think you cant possibly optimize, start porting it to a native language that you want to learn :)

dreadylein: *anymore

Laminator: I guess it's nice I'm forced to optimize as I go. Otherwise, I would have a monster of a brute force solution by now lol

Nicowk_: HOla

dreadylein: @Laminator well .. iam personaly absolutly on your side, if throwing more hw at a problem solves it, perfect :D

Laminator: I mean, the whole point of modern AI is to not have to write a crap ton of 'if' statements. I could come up with a solution with no interpretation possible using insane computation. But that would be too easy I guess.

Default avatar.png LineBender: How do you like Fall Challenge?

Waffle3z: "Brewing a potion for the very first client awards a +3 rupee bonus, but this can only happen 4 times during the game."

Waffle3z: if both users brew the first potion in the same turn, does that count as happening twice?

Waffle3z: if it's happened 3 times, can both users still brew the first potion at the same time, totaling 5 times the +3 bonus was granted?

Xenoid: Yes, and yes (see Technical Details from the instructions)

Laminator: Jeez I've spent more time on this than my homework lol

Default avatar.png lNitsua: I put maybe 4 hours into it and barely made bronze

Default avatar.png lNitsua: the amount of time I put into my homework was 0

Default avatar.png lNitsua: So I feel it

Default avatar.png Marler510: hi all

Default avatar.png weeez: lol

Default avatar.png Marler510: ((

Default avatar.png weeez: where are you from

yangj56: why the actionType CAST is mixed with SPELL?

VizGhar: Hmm "Not enough ingredients to learn 14" even tho [0,0,0,1]

VizGhar: ah "read-ahead tax"

Default avatar.png Gaurav11: hi

Default avatar.png Marler510: I am from russia

Laminator: you can pay tax, you can also gain some tax. I'm not coding it lol

Default avatar.png Gaurav11: hlo

Default avatar.png Index500:

Default avatar.png Index500: can pls someone help. i get every time the error "invalid input. expected x y power bud found 1753

Default avatar.png SimonPrins: You need to add spaces between your values.

Default avatar.png SimonPrins: System.out.println(nextCheckpointX + " " + nextCheckpointY + " " + thrust);

Default avatar.png SimonPrins: How else are they to know which part of it is the x the y and the thrust? :D

Default avatar.png Index500:

Xenoid: You need spaces (" "), not empty strings ("")

Default avatar.png SimonPrins: Those are empty strings, not spaces.

Default avatar.png Index500: @Xenoid thx it works

rcar: I like that the error called you bud though

rcar: feels folksy

Default avatar.png FMTriguero: Hello guys, sorry for bothering, but is it possible to play vs the boss of the previous league? (moved to wood1 league, but wanna check code vs wood2 boss

Xenoid: I don't think that's possible

Default avatar.png FMTriguero: okay, thank you Xenoid :)

THH: hello

Default avatar.png spathula: quick question, are the spell recipes always the same?

Xenoid: The deck of spell recipes is always the same, yes

Xenoid: But the order is random

tutubalin: spathula there's a predefined deck of spells and customers. they are drawn from the deck randomly

Xenoid: The starting spells are always the same

Default avatar.png spathula: oh, ok, thanks guys

tutubalin: spathula

Default avatar.png The_chosen_one: Hello

Default avatar.png SeekDog: Hello there

riioze: hello

TWW: how do you place the read-ahead tax?

Xenoid: If you learn a spell with tomeIndex > 0, you need to have that many tier 0 ingredients. If you do, then the ingredients are placed automatically on every spell with a smaller index than the one you learned.

TWW: ah okay thank you, I was trying to read too far ahead without ingredients so it was invalid

Default avatar.png SeekDog: castable = castable != "0"

Default avatar.png SeekDog: what does it mean?

Default avatar.png SeekDog: can anyone explain to me?

Xenoid: If the current value of castable is "0", then change the value of castable to false. Otherwise, change the value of castable to true.

Denebil: castable on the left is boolean while castable cming from input is in

Denebil: *int

Maciulis: *str

Denebil: Thanks Maciulis :)

KiwiTae: The company leaderboard is not working right?

eulerscheZahl: in what way?

KiwiTae: getting no rows ~

eulerscheZahl: 404 on that link

eulerscheZahl: fine until there

KiwiTae: ohh

eulerscheZahl: what's that SCHOOLCOMPANY?

KiwiTae: thx ~

KiwiTae: no clue lol ended up that link from the go to full leaderboard

lulugo19: So i am doing breadth search first for finding the shortest action sequence to brew a potion. I have a max depth condition but I get timeouts sometimes. Is there a better way to compute the shortest action sequence?

ionutzxy: when will the silver league be open?

ionutzxy: hello

yhyoxx: 11/16/20

ionutzxy: thanks

Scarfield: LastRick you output "LEARN id" the id of the spell you want to learn. You get the input of the 6 available spells to learn each turn. The delta values for each (negative values for ingredients you pay, positive values for ingredients you get from the spell), you get the id of the spells when reading the "delta" values as well

Scarfield: chat still dead :/

ProgrammerDog: Where do I see how many clashes I played?

jrke: on clash homepage


Slendr: Hi, I'm currently working on the Power of Thor - Episode 1 but I got an error I don't understand : "The left-hand side of an assignement must be a variable".

Slendr: Hi !

Slendr: Hi.

b0n5a1: .

UmeHearts: hey

AshKetchum: Hi Slendr, if it is C++, then it must be else if(...), you wrote else(...)

Scarfield: Slendr when you read the input, the input has to be assigned (stored) to a variable, what language are you coding in?

Default avatar.png offroff: I don't understand why I can't afford some spells. I guess it has something to do with tax but I don't get it.. Can anyone explain?

Scarfield: only the first (bottom) spell is free. The other spells you pay 1 tier 0 ingredient for each spell below the one you buy/learn. 3rd spell cost 2, 5th cost 4

Default avatar.png cguzman: where is the log of the chat??

enesdgn: what u mea

enesdgn: what u mean

tomatoes: adblock

LastRick: So do I understand this correctly, we are all piling up in Bronze until Silver opens in a few days?

Default avatar.png SeekDog: =

Xmaster6: Hey, do u know when they are going to open the silver league?

tomatoes: click league icon on top

tomatoes: 16.11

Uljahn: yes, click on the league on the top next to the timer

Xenoid: Silver league opens on November 16

Donotalo: that's correct

e1r13p12: 1337 - Khouribga/Benguerir

Edrevan: monday.

Barimehdi77: how to know the different between Cast spell and brew spell

ClockSort: is the Repeatable bug fixed now?

Barimehdi77: how can I know The different between cast spell and brow spell?

Barimehdi77: how can I know The different between cast spell and brow spell

Barimehdi77: how can I know The different between cast spell and brow spell

Barimehdi77: how can I know The different between cast spell and brow spell

Barimehdi77: how can I know The different between cast spell and brow spell

Cukinoden: @barimehdi77 by the action_type there's 3 diffrent action_type "CAST" , "BREW", "CAST_OPPONENT"

ClockSort: it looks better in the visualizer

Barimehdi77: sorry for The spamming I thought The message wasn't sent

ParticleBeam: I was going to make a joke about repeatable bugs

[CG]Thibaud: test

Barimehdi77: @cukinoden I know that but when I tried it I noted That it Cast all the spells not just cast once

Cukinoden: @barimehdi77 it depend on your code i don't know what are you doing but when you find a action_type = "CAST" it means that this action it's a spell otherwise it's a potion "BREW"

Barimehdi77: I write an if statment if (action_type = "CAST")

[Csongor]: ...

[CG]Maxime: Hello!

ClockSort: @barimehdi77 you don't brew spells, you brew potions.

[CG]Maxime: Chat rebooted

[CG]Maxime: [CG]Thibaud better?

tomatoes: it seems. started to receive new messages

struct: test

Default avatar.png charlesCabage: i have a programming question

Barimehdi77: the spells is when you create upgrade an ingredient from tier to tier and the potions is what you sell?

struct: sure

Default avatar.png charlesCabage: how do i solve problems effectively

struct: Barime potion is at the bottom is what you sell

Counterbalance: aww it started yesterday?!

Default avatar.png rmuskovets: yea

struct: at the left its your learned spells

aristotelis-bobas: is there a silver league?

struct: and at mid the spells you can learn

struct: silver opens 16-11

aristotelis-bobas: ok thnx struct

Default avatar.png rmuskovets: so good basic spells are always same

tomatoes: they're not good but enough

Barimehdi77: but how can I know if i can create a new tier ingredient?

struct: yes you start always with same 4 spells

Default avatar.png charlesCabage: every one gonna ignore me?

Default avatar.png charlesCabage: ok

struct: You can see your own igredients Barime

struct: if your own igredients >= cost of spell

struct: you can use it

Default avatar.png rmuskovets: charlesCabage whats your problem?

Default avatar.png rmuskovets: ah

struct: if its learned and castable ofc

Barimehdi77: but the actions loop come first then the inventory loop

Barimehdi77: so how can i know it?

struct: you must store them somewhere

tomatoes: first save all to variables, then logic

Barimehdi77: when I do this and run the program tell me "Warning: your code did not read all available input before printing an instruction, your outputs will not be synchronized with the game's turns and unexpected behaviour may occur."

Barimehdi77: just ignore it or what wrong ?

struct: are you outputing anything before reading everyhing?

Barimehdi77: yes

struct: You should read everything before outputing

struct: Or it can cause bugs

struct: You will start reading values from other turns that you previously did not read

Barimehdi77: so now i have to store all The data after that start the logic things

eulerscheZahl: chat rebooted, let's see if it's faster now

eulerscheZahl: yes, much better!

struct: its good yes

struct: yes Barimehdi77 that is the best way

kovi: test

kovi: yay its working

Barimehdi77: okay thank you

[CG]Maxime: Barimehdi77 no need to "store" it, only read it

akshat: Where can I find JS specifications being used in CG IDE?

akshat: And can I add third party libs?

Default avatar.png rmuskovets: I *think* it's stripped down VScode

[CG]Maxime: akshat node 12, no third party libs

Default avatar.png rmuskovets: and about third party libs, just include them in your code

eulerscheZahl: akshat

akshat: Okay, thanks!

jrke: i thought why everyone was saying akshat cause its my real name lol

akshat: lol

[CG]Maxime: ahah

Barimehdi77: I create a for loop after storing all data to scan all the actions using action_count but when I test my bot I get "has not provided 1 lines in time. Barimehdi77 was disqualified. "

Default avatar.png rmuskovets: maybe you've a infinite loop (not including the main loop)?

Barimehdi77: i add my loop after the inventory loop

Default avatar.png rmuskovets: btw how does CG have a readline() function for TS/JS even though Node doesn't have one iirc?

jrke: what is breaking condition of that loop?

Neumann: rmuskovets: home-made

Barimehdi77: for (int i = 0; i < action_count; i++)

jrke: java or c++

Barimehdi77: c

jrke: did you did \n

Default avatar.png rmuskovets: Neumann: how can I get a function like that? :sweat_smile:

jrke: printf("your action\n")

andrefpoliveira: Hmm Im also getting that error. But I did not change it. And before didnt got it

Neumann: They published their code once, don't know where you can find it now


eulerscheZahl: readline:


Barimehdi77: can I share with you all the for loop

eulerscheZahl: had that in my downloads folder, was shared on discord a few months ago

eulerscheZahl: i'm a data messy

Default avatar.png rmuskovets: ty so much

Barimehdi77: cuz i add \n after every printf

andrefpoliveira: Does c# and c++ run similarly in terms of time?

Zhmyh: no

andrefpoliveira: C++ is faster?

struct: yes

andrefpoliveira: okok ty

[Csongor]: not significantly

andrefpoliveira: I was using Python but I cant explore a lot of nodes xD

andrefpoliveira: Too slow

dreadylein: yes, c# due to beeing a managed language needs todo bound checks, its not a ton but it adds up

TomerBG: hey guys

Default avatar.png rmuskovets: andrefpoliveira: what challenge are you doing? just curious

Default avatar.png rmuskovets: hi

TomerBG: Do you play the fall challenge?

andrefpoliveira: Fall Challenge ahah

Default avatar.png rmuskovets: yeah

Default avatar.png rmuskovets: i'm in bronze now

andrefpoliveira: Its the limit right now xD

Default avatar.png rmuskovets: at least not in wood

andrefpoliveira: Ahah yes

andrefpoliveira: I was 150th xD now 1300th ahahah

TomerBG: how are you preventing your bot from getting stuck with uneeded stuff in your inventory?

andrefpoliveira: I don't

andrefpoliveira: Not on that level

Default avatar.png rmuskovets: i make a queue of actions my bot needs to do for a order

Default avatar.png rmuskovets: order is chosen by using a heuristic

Default avatar.png rmuskovets: a simple one tho

TomerBG: nice

andrefpoliveira: I'm trying a BFS

andrefpoliveira: But Python is too slow for that

jrke: BFS??

andrefpoliveira: Is it bad? xD

Default avatar.png rmuskovets: i dont think so

Default avatar.png rmuskovets: but... how did you manage to use it for this??

jrke: no i mean how are you applying it

eulerscheZahl: BFS was my first idea too

eulerscheZahl: but i discarded it, too slow

andrefpoliveira: I create a class that is the current state

andrefpoliveira: And then explore it

Uljahn: do you deepcopy?

jrke: ah beam search?

andrefpoliveira: Yeah but it is my best shot so far. But some bug somewhere

Uljahn: that's slow af

jrke: yup will be slow

andrefpoliveira: Ahah yeah that is my biggest problem

Default avatar.png rmuskovets: eulerscheZahl: my *first* idea was to do the first found order :)

andrefpoliveira: Ahah yeah

Sakisan: I don't pick up stuff unless I have like 5 open spots left or I have a clear sequence of actions that result in the completion of a recipe

Default avatar.png rmuskovets: i thought only discord translates emoticons to emojis

andrefpoliveira: :P

jrke: ;)

andrefpoliveira: :D

andrefpoliveira: What languages are you using?

jrke: c++

Default avatar.png rmuskovets: I use TypeScript

Default avatar.png rmuskovets: fast enough for now

TomerBG: py3

andrefpoliveira: And positions? ;)

Default avatar.png rmuskovets: 1234/1743 in bronze

Sakisan: I'm one of the few that use Haskell xD

andrefpoliveira: Ahah nice

Barimehdi77: is this an infinty loop "for (int i = 0; i < action_count; i++)"

Default avatar.png rmuskovets: woah

jrke: my code is in progress

andrefpoliveira: Nop Barimehdi

jrke: will be ready in 2-3 days i think

andrefpoliveira: Nice nice

andrefpoliveira: When silver opens up ahah

Barimehdi77: but why I get time out after test my not

jrke: 16th

Barimehdi77: bot

andrefpoliveira: jrke F

andrefpoliveira: Nice

jrke: no 16th is not my rank its date on which silver opens

andrefpoliveira: AHHHHA

andrefpoliveira: xd

andrefpoliveira: Well I will convert my py code to C++

jrke: Barimehdi add debugings in your code

struct: Not many Pt on bronze yet

Sakisan: that's a lot of time

jrke: and debug it

Barimehdi77: every time I put printf means this is a one rond?

Default avatar.png rmuskovets: yeah

Default avatar.png rmuskovets: to do debug output use fprintf(stderr, your message)


Barimehdi77: but I get timeout

Barimehdi77: why?

struct: add a break

Barimehdi77: this is after the for loop of inventory

struct: you can be outputing multiple times with that loop

struct: if you are not exiting it after you output

Barimehdi77: how?

struct: because code keeps running

Default avatar.png rmuskovets: it does multiple iterations

Default avatar.png rmuskovets: i compose a queue of things to do

struct: printf(); break;

Default avatar.png rmuskovets: and every iteration i check that queue if everything's in it

Barimehdi77: oh okay let me try it

struct: break; makes you exit the loop

Barimehdi77: I add break after every printf() but I get This "Barimehdi77 has not provided 1 lines in time."


Barimehdi77: This is the new code

Default avatar.png Jayantpro: When my pod isnt oriented as it is supposed to be, what does the thrust do at that point? Turn it?

Default avatar.png Jayantpro: And is thrust the accelaration or velocity?

jrke: printf("Rest\n"); make it "REST" first of all

struct: brew is castable is always 0 I think

jrke: struct castable is always 0 in case of brew

Counterbalance: is the referee source available?

jrke: yes Counterbalance



Counterbalance: thanks!


struct: yes that should work fine

Barimehdi77: I fill it with this but I git timeout every time I tested it


Barimehdi77: exactly this "Barimehdi77 has not provided 1 lines in time. Barimehdi77 was disqualified."

struct: Does the code ever reach that loop?

Counterbalance: you could add a variable indicating you printed a command, and check if you did after the loop

struct: or he could check the i variable

eulerscheZahl: Counterbalance, hi nice to see you

eulerscheZahl: usually you are the one who knows the rules best

Default avatar.png Jayantpro: It says that my code is working and that I won against the bot but doesnt show anytihng on the video...

Barimehdi77: I checked the i var and i found that all data stored fine

Barimehdi77: This is all my code


Counterbalance: Hi eulerscheZahl! likewise! I'm just getting started (thought it would start in 30 mins as usual)

eulerscheZahl: 1 day and 2 hours earlier this time

eulerscheZahl: and 3900 players in the arena already :o

Counterbalance: You're already top 1 as usual :)

eulerscheZahl: 8th to be more accurate ;)

Counterbalance: Yeah! 14k signed up, curious to see how many will play

AntonioRodri: Hello

jrke: Barimehdi77 printf("Rest\n"); make it "REST"

eulerscheZahl: last time we had 5k players and 13.6k signed up

AntonioRodri: how I know wich is my inventory?

struct: jrke his code timesout

Hjax: AntonioRodri your inventory is first

jrke: AntonioRodri first one

AntonioRodri: always?

AntonioRodri: even if am blue o red?

struct: also at start your spells are always castable

Barimehdi77: waht REST do?

struct: I think thats your problem

struct: oh wait

struct: It should output the first if then ...

Counterbalance: Barimehdi77 your action_type assignment looks iffy

Uemu[yihssan]: why is no one silver ?

jrke: cause silver is not opened yet

jacek: because they dont use jacekmax

Default avatar.png Jayantpro: We dont really have to use distance for next checkpoint anytime in wood 2 right?

Uemu[yihssan]: Oh okay

Barimehdi77: Counterbalance : whY??

struct: Barimehdi77

struct: fprintf(stderr, "%s\n", actions[i].action_type);

struct: add this to your loop

Counterbalance: you do a malloc and then assign a pointer to char[21] to that field

struct: while loop

struct: and you see

struct: what is happening

Counterbalance: actions[i].action_type = (char *)malloc(21 * sizeof(char));

 char action_type[21];
  actions[i].action_type = action_type;

Barimehdi77: I get "OPPONENT_CAST" erery time

struct: yeah

struct: Something else is wrong

Counterbalance: your leaking memory, and overwriting that allocated memory with a pointer to a stack variable, so all your actions have the same value

Counterbalance: pointing to an undefined memory location...

Barimehdi77: so I have to delete the malloc line?

Counterbalance: yeah, and make that action_type in your struct an int, and do the strcmp test once while reading the input and assign an int to that field

Counterbalance: say 1 for BREW, 2 for CAST etc..

Counterbalance: This is what I have (C++ but it should work in C)


Icebox: chat alive?

jrke: "Brewing a potion for the very first client awards a +3 rupee bonus, but this can only happen 4 times during the game."-4times per player or per game

Icebox: chat alive!

struct: per game

Icebox: it literally says "during the game"

DToTheE: How do I use the seed that is produced by some of my last battles? I want to retry one with new code.

Barimehdi77: now it's work fine Thank you

struct: DToTheE enable expert mode on settings on the left

Barimehdi77: what this means. "Barimehdi77 attempted an invalid REST action: All spells are already castable "

eulerscheZahl: that the REST as no effect

struct: Well you have no exhausted spells

struct: its not an error just a warning

DToTheE: @struct, Okay, I enabled Expert mode and pasted the seed in Manual.

jrke: euler by REST you can also use your exausted spells

struct: now press play my code

Barimehdi77: but how can i know when I have to rest the spells

struct: you should play that seed that is on manual

struct: bool castable; // in the first league: always 0; later: 1 if this is a castable player spell


Barimehdi77: i did this but still print the rest when castable == 0

DToTheE: @struct I see. Ihad to delete the AI that was there, and put the player that beat me to make the situation the same.

struct: DToTheE you can also use "Send game parameters to ide" if you are checking last battles on ide

struct: that will change the player and seed to the current battle you are seeing

struct: Barimehdi77 castable doesnt check if you have resources for the spell, it only checks if its exhausted or not

ntroPi: Rupee or Ruby? - I'm getting mixed messages here :-D

eulerscheZahl: player_one when did you decide to ditch C#? but nice submit

ParticleBeam: Ouch. Go away for an hour or so and rank dropped by 20+

andrefpoliveira: I got away for an hour and my rank dropped 200 xD

tomatoes: maybe new promotions from wood

eulerscheZahl: that's normal in contests

andrefpoliveira: Yeah I'm joking

jacek: finally checking for legality of the actions got me 500 ranks up

jrke: euler how many sims are you getting?

Gabbek: hello everyone :)

[Csongor]: hello

Gabbek: whoa, much has changed from yesterday; guess we're doing some search or sims now? :)

Barimehdi77: how can I know that the inventory is full

ParticleBeam: Sum up the inventory items and must not exceed 10 total

[Csongor]: if it has 10 ingredients

jrke: if sum of all ingriedients=10

Hjax: oh boy sims

Hjax: my favorite (not really)

Gabbek: Hjax how's going? :)

Hjax: i only worked a bit last night, didnt get anything worth uploading

Hjax: i was hoping the weird bugs would be fixed

jacek: is it true theyre gonna give urgency in input?

Hjax: that would be nice

Gabbek: are they fixed already? Read a bit on forums that it should be

Hjax: oh good

jrke: any link for the forum?

DomiKo: yes

DomiKo: they did it

Gabbek: nice, thanks for info DomiKo

Gabbek: jrke - one second


struct: urgency is currently given on price

struct: Care

struct: Urgency bonus*

Gabbek: oh, okey, thanks struct!

Hjax: ah thats perfect

Hjax: now you just can ignore urgency lol

Gabbek: I'm looking for some inspiration now... anything that works on top? I guess I should get rid of my full heurestics approach without any search

jrke: is urgency now in price

Gabbek: jrke yes

Hjax: i need to work out how i want to sim

kovi: argh

Hjax: hows it going kovi

struct: I guess kovi just got my bad news

jacek: huh

Gabbek: that's good news - as he'll be able to advance further now :D

Hjax: so are the top people already doing sims

Hjax: i still see a python in the top 10

eulerscheZahl: of course

jacek: at least one of them doing 5-ply search

jacek: though i think without opponent

Hjax: i see

DomiKo: 5-ply?

kovi: i add urgency twice then

eulerscheZahl: shipped my sim this morning (it's evening here now)

Hjax: guess ill need to get cracking on a sim

eulerscheZahl: urgency is now added to the input already, was changed recently

struct: "we've added the bonus-related info into the intput taxCount and tomeIndex for BREW actions now contain that data"

struct: from discord

struct: just now

ParticleBeam: What is the "urgency"?

Gabbek: I'm afraid I'll stay in bronze then :p

Hjax: ParticleBeam the bonus for doing potions at the top of the list

ParticleBeam: Ah I see. Thanks

ParticleBeam: Which one gives the bonus info? taxCount or tomeIndex?

Nerchio: its in the rules

Nerchio: refresh

ParticleBeam: Ah. Thanks

Hjax: i was musing yesterday about how good monte carlo would be at this game

Hjax: i dont think it would be amazing

eulerscheZahl: my MC was around rank 15, i replaced it now

struct: o.o

Hjax: but monte carlo approaches have been used to play card games successfully

Hjax: and this game is at least somewhat like a card game

Hjax: so i could see it working

eulerscheZahl: it did to some degree

AshKetchum: Do we have to keep track of the 4 times the first client gets potion brewed, or can we figure out that bonus ended just from that round's input?

struct: not anymore

struct: its given on inputs now

struct: int tomeIndex; // in the first two leagues: always 0; later: the index in the tome if this is a tome spell, equal to the read-ahead tax

           int taxCount; // in the first two leagues: always 0; later: the amount of taxed tier-0 ingredients you gain from learning this spell

Hjax: you still want to know how many bonuses are left

struct: oh wait

struct: thats old

struct: Its new now Hjax

kovi: it is also given

Hjax: to know if you want to delay making a potion until its moved up in the queue

struct: int taxCount; // in the first two leagues: always 0; later: the amount of taxed tier-0 ingredients you gain from learning this spell; For brews, this is how many times you can still gain an urgency bonus

struct: int tomeIndex; // in the first two leagues: always 0; later: the index in the tome if this is a tome spell, equal to the read-ahead tax; For brews, this is the value of the current urgency bonus

struct: Now its like that

Hjax: ah

struct: You get all the data

Hjax: i see

struct: also price has the price with bonus included

Hjax: so its looking like this is going to be a game i need to use Rust for

Hjax: if people are being sim heavy

AshKetchum: oh thanks struct

jacek: rust? :scream:

Hjax: my rust is better than my C++

struct: Ban rust

Hjax: although if i stick to java maybe i have a shot at #1 in the language ranking

Nerchio: no you don't

eulerscheZahl: :D

Hjax: oh right, you are playing arent you

Nerchio: :smiling_imp:

Hjax: big bully nerchio :P

struct: This is why I learned D

jacek: D has structs?

struct: ofc

Nerchio: wala is also good in java and he usually places high

Nerchio: btw is C# significantly faster than Java on CG? It shoudn't be I guess

Hjax: i beat wala in unleash the geek at least, i was second in the java ranking, after teccles

struct: C# has release on arena

struct: So maybe it has advantage?

Nerchio: writing any simulation in java makes me sick before i even start :D

Hjax: same lol

Nerchio: that's not a good attitude :joy:

ParticleBeam: Hmm. Time to try a more calculated approach

Nerchio: i wouldn't mind it usually but 50ms isn't that much of time so..

Hjax: yeah, and if you arent careful the garbage collector will happy pause your code for 30 ms

Hjax: happily*

Nerchio: can you be more positive you make me wanna learn C++ :D

eulerscheZahl: i can't compare C# to Java as I don't try to write fast code in Java. But I can tell that C# got significantly faster short before the last contest

Hjax: if i do a sim approach (which is looking likely) i could write it in java and then port to rust

eulerscheZahl: release mode helps a lot

eulerscheZahl: and .net core over Mono

Hjax: alternately i learn C# really fast lol

dreadylein: oh we now have release mode in c# ?

dreadylein: neat

Hjax: syntax is similar to java right?

dreadylein: yeah

Icebox: imagine relying on language performance LOL

struct: only on arena though

Icebox: *cries in python*

inoryy: still waiting for C++ -O3

dreadylein: like .. you can read the code instantly normaly

struct: ^

Gabbek: well - with python you can still do some basic search and get to top10 atm, I think

eulerscheZahl: when coming from Java, it's really easy to learn C#

Nerchio: well I guess i will write in Java and if it makes me mad i will try C# lol

Gabbek: I don't even have depth 1 search and it would help for sure

Icebox: oh yea I'm memeing

eulerscheZahl: it's only 1 day in the contest. give it another week and there will be mostly C++ at the top

Icebox: eulerscheZahl this is comparable to C4L

eulerscheZahl: less opponent interaction

Icebox: I'm willing to bet I'll put up a fight with python

Nerchio: yeah at the start of the contest you can get top with any language

Nerchio: usually it moves into most ppl C++

eulerscheZahl: and more important to find a good order to cast spells than C4L i think

eulerscheZahl: => search

struct: Icebox Why did you never switch from python for contests?

struct: Any reason?

Icebox: I do

eulerscheZahl: let's talk again next week

eulerscheZahl: if you are still here next week that is

Icebox: I finished last one with C++ struct

Icebox: eulerscheZahl that's some nerve assuming I'm gonna leave

Icebox: :D

eulerscheZahl: you are a player for the first weekend

Nerchio: read input and exit :grimacing:

struct: Icebox should start joining on the last days instead

Icebox: just cause you don't see me in top 10 after the first weekend doesn't mean that I'm not working on it

eulerscheZahl: oh

eulerscheZahl: you won this round

Icebox: last contest was an example of me sitting on a completely wrong approach and never gettint out of gold even with C++

Icebox: my experience is still incomparable with most of top players

Icebox: I'm fast but that's it

DomiKo: i believe that you don't need c++ in that one

struct: Im slow

struct: I never code anything for the first few days

struct: I wait until everything gets updated

Icebox: tbh I'd LOVE to see another 4h contest

aCat: :D:D

aCat: could be nice

Gabbek: aCat hello!

struct: As long as I dont have to wait 6 months to get a 4 hours contest

inoryy: botg ruleset

aCat: except CG performance issues

Icebox: yeah

inoryy: part of the challenge

Icebox: the website was down for 2h for me

Gabbek: finally I see you on a chat, would like to say thank you for LoCM! :D

Icebox: and I still managed to get top 10

Icebox: in 2h vs everyone elses 4h

aCat: you welcome :D

Icebox: which makes me both sad and hyped for next one

Gabbek: probably the only multi I've written a decent bot for :D

Default avatar.png DanTheMan832: the chat blocks out my code even when i collapse it what do i do?

inoryy: next one?

aCat: I oftenn look on the chat rarely talk - because then I don;t have time to do anything else ^^'

Icebox: what? you don't deem it realistic?

Icebox: another 4h contest?

Gabbek: hehe, noticed that's the case, started being a bit more noticable on the chat lately ^^

Icebox: I don't see why we couldn't have another 4h contest in 2021 or 2022 after a solid website performance updgrade

aCat: yeah, before I didn't see you much

aCat: you avoid joining our PL slack community?

aCat: I know Zylo spammed you about it :D:D

Gabbek: not really avoiding, more like just being too afraid for some reason - I'm a quiet person :D

Gabbek: guess I should change that, as I remember reading about the slack community once and then forgetting about it completely

aCat: you can listen instead of talking :joy_cat:

eulerscheZahl: or stay here instead of splitting our community further

aCat: :*

eulerscheZahl: i already find it bad that we have #Fr with little interaction to this channel

eulerscheZahl: typo, meant "sad"

Gabbek: not going anywhere eulerscheZahl - after all I'm doing exercises and multis mostly; pretty sure I'm too bad for contests yet.

aCat: youre right euler

Icebox: eulerscheZahl that's a strong statement for someone who's pretty active in "De" channel

Counterbalance: Gabbek looking at your rank i'd say you're ready

aCat: but global community uses voice rarely

aCat: and damn

Gabbek: speaking of release mode - space maze was the only place where debug / release was pretty much exactly the same for me, 1.9s to 2s :D

aCat: half are my students ^^'

eulerscheZahl: active on #De as in: "min"

eulerscheZahl: moin*

eulerscheZahl: i reply when i see a message. but i don't start a new conversation there

eulerscheZahl: and i wouldn't be sad if it was gone

Icebox: well you don't start a new conversation in general either :D

Icebox: or at least not during contests

Icebox: remember that my experience is only what happens during contests

[Csongor]: /me

eulerscheZahl: we have no general anymore. too many letter for the new design

RockyMullet: #Es is mostly people insulting Zarthax

Gabbek: Counterbalance my rank most likely won't change that much further, I simply don't have any good idea for fall challenge - started with heurestics since they are really simple, but that's about it :)

inoryy: 1 weekend gang

eulerscheZahl: it's Friday!

RockyMullet: 1 weekend ?

ParticleBeam: Oh. Friday 13th. Didn't notice

inoryy: code something up in the first weekend then pretend you don't have time anymore

eulerscheZahl: i noticed when i took off for the contest

dreadylein: @inoryy :D

struct: I don't mind using voice, but I rarely see anyone there

eulerscheZahl: that's his usual tactic

struct: At least that I can recognize

RockyMullet: inoryy hey stop leaking my strat

struct: I coded something for the first 10 minutes, got rank 1 and then stopped

StepiM: Hi! bided their time - is this TL or just some command from game?

Or64bit: Heys guys

Or64bit: Is there anyone online that knows c well?

struct: StepiM I did not understand what does TL stand for?

StepiM: Time Limit. Like, my code working > 50 ms on some step, or > 1s on the first

struct: on first turn you have 1 sec allowed on the rest 50ms

StepiM: yep)

StepiM: and my question is

StepiM: verdict - bided their time means TL or it is some game output?

struct: timeout?

struct: You get timeout when you dont output anything on time

struct: can be an infinite loop

struct: Or just taking over 50ms

cegprakash: how to read opponent's spells from input? or is it hidden?

struct: I'm not really understanding what you are trying to say by "bided their time"

inoryy: I suspect "bided their time" is the output summary for "WAIT" command

StepiM: I am talking about consol output, in Game Summary. There is written Stepim bided their time

StepiM: Thanks a lot!

struct: ah I never saw bided their time thats why I was confused, sorry


inoryy: bah

StepiM: Yep) It is not the problem. I just wanted to realize why my witch is doing nothing. That is the easiest answer! Thanks!)))

inoryy: StepiM join #ru btw

cegprakash: castable is used to track opponent's spells?

player_one: castable tell if the spell is exhausted or not.

cegprakash: so all spells in input are mine?

cegprakash: can I see opponent's spells

player_one: OPPONENT_CAST is your opponent's spells.

tomatoes: can

player_one: under actionType

[Csongor]: all actions that have the value of CAST are yours

cegprakash: thanks :)


cegprakash: I just made my ingredient enum

[Csongor]: ghost and moon should be the first 2

cegprakash: blue is a ghost? ::D

[Csongor]: or curved water drop

struct: What is last? a dorito?

cegprakash: Thibpat said it's called Dorito in his stream

cegprakash: so I'm using that

cegprakash: he reached wood2 to bronze top 150 under 2 hrs yesterday with dorito strat

tomatoes: will you stream? :eyes:

cegprakash: not this time :D

cegprakash: Diwali festival in India

cegprakash: so celebrating that and coding

struct: festival during epidemy?

cegprakash: haha

cegprakash: the curve slowed down

cegprakash: coz we slowed testing :D

Astrobytes: Happy Diwali cegprakash, may the light shine on your life

WINWINWIN: :D Anyway, no way to convince everyone not to celebrate Deepavali

Astrobytes: and you too WINWINWIN

struct: Here is becoming bad

WINWINWIN: Thanks Astrobytes@

struct: For business

struct: Today people started burning coffins to send a message

cegprakash: also death rate is like 0.014% in India among confirmed cases

cegprakash: coz our population so high

struct: 0.014?

struct: That seems way to low

cegprakash: I mean 1.4%

cegprakash: sorry

Astrobytes: You and your family have been OK ceg?

cegprakash: we took turns to get fever

cegprakash: we never tested

cegprakash: we are good now

Astrobytes: Cool, that's good


cegprakash: only around 5.5K cases in our city

cegprakash: in a city with more than 70 lakh population

WINWINWIN: Bangalore is terrible :(

cegprakash: so nobody really cares

Astrobytes: impressive for that size of population ceg

DomiKo: little question

eulerscheZahl: big answer?

DomiKo: how to make magic like emil.

DomiKo: yes

DomiKo: his bot knows if I'm playing with him in arena or in test mode

struct: With rust you can do that

Astrobytes: Reverse engineering emil gives lime. Thus, the answer is lime.

eulerscheZahl: rust has release mode in the arena

struct: because of what euler said

DomiKo: yes

struct: you want to do the same DomiKo?

DomiKo: yes

DomiKo: but If I can't

Zenoscave: does anyone do more than BFS Casting to complete

struct: Well use Rust or C#

eulerscheZahl: join the rust or c# side

DomiKo: I will pretend that I'm doing nothing

eulerscheZahl: (╯°□°)╯︵ ┻━┻

BloodyTurtles: rust!

Zenoscave: c#

BloodyTurtles: no, rust!

DomiKo: One day I will join Rust

DomiKo: for sure

[Csongor]: c#

BloodyTurtles: rust rust rust rust rust rust rust rust rust rust rust rust rust rust rust rust rust rust

[Csongor]: actually I code both

BloodyTurtles: lol

[Csongor]: but rust error messages in codingame

Zenoscave: I can't believe I used groovy for one of the competitins. I now have no motivation to modify it

[Csongor]: ...

BloodyTurtles: me too, though I like rust better

eulerscheZahl: on chromium the world chat already got unusable again :/

struct: Its working fine for me euler

Astrobytes: seems OK on Chrome

eulerscheZahl: on firefox it is

player_one: I just started a job that codes mostly in PHP, so I'm forcing myself to do this contest in only PHP so that I can learn it better.

player_one: I don't like PHP. :-(

inoryy: my condolences

struct: I feel you player_one

eulerscheZahl: torturing yourself in your free time

DomiKo: [*]

struct: I got a job for php, but I had to refuse

Zenoscave: We had an insult at a previous job. It went along the lines of "You're a PHP developer"

cegprakash: I code in js at work but I don't use it for contests

cegprakash: JS is crap

Astrobytes: lol Zeno

Gabbek: :D

cegprakash: I even have a meme page on instagram why JS is crap

BloodyTurtles: how do I improve in bronze league?

player_one: I actually quite like JS, though TS is even better, IMO.

BloodyTurtles: js=bad, ts=kinda good but not really

Robinsstudio: ts=beautiful

player_one: Ha! My previous job was mostly TS, and I LOVED it.

eulerscheZahl: why did you quit?

player_one: A lot of the fun was AWS, though.

Robinsstudio: TS took the best of JS and threw out the annoying parts.

Astrobytes: shouldn't that be js === bad?

cegprakash: insta id: javascript_parithaabangal

Zenoscave: lol

player_one: Big bad parent company decided to disband small subsidiary company.

cegprakash: follow me there if u hate javascript

Zenoscave: Ah the old RIF player_one

Zenoscave: been there

Astrobytes: I'm too boomer for instagram

player_one: I was given the option to join the parent company, but I didn't want to.

player_one: Very disfunctional company.

inoryy: jokes aside I think PHP is fine if you avoid the sharp bits and stick to well developed frameworks

Zenoscave: inoryy I agree. Just the signal to noise ratio of sharp bits is too steep for my liking

Zenoscave: but that could be said for generally any language

tomatoes: modern php as scary as java

Astrobytes: is it still all $'s?

inoryy: no it's $$$ now

Astrobytes: lol

Zenoscave: PHP jobs pay well eh?

player_one: Yeah, it's not horrible. I keep running into things that other languages can do in one or two lines that requires a lot more code in PHP.

eulerscheZahl: no Linq in PHP?

inoryy: I haven't worked in PHP for over 5 years now and still get random job invites every couple of weeks

player_one: Nope.

Zenoscave: I am over with Linq. too slow

inoryy: don't get where they find my profile lol but goes to show that it's quite popular

eulerscheZahl: i don't get any recruiters messaging me

player_one: I get recruiters contacting me all the time. At least a couple a week.

eulerscheZahl: sounds like i'm doing something wrong with my online visibility

eulerscheZahl: or right, not sure :D

Zenoscave: I get recruiters at least once a week. Sometimes multiple for the same job trying to out do each other. It's a nightmare

Zenoscave: eulerscheZahl you are at a decent job currently, no? I'd say obscure online presence is right then

struct: I think euler wants to join php

eulerscheZahl: yes, decent job, no need to change

eulerscheZahl: afk now, getting hungry

Zenoscave: ttfn

Zenoscave: nom times!

struct: ttfn?

Zenoscave: ta-ta for now


inoryy: talk to friend now

Zenoscave: I've never heard that version inoryy

inoryy: i made it up lol

Zenoscave: that may be why lol

struct: ihoib

Zenoscave: ihoib?

player_one: Well, on the plus side, I can say that I'm currently the #1 ranked PHP solution in the contest. :-)

Default avatar.png Avrem: how can you tell?

player_one: A dubious honor, I know, but I'll take what I can get.

struct: Zenoscave I was just messing with you

struct: sorry

player_one: You can filter the leaderboard by language

Zenoscave: struct no worries :)

WINWINWIN: Avrem, there are filter options on the leaderboard

WINWINWIN: Click on language option then "Same as Me"

Default avatar.png Avrem: I'm coming for you player_one

player_one: Go for it.

Maliamnon: you're also #3 USA (hi from #4!)

AntiSquid: good evening, did anyone setup offline without issues?

AntiSquid: i got this error : Error:(524, 23) java: incompatible types: java.util.Optional<java.lang.Object> cannot be converted to java.util.Optional<>

Default avatar.png Aniket1298: Hello

cegprakash: there is nothing we can do if we can do if we over cook?

cegprakash: say like 10 doritos

AntiSquid: what already 4k in the contest? :O

Default avatar.png Avrem: OK @player_one, you're too strong. Next version of the bot

Counterbalance: AntiSquid use JDK 1.8 instead of 1.11

aboukhri: guys what's about points , cannot understanding how theiy works

AntiSquid: hm ... i think i installed 1.11 for something else

AntiSquid: can i make it select 1.8 if i have both ?

Counterbalance: yes, though JAVA_HOME env var

Default avatar.png rmuskovets: aboukhuri what points? bonuses?

cegprakash: my current inventory is not given in input?

struct: it is

struct: on the 2nd for

cegprakash: sorry thx

cegprakash: i donno how I'm rank 81 in wood1 just printing random action without inventory check

cegprakash: I just rest every 3 turns and print random in other turns

Default avatar.png rmuskovets: wait 'till you're in bronze

Default avatar.png rmuskovets: it gets a bit more tough

OlivierRivoyre: Hi, how do we move from wood 1 to bronze?

cegprakash: OlivierRivoyre just rest every 3 turns and print any other valid move

cegprakash: i think that should take to bronze

cegprakash: I currently print lot of invalid moves but still at rank 77

OlivierRivoyre: I'm rank 3. And nothing happens

cegprakash: u are already above bronze

cegprakash: above boss*

cegprakash: u'll get promoted once 100% is done

cegprakash: wait for the progress bar to complete all games

OlivierRivoyre: Oh, ok, understood

Default avatar.png adimiclaus15: 5

hasleron: Is there any reason to use "Wait" rather than "Rest"?

sirsatan: dont think so

AntiSquid: thell ... CG lags

AntiSquid: lol

AntiSquid: is this the mod feature euler talks about?

AntiSquid: the hell *

OlivierRivoyre: Yes, "REST" when all is available do an error

OlivierRivoyre: an error made you lose

hasleron: oh I see

Default avatar.png Kolinko: is there a native Mac OS ide, or can I only program and play in the browser?

hasleron: I just tried it, it throws an error but I don't lose

OlivierRivoyre: I may be wrong about the losing game on error :/

jacek: you dont lose when you try to brew or cast when you dont have ingredients yet

hasleron: Defeat Conditions

Your program does not provide a command in the alloted time or one of the commands is unrecognized.

danlars: @Kolinko You can sync your file to the codingame platform

AntiSquid: here's my new powerful bot, click for replay: http://localhost:8890/test.html

jacek: hmm just checking if the spell wont overload my inventory gave me another few hundred ranks

jacek: maybe in this contest i will end up more than bronze

Astrobytes: Kolinko: or just copy-paste from your IDE to the CG IDE

Default avatar.png grechid: where is the x y position

eulerscheZahl: i just realized I didn't add all possible actions to my bot

eulerscheZahl: there is a WAIT command that I completely ignore

jacek: no point of WAIT ever eh?

eulerscheZahl: yes :D

eulerscheZahl: REST is a WAIT on steriods

NitMpez: is there a bug in the game that you lose spells?

eulerscheZahl: visuals...

eulerscheZahl: check the setting (gear icon)

NitMpez: ok

eulerscheZahl: confused the hell out of me

Default avatar.png grechid: how do I do the car race though

NitMpez: yeah, same

Default avatar.png Kiyanmehr: next_checkpoint_angle

Default avatar.png grechid: how

roglemorph: if abs(nca) > 90 thrust = 0

roglemorph: but better

jacek: CSB? w00t?

jacek: thats so last week

eulerscheZahl: or any other week, just not now

roglemorph: the potion too hard

Astrobytes: soften it

roglemorph: ;)

Astrobytes: :P

Default avatar.png grechid: :no_mouth:

Astrobytes: Check out some of the streams for the current contest roglemorph, I think there have been a few so far, might help

eulerscheZahl: 5 lie right now

eulerscheZahl: live*

Astrobytes: Otherwise, there are lots of resources on the forum for CSB

roglemorph: yeah thats how i got here its just alot

Astrobytes: take it slow, don't rush

eulerscheZahl: and my adblocker rule to hide doesn't work

Astrobytes: lol

eulerscheZahl: everytime the number updates, it's visible agaion

Astrobytes: 5 all streaming contest? Pretty cool

eulerscheZahl: and chat is laggy again

Astrobytes: Seems fine here

eulerscheZahl: wait, 1 of the streams is a clasher

eulerscheZahl: is nothing holy to them? not even a contest?

AntiSquid: is there a bug with the timeout? if someone times out do scores still get counted for both ?

eulerscheZahl: no, that's fixed

Astrobytes: lol, like the people asking for help with puzzles on the forum. Sacrilege!

AntiSquid: aha i have old version then

Astrobytes: The github is updated now? (haven't looked)

Scarfield: astroHeathen

eulerscheZahl: 5h ago

Astrobytes: Scarfilege!

Scarfield: xD


Astrobytes: Cool. Seems there may be another update coming

eulerscheZahl: yes

Astrobytes: Might wait til Monday before writing anything serious

Hjax: what are they going to change?

struct: just small bug fix

eulerscheZahl: related to urgency bonus shown/not shown

Hjax: ah

eulerscheZahl: and recurse is surprisingly well informed about bugs for one who isn't playing

Astrobytes: :smirk:

Icebox: I think I found another weird "bug"

Icebox: not entirely sure if inteded behavior or a bug

eulerscheZahl: PEBCAC

Astrobytes: hehehe

Hjax: recurse will just randomly upload a solver on tuesday, never touch it again, and win the contest

NinjaDoggy: nah...

Hjax: :P

NinjaDoggy: recurse will float mid gold/legend until the last day

NinjaDoggy: and then jump to first with a +3 margin

eulerscheZahl: poll is still open i think


kovi: karliso may not be hiding for now

reCurse: I'm not even in the poll...

reCurse: :'(

NinjaDoggy: lol

eulerscheZahl: "negligence" option

eulerscheZahl: i clicked that

eulerscheZahl: and 2 confused users voted for me. i'll show them wrong

Astrobytes: You could be either of the top 2 options really reCurse

kovi: i wonder if psyho spend more than 1 day on this

Astrobytes: lol euler

reCurse: kovi: He's busy with topcoder

eulerscheZahl: psyho mentioned a topcoder finale

kovi: ah true

kovi: vs. tourist

AntiSquid: oh you can vote trump now

Astrobytes: is that all week or will he come back for this

Psyho: around 3h

Astrobytes: ?

AntiSquid: on the CG poll

eulerscheZahl: good luck Psyho

kovi: gl

AntiSquid: gonna submit fake ballots to win the poll

Psyho: thanks

Astrobytes: yeah good luck

Icebox: tome.add(new TomeSpell(new Recipe(-5, 3, 0, 0))); is how a -5 +3 spell coded, but in game the spells appears as

Icebox: so does the 2nd integer correspond to 3rd tier ingredient?

Icebox: or is it a visual bug

Psyho: ah lol

kovi: interesting. half a dozen new japanese in the top20

reCurse: Visual bug I think, code works fine

Psyho: Icebox: it makes sense since in that list 3rd ingredient is worth "more" than a 2nd one

Astrobytes: Chokudai effect?

Hjax: i wonder if the contest got promoted on some japanese programming website or something

reCurse: chokudai probably brought a lot of exposure to CG last time

Astrobytes: Yeah most definitely

kovi: nope. none of them from the topcoder group (val, kaw, siman)

kovi: ok, except iwashi

Default avatar.png Kolinko: hey, any way to speed up the testing? I click "play my code" and it takes like 5 seconds per each turn

Icebox: I don't think it's a visual bug @reCurse because my code compares a potion with a lost of existing potions and doesn't find a match

Astrobytes: Yeah but I'm sure there were lots of new users due to chokudai's promotion of last contest kovi

Icebox: a list*

kovi: i c

AntiSquid: kawano was there

reCurse: There was a bug I reported Icebox

reCurse: Sometimes the given recipe would be wrong

Icebox: has it been fixed?

reCurse: Deployed as of 5 minutes ago

Icebox: :o

Barimehdi77: is it 1 ingredient form tier-0 make 1 ingredient from tire-1?

Barimehdi77: and go one

Barimehdi77: on*

struct: You make igredients from spells

Astrobytes: check discord Icebox

Barimehdi77: yes but when I want to cast tier-0 to tier-1 that's mean I need one tier-0, right?

struct: you need to check which spells will give tier 1, but yes there is 1 spell that gives 1 tier 1 for 1 tier 0

Icebox: which channel Astrobytes?

Icebox: which message to you mean exactly

Barimehdi77: okay thank you

reCurse: #fall-challenge-2020 icebox

Astrobytes: ^

Astrobytes: scroll up a wee bit

Icebox: okay I finished reading through all of it

Icebox: and I'm not sure if the bug I'm referring to is there

Icebox: basically

Icebox: [ 0 -2 -1 -1]

Icebox: is the input for a potion

Barimehdi77: why in the for loop of inventory read data twice ? "for (int i = 0; i < 2; i++) {"

Icebox: and if you look at github

Icebox: such pot doesn't exist

ZarthaxX: Barimehdi77 2 players

reCurse: You're wrong it's there

Astrobytes: HelpfulZarthaxX!

reCurse: Icebox

ZarthaxX: AstroMod!

Astrobytes: heh, how's things man?

Icebox: a 0, 2, 1, 1 potion?

reCurse: Yes

Barimehdi77: how can I know which one is mine?

jacek: first i

GiraffeKing: First is you

jacek: always

Astrobytes: First one, it's in the statement Barimehdi77

ZarthaxX: Astrobytes gud gud, gonna do some proyect with ppl from uni

ZarthaxX: you?

Barimehdi77: thank you guys

Icebox: can you link me the line in github? @reCurse

Icebox: because either you're looking at something different or I'm blind

Astrobytes: Cool, as long as you're not doing all the work! Yeah same old crap here ZarthaxX


ZarthaxX: Astrobytes well, im kind of doing most of it, sooo :D

Astrobytes: :D

ZarthaxX: but it's ok as its about graphs and optimization

eulerscheZahl: i still don't understand the bug from discord that got fixed a few minutes ago

ZarthaxX: the problem we are dealing with is called maximum impact coloring

Icebox: oh jesus you're looking at a branch

eulerscheZahl: meh, i guess it doesn't matter anymore

struct: euler the price that was given on inputs was the one showed on screen, but the next input was showing as there was a +1 bonus, but the next variable said otherwise

struct: The price did not have the +1 bonus

Astrobytes: what's that? Like how many other vertices the coloured vertex can reach or...? ZarthaxX

reCurse: branch?

eulerscheZahl: meh, not even sure if i will bother adding the urgency bonus to my sim

struct: Can't hurt

Icebox: check discord @reCurse

ZarthaxX: Astrobytes you are given 2 graphs

ZarthaxX: you want to color the first one

ZarthaxX: and you win points if 2 nodes are colored the same and are linked in the second graph

Astrobytes: Ah, I see. Hence the maximum impact part

Astrobytes: Cool

ZarthaxX: yes, its cool haha

Astrobytes: So you're doing all the work and the others are fumbling around trying to find a pencil

ZarthaxX: nah nah haha, but i tried to do a lot before the contest obv

Barimehdi77: if castable == 1 that's mean that the spell is castable?

Astrobytes: Yep

Astrobytes: afk 5 mins

cegprakash: Barimehdi77 means it has cooldown.. doesn't guarantee you've enough in inventory

jacek: i havent seen MSmits, is he in contest?

Counterbalance: i saw his bot on the leaderboard

NinjaDoggy: seems like he made it to bronze and then stopped for now

ParticleBeam: he is in there somewhere

Astrobytes: he'll be busy encoding everything into uints and optimising his sim ;)

jacek: and opening books

Astrobytes: lol

Counterbalance: lol

Astrobytes: He always takes a few days out of chat to focus during contests

AntiSquid: belated lol

CyrilMtl: Can someone explain to me the 'taxcount ?

struct: CyrilMtl you need to pay a tax for every spell below the one you want

struct: each tax is 1 per spell bellow the one you want

Zenoscave: It is the number of tier-0 you gain from doing the learn

CyrilMtl: taxCount the amount of tier-0 ingredients you will gain by learning this spell if this is a tome spell, 0 otherwise.

struct: so if you want to learn spell 3, you need to pay 1 tax to spell 1 and pay 1 tax to spell 2

CyrilMtl: gain = I will get ?

Zenoscave: yes. If someone else tried to lear a later spell

Zenoscave: learn

struct: You gain if the spell has tax acumulated

CyrilMtl: Struct, that;s tomindex

CyrilMtl: I see taxount higher than 10, how is it possible

CyrilMtl: I see taxcount higher than 10, how is it possible

jacek: watch replay and youll understand

reCurse: The excess is discarded.

CyrilMtl: there isn't way to know the bonus associated to an order ?

NitMpez: have to keep track your self

ClockSort: they added that to the API recently, see

CyrilMtl: Thanks.

ClockSort: in fact, TomeIndex now contains the bonus (and price has it added in)

ClockSort: that's what I heard, anyway. Haven't tested it yet

NitMpez: thought we were talking the +3 +1 bonus from brewing

CyrilMtl: I think like all previous game, the first two league are far too easy, basic raw code jump both of them without time to refine/debug/learn, and suddently you are hit with all rules and have to do a full refactor of your code

ClockSort: @NitMpez yes.

LastRick: Never played a contest on here before but would agree. If my codes in Wood and Bronze were an indicator, I might as well have been playing two different games

Astrobytes: Yeah, it's a common complaint from many CGers

Astrobytes: Best solution seeming to be a way to skip Wood if you like

Astrobytes: Still, you can get full rules from the github repo, but it doesn't make it any more convenient

CyrilMtl: I would have a wait a day before opening league 2 an other one for league 3. But I guess with lots and lots of people stuck in league 1, battle would be slow, costly in cpu and $

Uljahn: sometimes they provide a starter code which simplifies suffering a bit

LastRick: fair point

NinjaDoggy: is there a way to find out which tomes are repeatable casts?

NinjaDoggy: the github page only shows the delta for each tome

NinjaDoggy: but not if it's repeatable or not

Astrobytes: Yeah, not sure why they introduced the starter AI's and then stopped them again

Xenoid: I believe every tome spell with a cost is repeatable

Uljahn: yes, repeatables do have negative deltas

NinjaDoggy: oh really?

NinjaDoggy: ok thanks

MindController: Do we have more turn time in ide than in arena?

Uljahn: that's somewhere in the code

Xenoid: repeatable = IntStream.of(

           .anyMatch(x -> x < 0);


Beresta: wait, are the default ones repeatable too? (except first)

Astrobytes: there're a few ms difference on submit MindController

Uljahn: some langs are in debug mode when run in IDE i guess, so they could be much slower than in areana

Uljahn: *arena

MindController: When im getting timeouts in arena, its impossible to get timeouts in ide even in same conditions

BrunoFelthes: laguages with garbage collector is very bad here at coding game

Uljahn: ah, you should read CPU info and output it as a message in replay, you can be given 5 different types of CPU afaik

NinjaDoggy: with the exception of the default ones i guess @beresta

Astrobytes: 5 now?

Uljahn: or even 6

Astrobytes: ugh

NinjaDoggy: for garbage collecting languages like java

NinjaDoggy: it's best to initialize all the memory you need on turn one


NinjaDoggy: and then update them on future turns

Uljahn: *GHz

Astrobytes: that goes for C#, and C++ too if you need something like MCTS nodes

wlesavo: garbage languages*

wlesavo: :smiley:

Astrobytes: thx Uljahn

NinjaDoggy: lol true :(

Counterbalance: oh it doesn't run on potato powered i386? :)

Astrobytes: :grin:

reCurse: Haven't been on the website for a while but is it insanely freezing every few minutes for anyone?

struct: its because of chat world window

reCurse: Drives me nuts every time I alt tab it takes forever

struct: Since you are mod you will get freezes

Astrobytes: Yep

reCurse: ffffff

Astrobytes: It's OK mostly but it has its moments

NinjaDoggy: lol rip mods

struct: euler mentioned that he had less problems if he uses firefox

struct: With chromium it gets worse

reCurse: firefox doesn't have a good file sync option

Subsage: how is team ranking done? is it just an accumalation of points of all members, or something more averaged out??

struct: I guess you can have firefox just for having chat open

struct: and then ?disableChat

struct: on the one you are using to code

Astrobytes: Highly annoying

wlesavo: but its not just chat, whole page freezes

struct: Subsage How are the school/company leaderboards computed? We take the sum of points of the top 5 players in each company/school with at least 3 players. More info in this forum's thread.

Astrobytes: Oh you have the same issues wlesavo?


Subsage: I see, thanks Struct

wlesavo: Astrobytes yeah, also with chrome

Astrobytes: Is this with the IDE open wlesavo?

MindController: Repeatable spells can be cast unlimited amount of times in the same turn?

ParticleBeam: Apparently

ParticleBeam: As long as you have the ingredients

CyrilMtl: in the same turn ?

yhyoxx: yup

CyrilMtl: multiple command in the same turn ? I miss that

ParticleBeam: Not different commands, just the one multiple times.

CyrilMtl: ok

yhyoxx: like "CAST 70 3"

Default avatar.png EvoMate: oh, I missed that too, thanks

CyrilMtl: yes I remember reading that, My code isn't that good yet :)

yhyoxx: same ;_;

alex-gee: can i get test data with bot somehow to debug locally>

alex-gee: >

alex-gee: ??

struct: yes

struct: you can run the referee offline

alex-gee: how?

yhyoxx: enlighten us

struct: let me see if I can explain, my terms are not very good

struct: So referee is available here


struct: If you run this java file


struct: And replace the Agent by your bot

struct: for example if I wanted to replace by a cpp bot

struct: I would compile it

struct: and replace gameRunner.addAgent

struct: by gameRunner.addAgent("path to compiled file", "struct");

NinjaDoggy: alternatively, you can have your bot output the inputs each turn

NinjaDoggy: and then run it locally that way :)


struct: Also when you run it you can see the replay at localhost:8888/test.html? if im not mistaken

Astrobytes: Also, when you have an offline system running this may be useful:

Astrobytes: And I would use a method similar to NinjaDoggy for offline,it should generally be a bit/lot faster than the runner itself

cegprakash: I'm getting promoted to bronze with going for lowest rupee potions :D

cegprakash: not sure if I'll get a good rank in bronze with this

Nerchio: gratz

Astrobytes: congrats ceg

RockyMullet: tbh brew values is not that important

Astrobytes: as long as you get into bronze it's fine!

RockyMullet: since the game is over at 6 potions, being the one at 6 potions often means you win, since you have 1 more potion

Zenoscave: Interesting Rocky.

Astrobytes: Liking the game any more Rocky?

ParticleBeam: I wondered about that

Nerchio: how the hell do i even start a search when i got like 12 spells in the inventory and i don't know which to use :D

RockyMullet: Astrobytes I pushed a first depth 2 search, I think it'll be better

reCurse: With the first one

RockyMullet: but I feel I'll get bored before long

Nerchio: first spell is weak i don't want to use it :<

Astrobytes: I've not done anything serious yet, think I'll wait til Monday, and we'll see

RockyMullet: there's not enough interaction between players, so not my kind of game

RockyMullet: it feels like an optim game where the other player can kind of be in your way

cegprakash: going for smallest price worked in wood2 coz I aim to end the game very quickly

cegprakash: instead of dragging the game for 100 turns

cegprakash: but bronze does not end with 3 potions it looks like

Astrobytes: I'm not fussed on C4L or CalM and this triggers my meh-sense in a similar way, guess I'll try a bit though

RockyMullet: yeah I mean, it's a CG contest, I gotta at least try :D

reCurse: c4l had way too much randomness and bizarre interactions, calm had mind-numbing levels of frustrations cooperating with bots, this is way better imo

RockyMullet: but I doubt this one will be my favorite contest of all time

Astrobytes: And I can't complain about the game itself btw, just my personal opinion

RockyMullet: reCurse yeah I still like it more than C4L

Astrobytes: Yes, as a game it's pretty solid, I agree

Nerchio: i was prepared for another 2d grid contest :<

RockyMullet: yeah the game is well done, just not my cup of tea

Doju: Hey, umm... I've been trying to fix this thing for many hours now but can't find the issue

reCurse: Not your cup of potion I see

Doju: i'm subclassing a class

RockyMullet: Nerchio I spent month coding a visual debugger for a CG 2D grid game...

Doju: and defining a method in the new class

cegprakash: how many spells can we learn

Doju: but my instance can't use that method for some reason

RockyMullet: and its the first game not on a 2D grid in a while, im cursed

Nerchio: nice Rocky :D i only know how to play 2d grids :D

Doju: python 3 btw

Astrobytes: lol Rocky

Nerchio: i am sitting since 2 days thinking what i wanna do in this game

reCurse: Your inventory is a 2d grid

Zenoscave: rip in peace Rocky

Zenoscave: F

reCurse: Ok I'll show myself out

Astrobytes: hehehe

Zenoscave: nice one reCurse

RockyMullet: reCurse yeah I though of forcing it in a 2d grid just to use it :P

Nerchio: Doju no idea maybe you initialize it with the parent class or something

cegprakash: okay so some dishes require 5 dorritos omg

RockyMullet: I did it because for pacman, I made a sim in the last weekend and it was bugged and worse than my heuristic and it was frustrating to not know why

Astrobytes: Well, I guess using matrices here wouldn't be insane

RockyMullet: I guess I'll be able to debug old games with it, and hopefully a futur contest on a 2D grid

cegprakash: is anyone working with bitmasks?

Astrobytes: Not a wasted endeavour indeed RockyMullet

Astrobytes: Not yet ceg

Astrobytes: (me I mean)

dbf: RockyMullet, have you checked this tool for visualization: ?

RockyMullet: I'm a big fan of debug tools :)

cegprakash: Quaternary masks I mean

cegprakash: bitmasks are too mainstream :D

RockyMullet: dbf oh didnt see

Astrobytes: lol wot

struct: Im currently raytracing

struct: Should be done in the next 5 years

Astrobytes: raycasting NN I hope

Zenoscave: raytracing some space maze?

DomiKo: I'm parsing my weights for NN

struct: NN is way too mainstream

RockyMullet: depth 2 sim got me from 60th to 25th :D

RockyMullet: not bad

Zenoscave: Full search you mean Rocky?

Astrobytes: Just for your own actions?

andrefpoliveira: I dont know how to do sims :sweat_smile:

RockyMullet: Zenoscave its not full yet, I dont check for multiple brewing yet

Zenoscave: Me either

dbf: RockyMullet, this one has some nice features like rewind, so you may add them to your tool also :)

Astrobytes: andrefpoliveira: you "just" have to implement the game mechanics so you can play a turn accurately - it's not as hard as it sounds

yhyoxx: who knew

Astrobytes: the hard part is to be competitive enough with it ;)

reCurse: Might be the easiest sim you'll write on CG

RockyMullet: mine so far is based on "states" with "values" in it, so a state would be something like a turn, or a single sim, then values would be something like the score, or a wall or something. Then I have a grid with buttons, where I can have tooltip showing me the values on that cell, or go deeper in another position state in case I do a sim with depth, also have a timeline to go between game turn states

Nerchio: and then you realise you run out of time and you didnt find anything

RockyMullet: my goal was to make it easy to use with different games, so I case use it quickly during a contest

Nerchio: sad panda

Astrobytes: What did you use to write your tool Rocky?

RockyMullet: Unreal engine lol

Doju: whatt

Astrobytes: lol wat

RockyMullet: I started to use unreal a couple months ago, so I felt it would be a learning experience at the same time

Astrobytes: Fair

RockyMullet: it's in no way the right tool for it haha

Astrobytes: Bit overkill though

struct: I feel like the easiest sims I wrote on CG was STC

RockyMullet: yeah, mostly why I didnt share it yet

RockyMullet: a bit too much data

reCurse: lol what

RockyMullet: struct yeah took me like an hour, was pretty easy

reCurse: I can think of several games with easier sim

struct: I havent played a lot

Astrobytes: Oware I think was the easiest I've done, maybe

RockyMullet: I guess games with easier sim I just dont do a sim on them :P

yhyoxx: nice

struct: But when im saying STC im kind of joking tbh, I spent quite a bit of time on it with optimizations

yhyoxx: what's a sim ?

reCurse: Virtual person

andrefpoliveira: Simulation

Zenoscave: reCurse do I need to ready my popcorn?

reCurse: :popcorn:

LastRick: Oof, bronze sure got tough over the course of the day

Zenoscave: It does that usually

Zenoscave: ;)

yhyoxx: who else is bronze on every game ?

yhyoxx: literally every game that has ranking

yhyoxx: im terrible

Astrobytes: Nonsense. You're learning right?

Doju: Oh, found the bug....

LastRick: i'm not terrible. I'm just average (which is worse iyam)

xineohp: What's after bronze?

Zenoscave: silver

reCurse: Silver

Doju: Had "__new__(self..." instead of "__new__(cls..."

LastRick: opens in two days. So traffic is backing up here in bronze

reCurse: Might be the biggest bronze league CG has ever seen?

xineohp: Is anyone on silver?

LastRick: hasnt opened yet

yhyoxx: so some people are just gonna find themselves there when it opens ?

LastRick: good q, curse. My first contest so i dont know. but it sure is much busier than normal round these parts

reCurse: Contests really bring the life to the site, too bad it's twice a year now

yhyoxx: that's what's making it special

struct: yhyoxx, yes, it opens 16-11, all the people above the boss will get instantly promoted, the boss is chosen by CG and will probably be a person in top 40%

struct: of bronze

Whiskee: I personally find singleplayer puzzles kinda boring, they're high quality and well made but I can do so many other things with my time

Whiskee: a dynamic ladder is what makes this really fun to me

struct: Whiskee there are plenty of multiplayers

struct: Sure they are not very active

struct: But there is a long list

Whiskee: yeah, but a big event is always special :)

Whiskee: there's a ton of people throwing code at this

Astrobytes: reCurse I know right, 2 a year doesn't do this place justice. I get their reasons but... :/

MindController: Can some1 help me a bit with c++?

MindController: If i want this to work for about 37 miliseconds wiht code like this

MindController: (float)(clock() - t)/(CLOCKS_PER_SEC/1000) < 37

MindController: Why does it sometimes go over 50 ms?

reCurse: clock is bad

reCurse: Use std::chrono::high_resolution_timer

Zenoscave: or std::chrono::steady_clock

Zenoscave: (might be outdated info I rarely lookinto c++ anymore)

reCurse: Shouldn't matter

Zhmyh: Why is clock() bad? Isn't it fast?

reCurse: Poor resolution

Zenoscave: right, I doubt c++20 is on CG.

Zenoscave: or 2y or whetever the tag is

DomiKo: MindController we don't use clock since c++11

reCurse: Even before we didn't use clock, we just resorted to platform specific apis

reCurse: At least not for sub-second tasks

MindController: Guys dont be harsh, im just a student trying to have fun

DomiKo: just saying ;)

Zenoscave: Just giving advice. no harsh meant here :)

reCurse: Intent is to be informative

MindController: I know guys, just joking :D

MindController: Extra info is always nice

Zenoscave: romka messed my submit! Had a good streak going :(

DomiKo: legend will open on thursday?

reCurse: Friday

DomiKo: long time

reCurse: Yeah -_-

Illedan: Yeah, kinda sucks to submit in this league

linjoehan: we don't use clock? man no wonder I can't win

reCurse: gg

DomiKo: long time to see real big boys come to business

Astrobytes: lol, hey linjoehan

linjoehan: hey man long time no see Astrobytes. my falut. I know.

Astrobytes: Where've you been?

linjoehan: the word busy is what I will go with. It's ironic that I code less when I get a job to code.

Zenoscave: sounds about right

Zenoscave: Software Engineering != writing code all day

linjoehan: well I've quit and now I can code again. Well for now anyway.

Astrobytes: Most jobs are like that. Spend more time wrangling with management.

icecream17: Okkkkk finally won all 10 games in wood 1

Astrobytes: all 10?

icecream17: uh yeah

Zenoscave: first 10

linjoehan: the first 10

Astrobytes: ah

icecream17: ohhh oops

linjoehan: you will come to bronze soon then

icecream17: if i happen to win all my games ill let you know lol

NinjaDoggy: i went 25/25 in wood 1 with a bfs :D

icecream17: oh what ... i am actually winning all my games

NinjaDoggy: haven't changed my bot since then :(

Astrobytes: you'll be in bronze soon, you were near the top no icecream17?

linjoehan: I got to bronze by adding a random in there somewhere

icecream17: Oof, 27 in a row then lost #28

icecream17: Still amazing though

linjoehan: Is Bronze all the rules?

linjoehan: I should just go look myself I suppose

Astrobytes: yeah

linjoehan: So I should ask what is this game based on?

Astrobytes: Spice Road something

icecream17: 5 people above the boss, wonder what's the record

reCurse: Should look up one of the times CG got DDOS'd by CSB promotions

Astrobytes: linjoehan: Century: Spice Road

reCurse: Maybe around 150 or 200.

linjoehan: thanks

icecream17: oh yeah bronze!

Astrobytes: reCurse: "one of the times" - heh, plenty to chose from there

Astrobytes: I swear I remember them saying they would "do something about that"

reCurse: Maybe they did, hard to know

Astrobytes: This is true.

Astrobytes: Anyways, I'm out for today, nice to see you around chat (and contest) again reCurse :)

reCurse: Same :)

Cappefra: did the available input just change?

reCurse: A few changes happened earlier today

icecream17: Oh, in the summary of new rules, it says "All the rules are now unlocked!"

Cappefra: where's the boilerplate for the input reading?

icecream17: source code:

icecream17: oh, uh

reCurse: First backup your code elsewhere

Inc_: Something is wrong with the game message: Everything else is fine (gained ingredients, graphics).

reCurse: Second click the button looking like an undo arrow top right of code

reCurse: It will reset to template

Cappefra: oh thanks!

Inc_: related to the bug: Round 65

icecream17: wow, i totally misunderstood that question

Inc_: But you can't see the game summary there.

Default avatar.png Rdjdv: I discovered that you can play by hand there:

tomatoes: it seems message generated after actions taken


CyrilMtl: it is not possible to get the seed to use it in our code ? to generate randon but repeatable random ?

reCurse: Not possible

Default avatar.png rwilson: CyrilMtl - you can create your own though --- and many people will hate you if your bot is good ;)

Illedan: CyrilMtl, just use the stats of the input. Should be random enough

ShinzoSin: hi, could anyone tell me how to get id af all avalible recipes in FALL Challenge? I have id but that only one recipe...

BrunoFelthes: is there any way to expose gc in javascript?

CyrilMtl: good idea

icecream17: gc?

Maliamnon: ShinzoSin -

BrunoFelthes: my javascript is timing out with 40ms because of garbage collector

icecream17: javascript has a garbage collector...

BrunoFelthes: i want to force it between rounds

reCurse: Nice try, won't work

ShinzoSin: yeah cool, but I want to know what recipes are avalible at given time, and I can't understand how to know what on plate, so that i could compare options in my code

icecream17: there are 42 recipes,

icecream17: but

icecream17: you can only see 6 every turn

Illedan: BrunoFelthes, you have no CPU power between rounds. Better to save everything in some static context and hope you don't hit max memory

icecream17: tomeIndex, in the actionCount lines, shows the index of the tome

icecream17: from 0 to 5

icecream17: you can see all the tomes unless you're reading input incorrectly somehow

icecream17: oh wow, i got 6 potions, which ended the game, but i still lost

NinjaDoggy: wow... bots are weaker than I thought hm...

NinjaDoggy: learn the first tome available for the first 10 turns, and then bfs for fastest potion

NinjaDoggy: does quite well lol

icecream17: i wonder if there's another way to figure out the fastest way to make a potion

Illedan: Another than what?

NinjaDoggy: you can probably do some matrix inversion stuff

NinjaDoggy: but with good tome selection

NinjaDoggy: potions get made really fast

Default avatar.png lNitsua: I'm planning on doing a matrix based solution

Default avatar.png lNitsua: minimal bfs work involved, slightly more maths

icecream17: i did an inefficient and inaccurate while-for-for loop, but it works pretty well

icecream17: the loops aren't very long so

ShinzoSin: thx @icecream17

ShinzoSin: I found my mistake hx to you

ShinzoSin: thx*

icecream17: you mean a bug lol

icecream17: i have a lot. well not now, i think ive fixed them all

ShinzoSin: no, thing hwat yu've said aboutu reading input incorrectly

icecream17: oh yeah well, you're welcome =)

ShinzoSin: now i finally got the hang of it

icecream17: I'm wondering how to calculate to fastest way still, i've got a test case already, maybe this could be a puzzle

NinjaDoggy: personally, i'm just trying all possible moves and it does fine

NinjaDoggy: obviously a lot of optimization can be done, but brute force is already decent

Doju: Wow

icecream17: hmm, i don't really see how it could be done other than brute force

Doju: my crappy bot that doesn't even think about the possible potions

Doju: put me at rank 4 atm hahah

Doju: oh wait there are leagues yeah right that makes sense

icecream17: i wonder if it's possible to tell if it's impossible to do a potion

Default avatar.png JamesOnnen: it is

NinjaDoggy: it's basically always possible to do a potion

NinjaDoggy: unless you overcrowd inventory space

Zenoscave: ^ this

icecream17: oh yeah, that makes sense

icecream17: i forgot about the base spells

icecream17: hmm, maybe the base spells could be optimized

Default avatar.png JamesOnnen: ac8e06e7-9c08-43dc-8416-79034d54d361

icecream17: oops i pressed test instead of play my code

Zaphus: how much better would it be if Codingame highlighted the matches you timed out in, vs the ones you just lost... :-) searching

Cappefra: is it wanted that the price of a brew already includes the tomeIndex?

Cappefra: I was working under the assumption I would have to consider the value of a brew to be price + tomeIndex

icecream17: The protocal says that price includes the urgency bonus, if that's what you mean

maxymczech: Guys, can you answer a question about learning spells please...

icecream17: ok?

maxymczech: If on the same turn me and opponent want to learn same spell, what will happen?

Default avatar.png RohanasaurusRex: I'm pretty new to programming and this website looks really nice. Does anyone happen to know any websites similar to this one that I could also try? Thanks

Cappefra: oh yes ok @icecream17, I misread it then

icecream17: tecnical details says you both will succeed

Nerchio: Rohan i will save your time searching, stay on CG :p

icecream17: "When both witches perform the same action, they both reap the rewards for that action. This applies namely to potion prices, the urgency bonus, the read-ahead tax, and learning spells."

Default avatar.png RohanasaurusRex: Oh ok lol

maxymczech: @icecream17 Thanks but rules also say "Once a witch has memorised a spell, that spell dissapears from the tome completely and is no longer available to the other witch"

icecream17: yeah, but it's at the same time so....

icecream17: Both witches memorize the spell

NapTown: that would apply to subsequent turns, not the same turn

maxymczech: Ok thanks!

icecream17: and then, the spell disappears

maxymczech: @RohanasaurusRex There are many sites with coding problems. Try Codewars. Matlab has "MATLAB Cody"

maxymczech: Also hackerrank

maxymczech: Those are I know about

maxymczech: Those are the ones I know about

Default avatar.png RohanasaurusRex: Thank you


Beresta: ouch, so if you get 6 potions first but have less rubies you still lose :(

Default avatar.png lNitsua: So just found that linear algebra is not the move

Default avatar.png lNitsua: anyone here doing trajectory optimization?

Default avatar.png lNitsua: I think this is an ideal trajectory optimzation game, I'm just new to the topic

icecream17: i just diff the inventory and delta, and add until there's no negative amounts for the recipe

LastRick: Beresta: Yeah, guess because it forces the player to think long term rather than many, quick potions. Which makes for a more complex game

Beresta: LastRick: yea, I've made a wrong assumption :)

LastRick: hey, so did many of us, i imagine

Beresta: rank 38 so far

Zaphus: Is there any way to know how many potions your opponent has brewed so far?

blasterpoard: track how many times his score changed

Zaphus: ah, clever :-)

Ekaon: Sooo ! Can we talk about the random choices that launch you trhough the leagues ? x)

dreadylein: mh ?

dreadylein: the bug fixes ? :D

blasterpoard: actually, there's not that much randomness in the game if you code your bot properly

Ekaon: I created a selection of valid choices, and I just choose one of them randomly. Eventually, I finish first

maxymczech: Does it work in bronze league? :)

Ekaon: It's longer, but yes

Beresta: well you won't get higher than bronze this way anyway

Beresta: and bronze is where it actually starts

Zenoscave: I somehow doubt that strategy will continue to work

Beresta: wood is like education

Ekaon: It was just for fun while i'm working on true algorythm

dreadylein: well if you actualy statistical evaluate this part you allready have a mc, i guess it isnt optimal but for sure useable to some degree

Ekaon: Actually, if you combine this with a bit of other logique it achieve a lot

Ekaon: But it only works because there is a lot attempts

dreadylein: dont think i can follow you , what do you mean ? :)

Ekaon: I mean, to go through the wooden, I needed to select valid choices, and add a random rest some times to let him no always rest when he has no other choices

dreadylein: yeah, random valid choice is fine for getting to bronze thats right :)

dreadylein: used the same for unlocking the rules

Ekaon: Now that I'm in bronze, I need to remove some others choices relatively to the tax

maxymczech: Funny thing, I am in bronze, didn't code learning spells yet. I have compared 2 stratgies - go for recipes with highest price, and go for fastest recipes. They both suck, but 'fastest recipes' actually outperforms 'biggest price'

Ekaon: No, I mean, I should reallly create the tree parsing to find the best cast to the faster brew. But, then, I could try again to use random x)

Ekaon: Yeah, because fastes end the game

maxymczech: WIth 'biggest price' I was in 1200 place, with 'fastest' in ~700

Ekaon: In wich league ?

maxymczech: bronze

Ekaon: You take in account the fact that the opponent can steel the brew ?

maxymczech: No, I only do A* search for each recipe and select action towards either fastest or most expensive

Ekaon: Maybe it would help to take in account that the brew list can change each turn to correct your goal

Zenoscave: blasterpoard do you go for multi brew search yet

maxymczech: What's a "multi brew"?

Zenoscave: Find multiple brews in the search and plan routes many turns ahead

Ekaon: It's kinda funny that this tornament comes, because I'm working on chessengines since feew days

Ekaon: And there's a lot of tree parsing to determine the best moves list

blasterpoard: Zenoscave lol, why do you think I search for a brew?

blasterpoard: sim and eval

blasterpoard: brewing is just a part of eval

maxymczech: @Ekaon Tomorrow I will modify my search algorithm to incorporate learning spells and repeatables, then will see what comes to mind

Zenoscave: Right but do you stop eval after first brew

maxymczech: good night everybody!

blasterpoard: no

LastRick: night

Ekaon: good night !

Zenoscave: night! I think that's what I'm missing

PatrickMcGinnisII: nah

blasterpoard: I can tell you that right now I search to depth 20

blasterpoard: then I eval

blasterpoard: but that's just a random number and I haven't tested any other values

PatrickMcGinnisII: damn, i dropped 1000 places overnight

Zenoscave: lol it got competitive PatrickMcGinnisII

PatrickMcGinnisII: well I didn't submit a treebot yet

dreadylein: true, the amount of people actively playing is pretty nice :)

Ekaon: Is it possible to have several files ?

PatrickMcGinnisII: so anyone below top 2k isn't trying

icecream17: top 1000 yesssss

icecream17: oh no i jinxed it i just lost 2 games

Zenoscave: lol icecream17 never say success during submit

PatrickMcGinnisII: too many pomegranate mojitos

PatrickMcGinnisII: ugh, i come back later

PatrickMcGinnisII: fall challenge should have been drink mixer challenge.

PatrickMcGinnisII: strange brew

yhyoxx: aah mojitos

PatrickMcGinnisII: laterz

Zenoscave: ttfn

yhyoxx: take care

hbouillo: Hi! I've got a question. Is it allowed to pre-compute data and hardcode it into a bot? It would save computing time and I'm wondering if it's considered cheating.

blasterpoard: it's allowed and a lot of people do it

dreadylein: there are size limits for your file aside of that its fine

dreadylein: thats why you get 1 seconde on the first turn mainly :)

blasterpoard: just be careful to keep your code under 100000 chars

dreadylein: to setup stuff

hbouillo: Yeah I saw that, but I feel like I could still blow that second up haha

hbouillo: Thanks, I'll keep the possibility in mind!

hbouillo: Also the execution speed isn't always consistent, I've made a few tests and I got about +-20% execution time variations :|

dreadylein: with which language ?

hbouillo: Python... Yeah I'm asking for it

blasterpoard: hbouillo there are 3 types of machines that run your code

dreadylein: can be your garbage collector

blasterpoard: afaik

lambrosk: Guys quick question

lambrosk: How can i print out my own stuff in java without getting DQ in game

rcar: print to stderr

hbouillo: blasterpoard what do you mean?

zapakh: System.err.print()

lambrosk: game will only let me print brew cast etc

lambrosk: oh thanks

blasterpoard: hbouillo not all the games are executed on the same machine, or even the same model of CPU

hbouillo: That makes sense for contests of that size, but it does suck when each turn is time limited

blasterpoard: you can measure the time in your code

hbouillo: Yes, indeed! It can just get unfair if you get unlucky on your battles and get dq'd because you planned on using 100% of the time you got, but you got slower machines

hbouillo: The baked data helps a lot though. Thanks for the answers!

tomatoes: opponent use same machine

blasterpoard: it's not "unlucky" if it happens 30% of the time and you know about it

rcar: random assignment of CPU power seems to be the very definition of luck

hbouillo: Opponent, but not other battles. I'm not very familiar with codingame's scoring system yet, but it seems possible to me that the you can get unlucky on the batlles that would grant you a large amount of points. We don't get enough battles to have a fixed and reliable percentage to base our strategy on

blasterpoard: hbouillo at the end of the competitoin, there will be a large amount of games that will determine the final standings

hbouillo: Ah, I see! Good to know!

blasterpoard: until then, if you think you're unlucky, you only need to promote to the top league

hbouillo: That is a good point. About that btw, will there be silver/gold leagues open on the fall contest later?

NinjaDoggy: just get legend :stuck_out_tongue:

NinjaDoggy: -blasterpoard 2020

blasterpoard: silver on monday, I think

dreadylein: yep should be 16.

hbouillo: Nice! Just saw you're top of the leaderboard, good job!

blasterpoard: NinjaDoggy usually, it takes more effort to go low legend -> high legend than wood->low legend

blasterpoard: so you're technically correct

NinjaDoggy: ok yea this is true

NinjaDoggy: can confirm gold -> legend is the real hump

NinjaDoggy: if you don't promote day 1

Zenoscave: That's a big if

NinjaDoggy: i have a lot of experience with last day legend ;)

Zenoscave: Is that so ;)

NinjaDoggy: yep, and usually it comes with a t-shirt ;) because gold boss get so inflated

NinjaDoggy: gets*

Zenoscave: New strategy

Default avatar.png Moze97: should i write str for the output in the print function ?

Default avatar.png Moze97: it is not working with me ......

yhyoxx: emil. i believe in you

Default avatar.png Moze97: it worked finally

Default avatar.png Moze97: thanks

Zenoscave: I'm coming for that top 20 NinjaDoggy watch out

NinjaDoggy: ._.

NinjaDoggy: zeno just curious, how much of your bot's strength do you think comes from tome learning

NinjaDoggy: vs cast/brewing

Zenoscave: 95 % cast

Zenoscave: I'd guess

Zenoscave: My Learning is awful

Zenoscave: and yours?

Lachrymosa: If I can make it to silver I'll be happy :3

NinjaDoggy: um... 100% cast

NinjaDoggy: i hard coded first 10 turns learn the free one XD

tomatoes: same

zapakh: I thought I saw some bots doing that!

NinjaDoggy: it's surprizingly good vs top bots

NinjaDoggy: because it can get lucky, and get an early lead

zapakh: More to work with, for sure, when you fill your spellbook upfront

NinjaDoggy: going to be kinda tough to improve it honestly...

NinjaDoggy: evaluating tome combos is going to be tough

Zenoscave: huh

zapakh: what?

Zenoscave: Seeing if the front fill helps

Zenoscave: showed me another weakness of my eval

zapakh: Ooh maybe I should try that

zapakh: It'd be funny to watch two witches with the same 10 spells

LastRick: is there a limit to how many spells you can learn?

BenjaminUrquhart: 42

BenjaminUrquhart: not including ones you start with

LastRick: woah. the round is almost over if you tried to learn them all

yhyoxx: haha

MaroIsLife: \

yhyoxx: fen a maro

dreadylein: meh .. still dont know what i wanna implement :D

Zenoscave: well...

Zenoscave: that's crazy

dreadylein: mh?

Zenoscave: Thanks Ninja. That helped a lot

BenjaminUrquhart: learning first 10 spells made things worse for me

BenjaminUrquhart: first 5 works though

Zenoscave: I'm sure it depends on bot

BenjaminUrquhart: what's funny is learning exactly 6 spells makes me time out

BenjaminUrquhart: no more, no less

BenjaminUrquhart: exactly 6

tomatoes: specific game or always?

BenjaminUrquhart: always

BenjaminUrquhart: probably because java classloading funny

BenjaminUrquhart: cause learning new spells after doing a real action is fine

tomatoes: i started with 10 and it kinda works, left it as is

icecream17: Oh, I havent considered doing learn AND cast to do a spell....

icecream17: oh well good night

mojojojo: Anyone else can access the forums? I get a login error

Xenoid: I can access the forums

mojojojo: Oh okay thanks for the info