Chat:World/2020-11-13
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.
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
lNitsua: I put maybe 4 hours into it and barely made bronze
lNitsua: the amount of time I put into my homework was 0
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"
Laminator: you can pay tax, you can also gain some tax. I'm not coding it lol
Index500: http://chat.codingame.com/pastebin/a6da0322-42ab-40c6-946c-9dfe10d86bb4
Index500: can pls someone help. i get every time the error "invalid input. expected x y power bud found 1753
SimonPrins: You need to add spaces between your values.
SimonPrins: System.out.println(nextCheckpointX + " " + nextCheckpointY + " " + thrust);
SimonPrins: How else are they to know which part of it is the x the y and the thrust? :D
Index500: http://chat.codingame.com/pastebin/dc13d247-3872-49d9-8a78-9c1f910a6b00
Xenoid: You need spaces (" "), not empty strings ("")
SimonPrins: Those are empty strings, not spaces.
Index500: @Xenoid thx it works
rcar: I like that the error called you bud though
rcar: feels folksy
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
FMTriguero: okay, thank you Xenoid :)
THH: hello
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
tutubalin: spathula https://github.com/CodinGame/FallChallenge2020/blob/main/src/main/java/com/codingame/game/Deck.java
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
SeekDog: castable = castable != "0"
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: https://www.codingame.com/contests/fall-challenge-2020/top-companies/global?column=SCHOOLCOMPANY getting no rows ~
eulerscheZahl: 404 on that link
eulerscheZahl: https://www.codingame.com/contests/fall-challenge-2020/top-companies/global 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: http://chat.codingame.com/pastebin/cd76af7c-164a-47ce-b56c-9fef19ec1f75
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?
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
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?
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
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
charlesCabage: how do i solve problems effectively
struct: Barime potion is at the bottom is what you sell
Counterbalance: aww it started yesterday?!
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
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
charlesCabage: every one gonna ignore me?
struct: You can see your own igredients Barime
struct: if your own igredients >= cost of spell
struct: you can use it
rmuskovets: charlesCabage whats your problem?
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?
rmuskovets: I *think* it's stripped down VScode
[CG]Maxime: akshat node 12, no third party libs
rmuskovets: and about third party libs, just include them in your code
eulerscheZahl: akshat https://www.codingame.com/faq
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. "
rmuskovets: maybe you've a infinite loop (not including the main loop)?
Barimehdi77: i add my loop after the inventory loop
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
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
AntonCosmin: https://github.com/CodinGame/FallChallenge2020/blob/main/src/main/java/com/codingame/game/Deck.java
eulerscheZahl: readline:
eulerscheZahl: http://chat.codingame.com/pastebin/d2c93f82-0a22-4b31-a82d-e530559521e2
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
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
rmuskovets: andrefpoliveira: what challenge are you doing? just curious
TomerBG: Do you play the fall challenge?
andrefpoliveira: Fall Challenge ahah
andrefpoliveira: Its the limit right now xD
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
rmuskovets: i make a queue of actions my bot needs to do for a order
rmuskovets: order is chosen by using a heuristic
TomerBG: nice
andrefpoliveira: I'm trying a BFS
andrefpoliveira: But Python is too slow for that
jrke: BFS??
andrefpoliveira: Is it bad? xD
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
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
rmuskovets: i thought only discord translates emoticons to emojis
andrefpoliveira: :P
jrke: ;)
andrefpoliveira: :D
andrefpoliveira: What languages are you using?
jrke: c++
rmuskovets: fast enough for now
TomerBG: py3
andrefpoliveira: And positions? ;)
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++)"
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?
rmuskovets: to do debug output use fprintf(stderr, your message)
Barimehdi77: http://chat.codingame.com/pastebin/0bac0ff5-783d-4a85-a736-80bcc9084195
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
rmuskovets: it does multiple iterations
rmuskovets: i compose a queue of things to do
struct: printf(); break;
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: http://chat.codingame.com/pastebin/8614ef86-60e8-4a8d-b4b9-8ca608abd7b9
Barimehdi77: This is the new code
Jayantpro: When my pod isnt oriented as it is supposed to be, what does the thrust do at that point? Turn it?
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
struct: https://github.com/CodinGame/FallChallenge2020
jrke: https://github.com/CodinGame/FallChallenge2020
Counterbalance: thanks!
Barimehdi77: http://chat.codingame.com/pastebin/9fab9d7e-3f28-43d4-9139-f4802db6b763
struct: yes that should work fine
Barimehdi77: I fill it with this but I git timeout every time I tested it
Barimehdi77: http://chat.codingame.com/pastebin/11e66e58-1787-4a06-8ed1-7e87c02bd72c
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
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
Barimehdi77: http://chat.codingame.com/pastebin/10bf305d-04cf-4c07-99d0-ddd01976fdbc
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
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)
Counterbalance: http://chat.codingame.com/pastebin/a0f8ab02-ef26-4489-9bcd-32570a4e02d0
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: http://chat.codingame.com/pastebin/6c5e608f-a754-4f99-82e9-d45ed3a298db
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
Gabbek: https://www.codingame.com/forum/t/fall-challenge-2020-bugs-questions/187495
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
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: http://chat.codingame.com/pastebin/59bb47df-ad9b-44b1-98bf-84461a534e7b
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: http://chat.codingame.com/pastebin/f490ee04-e1b1-4f24-a2c0-347ee1017e92
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: https://www.bing.com/covid/local/tamilnadu_india
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
Zenoscave: https://en.wikipedia.org/wiki/TTFN
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. :-)
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"
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<com.codingame.game.spell.Spell>
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
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
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
rmuskovets: wait 'till you're in bronze
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
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
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 https://www.codingame.com/forum/t/codingame-sync-beta/614
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
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
grechid: how do I do the car race though
NitMpez: yeah, same
Kiyanmehr: next_checkpoint_angle
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
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
eulerscheZahl: https://github.com/CodinGame/FallChallenge2020/commit/1a3428df225711bf76cb7588fa2e848825d750cf
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
eulerscheZahl: https://www.codingame.com/forum/t/poll-who-will-win-the-fall-challenge-2020/187257
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 https://imgur.com/caC1Hjv
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
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 https://www.codingame.com/forum/t/fall-challenge-2020-bugs-questions/187495
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? https://github.com/CodinGame/FallChallenge2020/blob/main/src/main/java/com/codingame/game/Deck.java
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(recipe.delta)
.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
Uljahn: http://chat.codingame.com/pastebin/6759abfa-256c-4d77-8679-db202e9640ee
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?
struct: https://www.codingame.com/forum/t/codingame-spring-challenge-2020/152927/
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"
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: https://github.com/CodinGame/FallChallenge2020
struct: If you run this java file
struct: https://github.com/CodinGame/FallChallenge2020/blob/main/src/test/java/Fall2020Main.java
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: https://www.codingame.com/playgrounds/25775/codingame-sdk-documentation/game-runner
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: https://tech.io/playgrounds/53705/contest-tools-and-workflow/the-codingame-api
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: https://github.com/kswaldemar/rewind-viewer ?
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: https://github.com/CodinGame/FallChallenge2020
icecream17: oh, uh
reCurse: First backup your code elsewhere
Inc_: Something is wrong with the game message: https://i.postimg.cc/rsfw6RGq/codingame-fall-challenge-2020-message-bug.png 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: https://www.codingame.com/replay/500950462 Round 65
icecream17: wow, i totally misunderstood that question
Inc_: But you can't see the game summary there.
Rdjdv: I discovered that you can play by hand there: https://spicee.mattle.online/welcome
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
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 - https://github.com/CodinGame/FallChallenge2020/blob/main/src/main/java/com/codingame/game/Deck.java#L82
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
lNitsua: I'm planning on doing a matrix based solution
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
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
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?
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."
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
dawici: https://github.com/CodinGame/FallChallenge2020
Beresta: ouch, so if you get 6 potions first but have less rubies you still lose :(
lNitsua: So just found that linear algebra is not the move
lNitsua: anyone here doing trajectory optimization?
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
Moze97: should i write str for the output in the print function ?
Moze97: it is not working with me ......
yhyoxx: emil. i believe in you
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