Chat:World/2022-06-19

From CG community
Revision as of 05:29, 20 June 2022 by Chat Log (talk | contribs) (Created page with "<img src=/a/85259042099565> Crosility: fprintf(stderr, "Howdy %s\n", "fahad_almaani"); <img src=/a/85005227359902> Tien118: hi <img src=/a/4210501575817> aCat: hello <img s...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Crosility: fprintf(stderr, "Howdy %s\n", "fahad_almaani");

Tien118: hi

aCat: hello

Tien118: no taco :(

emh: hello

Default avatar.png Naak11: yoo

AshamanCooper: if you time out, is it possible you just have to much code that is taking a while? I think the code should work, but it is a massive block of logic.

therealbeef: you can time your code to see if its fast enough

therealbeef: but often timeouts are actually crashes

therealbeef: the game engine doesn't see the difference

AshamanCooper: i have 350 lines of nested ifs..

therealbeef: ifs are fast usually

AshamanCooper: I thought so, ok thank I will keep combing for an error.

therealbeef: sometimes it helps to compile/run the code offline, then you can use debugger for example

AshamanCooper: Yes I should make a fake input so I can do a single run. problem is it sometimes does a game just fine, and only once and a while times out.

eulerscheZahl: step 1: write all the input directly to stderr

eulerscheZahl: then when you crash again, you have something to analyze offline

AshamanCooper: stderr?

eulerscheZahl: error stream

AshamanCooper: how do you do that?

eulerscheZahl: there is a comment in the default code telling you how

eulerscheZahl: which language?

AshamanCooper: python

eulerscheZahl: print(the_input, file=sys.err, flush=True)

Mortis_666: sys.stderr

eulerscheZahl: my bad

AshamanCooper: hmm the_input not defined

eulerscheZahl: you should think a bit what i try to tell you before copying :(

AshamanCooper: Well I am new and the pharse makes no sense to me, so copying and trying is the only path to learning here.

eulerscheZahl: a snippet from the starter template with error output:

eulerscheZahl: for i in range(applications_count): http://chat.codingame.com/pastebin/780cd26a-6f09-4072-bdd7-291f6cc896fa

AshamanCooper: ah ok

eulerscheZahl: this will print it like this: https://i.imgur.com/IErIN86.png

eulerscheZahl: then you can copy it and plug it into your offline IDE

AshamanCooper: That will help alot, on a few games. I have been trying to figure out how to use the debug, this helps alot.

YS_Yousef: hi

Suenodk: Hello!

Soboku: Line 1: gamePhase the name of the current game phase. It can be MOVE, RELEASE ^ Seems like the description is incorrect for Bronze

therealbeef: yeah

**jacek gasps

DaNinja: missing phases

DaNinja: but real programmers never read the statement anyway

jacek: real programmers have C blood type

j4at: B is a programming language

j4at: and probabl A too ?

therealbeef: they didnt start at C ;)

jacek: so there was A# and B#?

j4at: b# is a programming language

Illedan: Hi

jacek: what else? html is programming language too?

j4at: yeah it's commonly used for hacking Nasa

eulerscheZahl: frame 47 where did my card go? https://www.codingame.com/replay/642686880

Nerchio: :ghost:

Sheeesh---: does CONTUNUOUS integration no longer copy cards ?

kovi: no (afaik it never did)

Nerchio: hello kovi how are you liking it so far

emh: wat submitted code is too big.. noooo. ok time to shrink it

emh: ahh no it was copy paste fail

emh: double size

therealbeef: 50k is still impressive

Nerchio: i was going to ask what abomination you have written emh

kovi: hello Nerchio i'm not sure. heuristics are getting too complex now but i dont see strategic eval yet

Nerchio: kovi same, had simple heuristics so far and will probably never do a full sim here but I am afraid of people who will

Illedan: Complex sim though

Nerchio: complex is nothing for CG veterans

eulerscheZahl: imaginary numbers are complex

eulerscheZahl: this early in the contest and almost no python/JS in top20. that's unusual

eulerscheZahl: i'm above M_C I think i can take a break now

Nerchio: but there's typescript

IvesL: class Card: http://chat.codingame.com/pastebin/72fbb71d-7ec3-4acb-ad1e-bcf044fc804d

IvesL: it returns indexerror out of range

IvesL: what is the problem with self.bonus

jacek: is len(card) == 1?

IvesL: 10

IvesL: let card[-2:] be [3,1], http://chat.codingame.com/pastebin/4fc0fb7a-7ce1-49b0-90d0-f00e0af17d15

IvesL: cant seem to index

jacek: is this python?

IvesL: yes

jacek: :shrug:

IvesL: no clue

Nerchio: can't you do self.bonus = card[0] instead of going back in the array

j4at: Workds fine for me

IvesL: i cant do card[0]

IvesL: same indexerror

IvesL: list index out of range

jacek: print card and find out

j4at: card = [2,3,1] print(card[-2:-1]) print(card[-2]) print(card[-2:-1][0])

j4at: outputs

j4at: card = [2,3,1] print(card[-2:-1]) print(card[-2]) print(card[-2:-1][0])

j4at: ops

j4at: [3] 3 3

IvesL: class Card: http://chat.codingame.com/pastebin/b3083f44-983b-4e0b-b0af-50a4b3124c32

IvesL: 'bonus': [1, 0, 0, 0, 0, 0, 0, 0, 3, 1], 'debt': <class 'list'>}

j4at: still works

IvesL: i better reset to previous version and see

IvesL: probably some bugs in between then

IvesL: thanks

square1001: Trivia: In visualizer, it is written "3 - task priorisation" which is half French, and also "8 - poste administratif" which is French.

jacek: :scream:

square1001: I need to practice French...

jacek: :egg: :french_bread: :cheese:

Pap3r: oui

Acoustic_flux: chad

Acoustic_flux: hi chad

Lynch[0]: konichiwa

Soboku: Does Bronze league have small applications?

eulerscheZahl: no

Default avatar.png Nikanameu: what is the starcade stream

Strawbot: Hi everyone ! Where can i find a reference about how precisly the motor in Mad Pod Racing works?

Strawbot: like what does the power value represents exactly?

MSmits: acceleration

MSmits: on the pain page you can find information written up by several players, the one by magus has a lot of information about how the calculations work

MSmits: main page

MSmits: (of mad pod racing)

Crosility: @MSmits, the discussion tab?

Crosility: Or do you mean the external references?

Strawbot: Yes but is it like acceleration in pixel/s^2 really?

therealbeef: pixels/turn^2, but basically it adds a vector to the current velocity vector (after reducing the old velocity vector with a factor)

Strawbot: I know there was a page that explained exactly the formula but i can't find it back

eulerscheZahl: this? http://files.magusgeek.com/csb/csb_en.html

Illedan: Nice rank euler

eulerscheZahl: getting close to you ;)

eulerscheZahl: but no idea what i'm seeing in the replays. really hard to follow

eulerscheZahl: extra frame would be helpful to show skill usage. and automated cards in UI

therealbeef: automated cards are in player icon hover info

eulerscheZahl: ?

eulerscheZahl: aah

therealbeef: the little pawn

therealbeef: it was added in one of the updates this weekend

eulerscheZahl: didn't see that coming. was hovering over my avatar and such

eulerscheZahl: i saw the projects added at the admin desk

Strawbot: thx @eulerscheZahl, i think it was this, but why is it for CSB?

eulerscheZahl: the game was renamed

eulerscheZahl: someone was paranoid about copyright (the empire strikes back)

Illedan: Smart idea to print all actions on the next location euler

Illedan: I'll do that too

eulerscheZahl: i just do a bestState.ToString()

eulerscheZahl: was easier to debug in IDE that way

Strawbot: Is the angle of the pod discontinuous? Like can it jump from theta to theta + 18 in one turn?

ZumTheZazaKing: helllo

eulerscheZahl: and i also like to filter in order to trigger certain bugs more easily

current = current.Where(c => c.ToString().StartsWith("WAIT")).ToList();

PatrickMcGinnisII: during a move phase, i detect that an app can be released ... but no release phase follows the move?

eulerscheZahl: then your detection is faulty

eulerscheZahl: replay?

PatrickMcGinnisII: hmm, app requires:0 4 0 0 4 0 0 0

struct: is it the last app?

struct: you cant use shoddy

PatrickMcGinnisII: 0 1 0 0 0 0 0 0 3 hand

struct: if its the last one

PatrickMcGinnisII: the bonus should take care of the study cards

struct: Is it the last app patrick?

PatrickMcGinnisII: no actually there are 4 .... oh yes it is

struct: So thats why it doesnt work

PatrickMcGinnisII: all 4 apps are releasable...but there is a rule about last app i guess

struct: Yes, you can use shoddy points for last app

struct: you cant*

jacek: if there was something like that in the statement...

Nerchio: Beware, since this hackathon is on the theme of Green IT, the referees will be paying close attention to the quality of the last released application. The 5th application of each team cannot be released with shoddy skills!

jacek: and the contest was 4th app

PatrickMcGinnisII: are all rules in wood1?

struct: no

struct: But I think that one is there

jacek: i think is from the begining

PatrickMcGinnisII: i'm very far behind

PatrickMcGinnisII: just prioritizing possible moves, works ... but not for last app apparently

PatrickMcGinnisII: just random bot has me ranked at 600 something ... trying to make sure next submit gets me in bronze

jacek: try first action

PatrickMcGinnisII: I prioritize releases as well to reduc e debt, seems to work

PatrickMcGinnisII: was gonna just MCTS after i get the bones working

PatrickMcGinnisII: I assummed bronze would be a complete rewrite

PatrickMcGinnisII: yall beam searching?

jacek: searching? Oo

PatrickMcGinnisII: alot of random stuff going on

eulerscheZahl: search space is small enough to do it without pruning (current turn only)

struct: I must try that

waterproofsodium: hi stroct

waterproofsodium: hope you're not strict :p

MSmits: mmh I was top 100 with a sim that used technical debt as bonus cards to release apps

eulerscheZahl: :D

eulerscheZahl: and now you are 554th with 0% progress

MSmits: perhaps its sheer confidence in ignoring the rules got it wins

darkhorse64: rules are for the weak

MSmits: yeah i am going to have to recalibrate my eval, but it seems reasonably good so far

Kellthazar: Submitted a new version: 15 loses in a row.

MSmits: plot twist: All wins after that

eulerscheZahl: not sure if this game has enough strategic depth to keep us busy for another week

struct: just start making an opening book

MSmits: didn't silver open on sunday last contest?

MSmits: i remember everything seemed a day early

struct: I think so

MSmits: i like when it opens on monday

MSmits: because less people coding means less congestion. Sundays are bad

MSmits: wow this bot is a lot better

struct: Im still trying to find how to code the move

MSmits: have several phases for the move

MSmits: move -> throw -> give -> gain

MSmits: pass the required information (move target, desk target) through the functions

MSmits: so that at the end you can use gain to get the card

MSmits: do some ifs an such to skip throw and/or give if necessary

struct: I have similar thing but its broken I think

MSmits: yeah this entire sim is easily broken

MSmits: hard to test

struct: I store the pending move if it stops at admin or it has to give a card

struct: But something is wrong with it

MSmits: ye been there

MSmits: but in my case it's usually something dumb because c++

MSmits: functions that don't return anything

PatrickMcGinnisII: ok, 2nd submit of event gonna happen now that i can beat wood 1 boss

jacek: youre avoiding the voids?

MSmits: no i have voids

MSmits: just not all

Default avatar.png LIMESAUR: Bruh I forgot how to code when I learned it a few months ago

Default avatar.png LIMESAUR: I litterally can't think of the stuff I wanna use

jacek: oO

MSmits: bruh

Default avatar.png LIMESAUR: ikr

struct: I never knew how to code so can't relate

MSmits: ye struct just makes structs, but they never do anything so it's not really coding

Default avatar.png LIMESAUR: LOL

Default avatar.png LIMESAUR: so they just submit the code right away?

waterproofsodium: that spaghettis clash is great!

Default avatar.png LIMESAUR: cool

PatrickMcGinnisII: waterproofsodium now I'm hungry tx

waterproofsodium: :p

waterproofsodium: *gives patrick 1 spaghetti

j4at: Why you fix a bug in your code to findout that the buggy version is better :'(

PatrickMcGinnisII: (void *)My_Stomach

j4at: I gave up on the event

struct: I dont give up anymore on these

jacek: you never know it its last

struct: Just aim for a plausible goal

PatrickMcGinnisII: omg, wth is an admin desk

struct: taxes

PatrickMcGinnisII: oh yea, made bronze on 2nd submit

MSmits: well done

PatrickMcGinnisII: how the hell did i geet a timeout

Miki09: 36°C here in czech republic

Miki09: global warming is real guys

PatrickMcGinnisII: and we are in a solar minimum cycle

Ramdeath: question, i have 10 cards in draw pile. In what order they go to hand?

struct: random

struct: They get randomized when they go from discard pile to draw pile

struct: so you never know the correct order

Ramdeath: so i just can see cards but dont know order right?

struct: yes

Ramdeath: tnx

waterproofsodium: Miki09 I feel you

waterproofsodium: 32 and I bet we'll seen > 36C soon too :P

j4at: "Just aim for a plausible goal" yeah that's why I decided to give up on the event :3

Miki09: lol

struct: Its actually not hot at all in portugal

struct: <30C

PatrickMcGinnisII: 31c here, but forecast is for 37+

j4at: 36 is hot ? Amateurs

struct: humidity is also important

j4at: Well today is 31 here

j4at: but few days ago it was 40

struct: Same here 40

struct: Will probably reach close to 50 in some zones

PatrickMcGinnisII: >60% humidity here

struct: Once I rode my bicycle with 40ºC+

PatrickMcGinnisII: rains everyday, Florida...wait 5 minutes, weather will change

struct: Never felt so much pain

jacek: better start training more NNs on computers

waterproofsodium: rip 40 is when I stop coding xD

MSmits: Did you remember to put the saddle on?

struct: My hearth rate was 20 bpm avg higher with the same effort

PatrickMcGinnisII: hmm, stabilized at rank 299, i guess i suck

struct: It was a good experiment though

struct: Now I know that heat impacts bpm

PatrickMcGinnisII: http://www.auroraborealispage.net/solarmax.html

waterproofsodium: someone make a optimization problem to lower earth temperature through terraforming without starting a new ice age :P

PatrickMcGinnisII: only gonna get worse next couple years

emh: is there a tool that tells you how many wins you have when you are player 1 versus when you are player 2?

j4at: time to move to Antarctica and start my own empire

struct: yes emh

PatrickMcGinnisII: avg. temp goes +4 deg. and crops die...crops die...we die ... your AI needs to optimize mushroom growth

struct: ah wait

struct: dont think so

struct: it just says wins

struct: and loses

struct: http://cgstats.magusgeek.com/app/green-circle/emh

Astrobytes: can't you use brutaltester for that purpose?

waterproofsodium: patrick something tells me we will end up serving our mushroom overlords

struct: best way to find if the game is balanced is to output random

struct: for both players

MSmits: you mean we'll be addicted to shrooms?

struct: for N games

struct: Here would always be a tie

waterproofsodium: :D

struct: so you cant use the random that the referee provides

emh: I want to know if my opening strategy for p1 or p2 is worse

PatrickMcGinnisII: Shrooms have the best protein/fat ratio to sub for meats... cause good luck getting those

struct: MSmits how many states do you usually need to bruteforce?

struct: is the number in millions?

PatrickMcGinnisII: Plant pineapples, they take full sun well

PatrickMcGinnisII: but don't produce much

waterproofsodium: yeah or you'll attract pineapple pirates

MSmits: let me do a few tests struct, it's very variable

struct: maybe the worst case is enough

PatrickMcGinnisII: 'Mericans have alot of dogs and guns. ;)

MSmits: yeah but i need data for that

MSmits: probably a few thousand?

MSmits: maybe 10k or so?

PatrickMcGinnisII: First player should have an advantage because players pull from same app list

struct: oh

struct: I thought it would be way worse

struct: thanks

MSmits: this is with allowing up to 3 cards played in the sim

MSmits: not 4

MSmits: also most turns it is < 100

PatrickMcGinnisII: play card phase screws up my thinking

MSmits: a few in the mid 100s

MSmits: rarely over 1k

struct: o.o

MSmits: move phase with daily routine + training/coding will cause a lot of branching

struct: Im thinking on using union for the cards

MSmits: just remember, there's never more than 55 ways to draw 2 cards

MSmits: 10 + 10*9/2

MSmits: the only thing that differs between these 55 ways is the probability of it happening

struct: Thanks Ill remeber that

MSmits: but no need to branch more than this

MSmits: but chain trainings will still give you 55*55*55*...

MSmits: assuming you have all cards in your pile multiple times

MSmits: which is very unlikely

Illedan: Games would end in < 10 turns

MSmits: when?

Illedan: 1 turn = 1 move

MSmits: we are just talking about simming 1 full turn

Illedan: So you can't get too many cards

MSmits: you can do many trainings in 1 turn

MSmits: and coding

Illedan: Yeah, but you can't manage to get that many before the game ends

MSmits: you can only release 1 app in a turn, it doesnt really matter how many turns after that. Since we're not simming those. We're just making sure the current turn doesn't crash us

MSmits: which it definitely can

Illedan: ah

MSmits: (if you dont limit your plays)

Illedan: To validate all sequence of actions?

Illedan: *card plays

MSmits: yeah

MSmits: to score them with eval

MSmits: just made my depth go up 1, allowing 4 plays. No crashes so far

MSmits: iterations: 12771 one time

MSmits: iterations: 12188 so yeah, more

MSmits: manageable though

MSmits: I think this game has a cool ending

MSmits: https://www.codingame.com/replay/642800370

MSmits: I calculate win% based on draw probability

MSmits: my orders were:

MSmits: http://chat.codingame.com/pastebin/32883961-7bf7-48df-8c54-63aa016373d2

struct: nice

MSmits: so while no random happens win% stays at 30%, then i have an unlucky coding draw and it goes down to 8%, but i still win

MSmits: mmh now i wonder if i got a better rank due to allowing more plays or if it's just luck

struct: you can always submit again

struct: maybe you were unlucky

struct: and you deserved even a better rank

MSmits: possible yeah

MSmits: nowhere near beating those if-guys though, but i got a reasonable bot. Probably need to be more creative with eval or just choose better parameters

struct: It's only a matter of time

struct: before their downfall

MSmits: well they'll stay high but a few simmers will pass them

MSmits: possibly one with a NN

Miki09: https://www.codingame.com/replay/642804441 Why cant I release application 14 in frame 76?

eulerscheZahl: you have nothing automated

eulerscheZahl: your 1 card that fits the required skills isn't enough

eulerscheZahl: you have 2 good and 4 shoddy skills

Miki09: what is meant by automated?

struct: You can automate cards

struct: so they can be used to release apps

eulerscheZahl: using the continuous integration skill prior to the release

Miki09: oh ok thanks

struct: antiwonto why can't I release

struct: Should be a command

MSmits: 2 good and 4 shoddy skills? Is that possible?

MSmits: oh in total, with wrong cards i guess

eulerscheZahl: can you complete a project with 8 shoddy?

Nerchio: why not

eulerscheZahl: not that i would want to do it, technical debt would kill you

struct: if you want to lose

eulerscheZahl: somehow i added an extra rule that 50% of my skills must not be shoddy

eulerscheZahl: to my move gen

struct: I dont really like to limit my move gen

eulerscheZahl: then i don't have to check of i have enough shoddy on top

eulerscheZahl: me neither, a good eval should figure it out

TimothyAlexisVass: :taco: struct

MSmits: yeah i have that rule as well eulerscheZahl

struct: my ears

MSmits: 50% much be non-shoddy. I thought this was necessary

eulerscheZahl: i start to hate those tacos

darkhorse64: your stomach mainly

j4at: :taco: eulerscheZahl

eulerscheZahl: even changed it to at most 2 shoddy skills

MSmits: well you can just make that part of the eval cant you?

MSmits: if you eval TD, you will have more

MSmits: I could try and see what happens if i force a max of 2

eulerscheZahl: i know... one step after another

struct: I'm gonna bitboard this I cant resist it

MSmits: I'm afraid to do that

MSmits: I will cause more bugs than i can find before next weekend

eulerscheZahl: oh, a new jim browning video online

struct: all the cards should fit into 64 bits easily

struct: instead of the arr[10] I have

struct: Anyways it might be a waste of time but im willing to risk it I guess

MSmits: yeah they will fit, but the question is: What operation will be faster in bitboard?

MSmits: copying and memsetting will be faster i suppose

eulerscheZahl: meanwhile:

eulerscheZahl: http://chat.codingame.com/pastebin/8e21058e-6102-4ba2-8c9b-ef26de92a729

eulerscheZahl: i see nothing wrong with this :D

MSmits: there really isn't. I just increased my max played per turn to 4, allowing 4 cards to be played and still get only 12k iterations on a bad turn

MSmits: possibly 5 is also realistic

MSmits: after reviewing my code and getting the last bugs out i'll try submit with 5

eulerscheZahl: i still do redundant stuff. like THROW 5 | THROW 6 THROW 6 | THROW 5

MSmits: ahh yes, easily fixed with a loop using i from 0 to 9 and j from i+1 to 9. I used that in a couple places

MSmits: I just noticed task prioritization takes a card from my hand and from the board, but doesnt put any new cards

struct: japan at the top again

PatrickMcGinnisII: Invisible cards, cool https://www.codingame.com/replay/642833632

aangairbender: I see top1 doesnt really care about technical debt cards at all

aangairbender: getting ~20 before releasing 5th

MSmits: that doesnt mean they dont care, you get 20 pretty easily

aangairbender: I liked siman strat though, he got rid of all debt cards as soon as he could

aangairbender: it was kinda elegant imo

aangairbender: all deck is around 5 cards, so can predict the next draw pretty reliably

kovi: eulerscheZahl here, the wild change of meta may bring the depth for next week

eulerscheZahl: not that new, saw it in other high ranked bots before

kovi: up to now...we mostly tried to play our own game

eulerscheZahl: oh, that's what you mean? use the few cards against him by trying to block?

kovi: yes

kovi: some of the new meta are extremely susceptible to that...

eulerscheZahl: as always, i'm already tired of the "meta" discussion. i'll just see what you guys pull up and take my own path

MSmits: i totally agree, I much rather spend time tinkering with my meta mcts

Palmipedus: has anyone bug on training? I just play a train card, and I have still things to do bug it goes to Release phase

Nerchio: don't follow the meta, create it :sunglasses:

struct: do you have a replay Palmipedus?

MSmits: iterations: 809388 woops, I guess sometimes 4 cards is too much :)

kovi: Palmipedus it is known bug, hopefully going to be fixed soon, check forum

Nerchio: MSmits cries in java :disappointed:

Palmipedus: https://www.codingame.com/replay/642836433

MSmits: i can do some optimizations to reduce the chance later

MSmits: or i just reduce to playing 3 cards in sim

Palmipedus: frame 37, it after I train it goes to release phase and find nothing obvioulsy :D

MSmits: or even better, iterative search like a minimax

Palmipedus: kovi ha, I thought it was fixed

struct: oh I hope its fixed

struct: Thats a big bug

gokubill: hi

Palmipedus: that's a bit annoying it's a part of my strat to use Training :D

MSmits: does it perhaps do this on 5th app when you have a win? In that case you can just finish the game

struct: no

struct: he only had 1 app

Nerchio: will you simulate stuff like, training into chance of drawing another training and training it again? MSmits

MSmits: yeah

eulerscheZahl: when my draw pile is empty and i want to draw some more cards: will it swap draw and discard?

MSmits: thats why i just timed out

MSmits: i allow 4 plays in a row, this time it was too much

struct: discard cards will go into draw pile euler

eulerscheZahl: within the same turn already?

struct: yes

eulerscheZahl: thanks

MSmits: draw pile had 2x training and 1x coding, hand had training, thats a lot of draw

eulerscheZahl: just the PLAYED_CARDS won't

struct: yeah

struct: played cards will go at end of the turn so after release or no more plays

StevenV: hello guysz

struct: hi

jacek: ohayou

Miki09: Is it worth it to try to release applications completely without shoddy skills? (Siman does it)

jacek: thats so not agile

StevenV: so you guys seems successfull with smimulation and an algorithm

struct: not me

MSmits: yeah StevenV, but it's actually a very simple algorithm, we try all possible moves in the current turn then pick the one we eval as best

kovi: im halfway (heuristic + some sim)

MSmits: the execution is hard because of the complexity of the simulation

Palmipedus: and the bugs

MSmits: but the actual search is very simple

MSmits: yeah the bugs come from the complexity, i am currently trying to fix a task prio bug, it's trying to play cards it doesnt have

PatrickMcGinnisII: huh, reduced movment thru admin and jumped into top 200

StevenV: just wonder if silver boss open and bronze boss show up, then all the Bronze league will get recalcuated right?

struct: no

MSmits: no

MSmits: not if they do it right

MSmits: they can just copy the top X from bronze into silver league and put the bosses at the top of both leagues

StevenV: ah

MSmits: if they do it wrong, they will not recalculate bronze, but silver would be fully recalculated

MSmits: this happened last contest. It causes a ton of server load

MSmits: ruining the rest of the day for everyone

StevenV: does it will be same for gold and legend too?

MSmits: yeah

MSmits: legend is different on the last day though

MSmits: when the contest ends, top legend will have a special recalculation

MSmits: (more battles)

StevenV: I mean only when the league open

MSmits: yeah thats the same

Zylo: TRAINING will be fix?: https://www.codingame.com/replay/642844163 in 73 I played: TRAINING I have a lot of skills and in 74 I got RELEASE phase :-(

StevenV: thanks

MSmits: oh, legend is very hard to get into at first, its usually only top 15 or so

kovi: Zylo hopefully soon. reported 2 days ago

kovi: the more sim, the more trouble it causes

Zylo: kovi do you know what it depends on?

kovi: (i semidisabled it)

kovi: dont know

Zylo: I have no sim :-D

StevenV: do you guys know if top 5 uses some algorithms with sim or heuristic?

MSmits: both

StevenV: oh

jacek: they use jacekmax of course

MSmits: generally sim based bots take more time to code and will take over later in the contest

MSmits: some rare contests keep heuristic bots in the top 5 all the way till the end. Some have even been won by heuristic bots (code a la mode for example)

MSmits: I got into top 5 on code royale with what was mostly heuristic (i did not know how to sim back then and it was hard anyways)

jacek: spring 2021 had some heuristic bots in legend, despite being good for sim

struct: Are you trying to tell me that a NN will win again?

MSmits: it could

MSmits: theres always room for a limited NN, using it for parts of the game

eulerscheZahl: a bug in the game, that explains why me making a more accurate sim on training lowered the rank

jacek: yeah, blame it on a bug in game

eulerscheZahl: it's easy to blame yourself. but it's even easier to blame someone else

eulerscheZahl: - Homer Simpson

MSmits: ohh is that why i cant get past rank 50. Too much training?

jacek: overfitting

eulerscheZahl: jump of the hype train MSmits

eulerscheZahl: off

MSmits: the train train?

Nerchio: if training sometimes stops your skill casting then I can see you lose better moves trying to prolong your turn

MSmits: yeah, my bot even does win-checking based on this

MSmits: based on chain-training/coding

eulerscheZahl: do we know under which circumstances the train chain breaks?

MSmits: someone should study the source

MSmits: you were bored right euler?

Nerchio: xdd

eulerscheZahl: why?

MSmits: well you are good at finding this stuff

eulerscheZahl: i don't care enough :D

MSmits: ahh ok

OldJohn: Anyone succeed in making brutaltester work with green circle ?

eulerscheZahl: also some theory about software reliability: the more bugs you find, the more likely it is that there are more hiding

MSmits: maybe i will do it in the train tomorrow if i have wifi

ganbat24: jesus too many things to read and intro is in french

eulerscheZahl: no point in making a brutal tester yet, as long as there are such bugs in the referee

MSmits: i didnt use the intro ganbat24

struct: isnt this the bug?

eulerscheZahl: you can just git clone and analyze offline

struct: https://github.com/societe-generale/GreenCircle/blob/72b73dce8ee2a00118ceab33c4d20439d901a742/src/main/java/com/codingame/game/Referee.java#L144

MSmits: just read the statement 20 times like everyone else. And then ask a bunch of questions

ganbat24: yeah but then i have to read

MSmits: indeed

struct: I think the bug is in there

struct: so before playing the training the remaining plays get set to 0

struct: then you play trianinng

struct: remaining plays get increase to 1

ganbat24: but i am sleepy i thought i should make a naive solution then go sleep

struct: you enter this again

struct: and go back to 0

struct: maybe you dont even get to play a card at all if you can complete an app

struct: I havent checked

MSmits: only if you cant play an action card

struct: ah ok

struct: i was wrong

struct: Maybe nopt

struct: not*

MSmits: hmm

MSmits: I wonder

MSmits: first you remove one play

MSmits: then you ask the question is plays <= 0

MSmits: you already removed one, so if you had 1, you just lost it

struct: yeah but playing training adds 1 more play

MSmits: yeah but what if it was 0 already

MSmits: then you just added 1 and lost it again before starting the next phase

JohnyDaison: what do you guys mean when you talk about a sim, exactly?

MSmits: so you start at 0. Then training adds one, then that line removes 1 and you dont get another phase

struct: you start at 1 when you enter the phase

MSmits: JohnyDaison try out moves and simulate what happens to figure out what is best

MSmits: where does it say this struct

struct: private void startPlayCardPhase(Player player) {

       gamePhase = GamePhase.PLAY_CARD;
       player.addMorePlays(1);
   }

MSmits: trying to find that in referee

struct: line 169

struct: of Referee java

MSmits: ok, but that adds 1

MSmits: what was it before

MSmits: what if it was -1

struct: ah

struct: :medal:

struct: that might be it MSmits

struct: I dont know

MSmits: maybe yeah, me neither

struct: But it seems to be plausible

JohnyDaison: Is there a replay where this problem is visible?

struct: Let me run 100k games offline to check if ever goes below 0

struct: https://www.codingame.com/replay/642844163


struct: 173

struct: 73*

struct: frame

struct: give me a few minutes MSmits Ill report back

MSmits: cool

MSmits: 'm here all day

struct: Is there anything like assert for java?

Nerchio: assert

Nerchio: assert 1==2; xd

struct: It doesnt crash the program?

struct: Nerchio whats the easiest way to crash the program?

Palmipedus: Can we do Prio with a Bonus card?

MSmits: yeah

MSmits: on both indices

jacek: Object x = null; x.toString()

Palmipedus: great to know

Nerchio: ^ or throw exception

Palmipedus: thena MSmits

struct: ty jacek

jacek: or just run the program

Miki09: how many of bronze players will auto go to silver?

MSmits: 200?

MSmits: is my guess

Miki09: ok

Miki09: 50 more places to push

JohnyDaison: Regarding the replay, during the combo on turn 55 it worked fine, but then on turn 65 CODING was played, and there was only one WAIT after it, which doesn't seem correct.

Palmipedus: MSmits thanks not thena :D

struct: MSmits

struct: -1 0

struct: You are right

struct: System.err.println(player.getPlaysLeft()); player.addMorePlays(1); System.err.println(player.getPlaysLeft());

Nerchio: so just make a function that sets it to 0 there instead of add 1

struct: set it to 1

struct: not 0

Nerchio: true

struct: kovi this might be the bug

MSmits: nice one struct. Should post it

struct: [SG]Sebastien are you there by any chance?

struct: I think he might be online

jacek: there are few fixed bugs pending for release

Illedan: There is a bug with training?

Illedan: and coding?

kovi: im not sure about coding though maybe that is because of the 2x draw "mess" (it is messy to implement it in simu + gameflow)


Illedan: how is 2x draw a mess?

Illedan: In your code?

struct: Ok posted on forum hopefully it will be fixed

MSmits: Illedan sometimes when the playphase starts, playsleft is -1 instead of 0

MSmits: when the playphase is started, 1 is added, which normally means it is 1

MSmits: but in this case it would be 0

MSmits: you would still get 1 play

MSmits: but then with training, 0+1 becomes 1

MSmits: then when setting next phase, 1 play is subtracted

MSmits: meaning no bonus play

MSmits: so either they have to figure out why playsleft becomes -1, or they just always start a first playphase with plays = 1

MSmits: the first option is the better fix as it might be a second bug

Miki09: somehow my first iteration says it runs 3 seconds

Miki09: hmmm

MSmits: your time measuring is off

Illedan: Thx for explaining

MSmits: first start reading input, then start the timer

Miki09: I dont know why

jacek: dat time dilation

Miki09: its copied from SO :-)

Miki09: so it should work

MSmits: SO?

Miki09: stack overflow

jacek: queue overflow

MSmits: Miki09 the lines of code are not wrong

MSmits: the place where you put them is

MSmits: you put the start of your time measurement before readint the input

eulerscheZahl: read input start timer do something stop timer and print action

Miki09: ok thanks

Smekarn: If I'd like to test my Green Circle bot offline, where can I read up on how to get a game simulator going?

eulerscheZahl: MSmits 06:23ᴾᴹ SO?

now you know how it feels like when others use non-obvious acronyms

MSmits: if you do it before reading input, you basically started your timer in your previous turn, this means you measure the entire opponents turn + the referee time

Miki09: now it shows 0.00019693374633789062 :-)

MSmits: good :)

MSmits: indeed eulerscheZahl

Miki09: seems like I have plenty of more time to simulate

eulerscheZahl: you clone the github repo and import is as a project in the IDE of my (not your) choice: IntelliJ

MSmits: yeah for this contest (if that is what you are doing) you have plenty of time

eulerscheZahl: https://forum.codingame.com/t/how-to-run-ocean-of-code-github-project-locally/168041/3

Smekarn: Thanks @euler

struct: I also use IntelliJ it does everything alone

struct: I only need to right click and run

struct: but im a windows user, so that might explain it

jacek: :rage:

Smekarn: IntelliJ it is then

MSmits: hmm i might try that

eulerscheZahl: even is a linux use i prefer intelliJ for this task

MSmits: i've never been succesful before

eulerscheZahl: and i strongly hate eclipse

struct: vscode also works decently well for this

struct: but requires a bit more work

jacek: lunar eclipse or sun eclipse

struct: One interesting thing on the bug that triggered

struct: was that it didnt happen after a training card was played

struct: It happened after a throw

struct: But the player could still play a card

MSmits: yeah because the first play is free

MSmits: but because playsleft = -1, the bonus play doesnt go high enough

struct: He didnt play because I crashed the referee

MSmits: right, but i mean if he had

Default avatar.png TMP161112: can i have some help

Default avatar.png TMP161112: please

struct: ok maybe my fix will not work

OldJohn: @jacek you have a lot of technical debts !

jacek: is it bad?

OldJohn: yes probably !

MSmits: not if you win

OldJohn: SSS

MSmits: nake?

OldJohn: Small statistical sample

jacek: does having PLAYED_CARDS in inputs give some advantage/

MSmits: :snake:

MSmits: o

MSmits: jacek yes, you cant play those again and you cant draw them again when your draw pile is empty and discard gets shuffled into draw

MSmits: so during that entire turn, no matter what you do, you cant use those cards

jacek: oh

MSmits: if they are in discard, you may be able ot

MSmits: by using training cards if your draw pile is almost empty

MSmits: also you need to take them into account when calculating desk cards

MSmits: if they are in played, they are not in desk

eulerscheZahl: Illedan — Today at 6:27 PM @eulerscheZahl I think the bug msmits is talking about occurs when you dont play cards in the play phase. Because it is subtracted every play phase. On my phone now, but can you tell him?

eulerscheZahl: no idea what you were talking about, was eating dinner

eulerscheZahl: oh wait, i was even chatting at that time. then i'll go with bad memory or lack of attention

MSmits: :)

emh: lol check my automated cards in last frame of https://www.codingame.com/replay/642887779

Illedan: So it will be fixed when setting to 1 before the play frame

struct: no idea Illedan

Illedan: I think so

struct: It might create more bugs

struct: :D

Illedan: Nah

eulerscheZahl: where are the unit tests?

eulerscheZahl: i admit i'm also a bit lax when it comes to them. but for a more complex game (tryangle catch) i wrote some and it really helped

eulerscheZahl: struct what are you doing on the forum?

eulerscheZahl: Object x = null; x.toString();


struct: Its not a fix

struct: just to make it crash

jacek: good thing you told that

eulerscheZahl: throw new Exception()

jacek: otherwise theyd put it into the code

struct: lol

Illedan: :D

struct: I just follow jacek advice euler

Illedan: Why don't you think setting 1 works struct?

eulerscheZahl: do we have a replay where it happens?

Illedan: Forum has some of them

struct: look at this

eulerscheZahl: forum is long

struct: let me upload 1 sec

eulerscheZahl: do we need staff to deploy fixes?

Illedan: For a Contest I think so yes

struct: because sometimes the actions start at 0 Illedan

struct: the getPlaysLeft

Illedan: So setting it to 1 should fix that?

struct: but I could make the action

struct: if its 0

struct: its still legal

Illedan: Not really

struct: So after move

struct: -1 0

Illedan: it doesn't check when entering the PLAY_CARD state

struct: inputs next turn

Illedan: Only inbetween

Illedan: I think

struct: 3 TRAINING RANDOM WAIT

struct: The -1 to 0 occurs way to often

MSmits: is it possible for there to be 37 bonus cards in total?

Illedan: Yeah, the amount of plays you have left is not checked before the first PLAY_CARD

struct: so setting it to 1 should be fine right?

Illedan: Yes

MSmits: https://www.codingame.com/replay/642891364 around frame 95 i add up 37 bonus cards.

kovi: nice catch

kovi: struct

eulerscheZahl: did you verify that it solves the issue?

struct: No

Illedan: I'll test it locally

struct: Thats why I edited my post

struct: :D

eulerscheZahl: https://eulerschezahl.herokuapp.com/codingame/replays/reproduce/?id=642495725

eulerscheZahl: happy hardcoding

Illedan: He did push it set to 1

struct: ok

avdg: guudevening

MSmits: guys, can you check my replay, i think this is a serious bug also

MSmits: 37 bonus cards total

struct: it is 37 bonus

eulerscheZahl: "Trying to fix the bug" very convincing

struct: It will even break my bot MSmits

MSmits: yes struct

MSmits: how can this be?

struct: if all 37 are in player hand

struct: my bot wont like it

eulerscheZahl: are the 36 in total or in the center?

struct: 36-37 = -1;

MSmits: 37 in total in the game

eulerscheZahl: 36 + initial bonus in hand?

MSmits: oh wait

eulerscheZahl: questioning the rules

struct: Its 36 in total euler

MSmits: i am not sure

struct: 36 in the game

MSmits: at frame 21 there are 38

MSmits: wait

MSmits: could be a viewer thing

eulerscheZahl: in turn 1 it says 28 left in tooltip

eulerscheZahl: so 36 in total

MSmits: yeah in turn 1 it is fine

MSmits: frame 20, also 37

eulerscheZahl: do you store stdin?

MSmits: seems to happen during training on frame 16

MSmits: you can see it go from 36 to 37

eulerscheZahl: would be easier than tooltips of a possibly buggy viewer

eulerscheZahl: but i agree: stays 37 for the frames after as well

MSmits: yeah i dont have the full stdin

MSmits: i have some calculated results that are 1 off after this point

eulerscheZahl: why not?

MSmits: i calculate whats on the board and my results are 1 lower

MSmits: than the viewer says

MSmits: thats how i spotted it

struct: let me see if I can reproduce

eulerscheZahl: starts pretty early to be off

MSmits: i think maybe i was supposed to throw 2 bonus cards and it threw 1

MSmits: yeah thats it

MSmits: I threw 2 bonus cards to the board

MSmits: but only lost 1 bonus card

MSmits: yay

MSmits: on frame 14

eulerscheZahl: from 14 to 15 you have to throw 2 cards

eulerscheZahl: you only throw 1

kovi: that is a known bug

kovi: already fixed, just not published

eulerscheZahl: oh i'm slow

MSmits: how many known bugs are there lol

eulerscheZahl: forum thread is too long to follow

kovi: i counted 3 notorious bugs there multiplied by time (slow fixing) (3rd was the infinite)

kovi: (which was fixed relatively fast)

darkhorse64: Can you throw/give bonus card ? According to the statement, no but I am unsure

MSmits: you can

darkhorse64: thanks

eulerscheZahl: you can also TASK_PRIORITIZE into a bonus

MSmits: the term skill card is used inconsistently

eulerscheZahl: which isn't allowed according to inputs

MSmits: sometimes they mean non-bonus, sometimes it includes bonus cards

eulerscheZahl: except if they fixed that, no idea

MSmits: when you can "play a skill card" then its not bonus

MSmits: when you have to "give a skill card" it includes bonus

darkhorse64: French statement is also ambiguous

eulerscheZahl: it's a green contest

eulerscheZahl: like a green banana. not ripe yet

MSmits: all French is ambiguous to me. It can mean anything

struct: I dont know why this game crashes when I try to play multiple games

MSmits: locally?

struct: yeah

eulerscheZahl: some static stuff?

MSmits: is it vanilla or have you been fixing bugs?

struct: ah must be that eule

eulerscheZahl: IDs out of range or so

struct: Yeah thats the reason I think euler

eulerscheZahl: had a similar experience for locam(?) long ago

struct: Im not fixing bugs MSmits

MSmits: ah

struct: Just wanted to spot the bug you mentioned

MSmits: oh ok

struct: to check if its tooltip or game bug

eulerscheZahl: game bug

struct: Anyone found out why yet?

MSmits: we know where it happens

eulerscheZahl: we discussed that. frame 14 to 15

MSmits: it happens when you throw cards

eulerscheZahl: throwing only 1 card

struct: ah ok

MSmits: perhaps when you only have bonus cards

MSmits: as that was the case fo rme

struct: Has this been reported?

eulerscheZahl: yes

MSmits: kovi says so

eulerscheZahl: he says fixed but not deployed

struct: :thumbsup:

struct: Time to get back into my bot

struct: havent coded anything for it today

eulerscheZahl: japan isn't happy either https://twitter.com/_simanman

MSmits: considering as you spend a lot of time working on creating games, I have a suspicious feeling you like debugging their game more than your bot :P

struct: well I just like the game to be bug free

MSmits: same

eulerscheZahl: we all do

eulerscheZahl: except if i find a bug that no one else does and i can abuse it

MSmits: haha like you can keep that to yourself

eulerscheZahl: good point

Smekarn: Then it's a feature, not a bug

eulerscheZahl: never trust me with a secret, it will backfire

struct: bugs, features whats the difference?

struct: Also tbf its way easier to spot bugs when you have more than 100 people looking for them

eulerscheZahl: i know, been there

eulerscheZahl: 2 months of testing kutulu (intensely) and still some oversights

eulerscheZahl: how was it even possible to get -1 cards to play?

struct: thats what im afraid off

struct: :)

eulerscheZahl: asking so that we don't patch a symptom without fixing the root cause

MSmits: yeah, it should be easy to figure out though. Just check all references for plays left and find the lines where it is subtracted from

struct: else if (player.getAction().isWait()) {

           gameSummaryManager.addWait(player);
           player.setPlaysLeft(0);
       }

struct: might be the cause

struct: you play wait

struct: then --

struct: you get -1

struct: or this might be new?

struct: Idk

MSmits: set plays left becomes 0 though

struct: But the phase doesnt change I thikn?

MSmits: no idea

MSmits: you have the intellij view

jacek: idea intellij

struct: I think this is what happened you set to 0

struct: then it still decrements --

struct: because its still playCard turn

MSmits: yeah has to be something like that

struct: of phase

struct: w/e

jacek: imagine if java had unsigned types

MSmits: how many places in the code does decrementing happen?

struct: only here

struct: https://github.com/societe-generale/GreenCircle/blob/master/src/main/java/com/codingame/game/Referee.java#L143

MSmits: well then the bug must be there

MSmits: thats the only place where removeoneplay is

MSmits: but thats a function

MSmits: you need to check where the variable playsleft is modified

MSmits: it could be modified by a different function

struct: it was modified on wait

struct: to 0

struct: then you check which phase it is

struct: it is play phase

struct: you decrement by 1

struct: and plays because -1

eulerscheZahl: ok, you convinced me

struct: become*

MSmits: hmm

MSmits: if (activePlayer.getPlaysLeft() <= 0) {

               gameSummaryManager.addNoMorePlayingCardAllowed(activePlayer);
               activePlayer.setPlaysLeft(0);

MSmits: this makes it immediately 0 again?

struct: https://github.com/societe-generale/GreenCircle/commit/71cbcdf9b96feed1f0cb6db37fc77fa5cbecd7f3

struct: its new

MSmits: cool

struct: it makes sense, if it was the root idk

struct: and im too lazy to check

eulerscheZahl: https://www.codingame.com/replay/642495725 frame 38 is the bug with no play

eulerscheZahl: and frame 30 he decides to WAIT instead of playing a card

eulerscheZahl: that frame 30 causes frame 38 to fail

struct: :)

MSmits: my bot is now rank 25 =) It started automating cards

struct: nice MSmits

eulerscheZahl: so i agree with your findings struct, nice catch

struct: still bruteforce?

struct: Thanks

MSmits: yeah, i just adjusted the eval to like automated cards

MSmits: this is what is nice about simmed bots

MSmits: you try to change the result not the actions

eulerscheZahl: more easier to improve one thing without breaking everything else

MSmits: exactly

MSmits: it's harder to get your bot to do a specific thing using a sim, but maybe that specific thing is not the best thing to do anyways

MSmits: Now to recode this entire bot in C# for a windows forms arena program

MSmits: to fit params

kovi: golden words

eulerscheZahl: porting from C++ to C#? that's total madness. and it's what i like about you so much

MSmits: :grin:

struct: madness is the perfect word

struct: MSmits you should check gui for c++ after the contest

struct: There are some pretty easy to use

MSmits: yeah i know, but thats not the only problem

struct: Is it worth to report the root cause of the problem?

MSmits: if I do something complex with C++ I am also going to have memory leaks and stuff

MSmits: struct only if this could cause other problems

MSmits: also struct, if you're interested, my bot is 1083 lines now and could still use some trimming. Should be able to get it below 1k

eulerscheZahl: yes, gives him more confidence that your suggestion actually solves the problem

MSmits: :P

eulerscheZahl: "trying to solve" in a commit message on master isn't that convincing

struct: ok

struct: Nice, I'm still trying to get something working

MSmits: still have another week struct

[SG]Sebastien: I agree, it happens only after a WAIT (only way to get a negative value)

[SG]Sebastien: nice catch struct

struct: ok so I guess is not worth to report

struct: :p

struct: thanks

struct: Yeah MSmits I'm not too stressed about it

[SG]Sebastien: the fix should be enough to prevent this from happening again. I'll check with CG when we can push it

eulerscheZahl: pointing out the WAIT in the previous turn was me. I want recognition :D

struct: I was gonna give you credit on the forum

[SG]Sebastien: thanks also eulerscheZahl

struct: As I did for MSmits

MSmits: ah yes, team effort!!

struct: Imagine figuring this without the chat

eulerscheZahl: team: t for toad m for msmits and struct gets the EA

MSmits: there's no s in team

MSmits: :(

eulerscheZahl: lots of hate for EA but i really liked command and conquer generals

MSmits: me too

eulerscheZahl: good times. before in-game purchases

MSmits: yea :(

MSmits: well.. i guess i stopped gaming before

Astrobytes: MTX has ruined gaming completely

MSmits: except strategy games

MSmits: mtx?

struct: Different studios

Astrobytes: microtransactions

MSmits: oh ok

jacek: diablo immortal :nauseated_face:

MSmits: well, only for games with PTW model

Astrobytes: jacek: yeah but it's still fun without paying

eulerscheZahl: i don't care about visual upgrades that are pointless

MSmits: I like paradox games. They have an abhorrent DLC policy, but are not PTW

MSmits: pay to play still exists

MSmits: you just pay a lot :)

Astrobytes: Diablo Imnmortal is soooo P2W it's unbelievable. The balance is screwed totally in favour of purchases

struct: its p2w with lootboxes thats the worst part

MSmits: I liked a game called stronghold kingdoms

Astrobytes: yeah

struct: before games were p2w, where you could buy items

MSmits: but it is the worst P2W ever

struct: now you buy lootboxes and have random chances

MSmits: when a new server opened, some players spent over $1000 in 1 day

Astrobytes: indeed struct

struct: Then there are some lootboxes that show you 4 items and pretend that its 25% for each

Astrobytes: MSmits: that's obscene

MSmits: yeah

eulerscheZahl: the whales

Astrobytes: Aye

struct: when in reality its like 90% for one and 10% for the others

Astrobytes: or worse, yep

MSmits: false advertising?

Astrobytes: misleading

struct: not false

MSmits: sounds false

MSmits: if they lie about probability

Astrobytes: cleverly misleading, worked out by large legal teams no doubt

struct: Some show the probability but if then they show 4 items on screen

struct: it makes it seems like its 25% for each

struct: its what I want to say

struct: When in relaity its not

MSmits: ohh ok

struct: Many people dont know it I guess

MSmits: if my job was in a legal team and this is what i was doing I'd feel like a complete loser

struct: Its the same thing for slot machines, where people think the machine owes you money due to RTP (return to player)

MSmits: with money obviously

Astrobytes: Imagine being a dev in one of these studios.

struct: but thats not how slot machines work

MSmits: RTP?

MSmits: what does it do?

MSmits: is this a button?

Astrobytes: yeah, bang-on analogy

struct: No, return to player is a %

struct: so if you put 100€ you will get 96€ avg

struct: if the rtp is 96%

struct: But this is an illusion

IvesL: i dont understand how can someone just promote from wood2 to wood1 then immediately to bronze, there are new rules

struct: The rtp doesnt take into account how much money you spent

eulerscheZahl: have you seen the show of hasan minhaj about game developers?

struct: no

eulerscheZahl: https://www.youtube.com/watch?v=pLAi_cmly6Q&ab_channel=NetflixIsAJoke

struct: ill watch later

struct: brb

eulerscheZahl: 24min but i totally recommend watching

Astrobytes: saved for later euler, thanks

MSmits: it's good

MSmits: i saw that already

MSmits: i liked all his segments

eulerscheZahl: some critical, some really funny

Astrobytes: ah wait, I've seen part of this but didn't finish, good motivation to I guess

eulerscheZahl: when he wants to talk to other players in-game and they just kill him

MSmits: haha yea

MSmits: didnt he criticize cricket and then his family hated him?

MSmits: because you can't criticize cricket in India

Astrobytes: lmao

Astrobytes: that's a sacred sport in England and India :D

MSmits: yep

eulerscheZahl: i saw the video but didn't know about his family

BrunoFelthes: 600 competidor at bronze at Sunday is not too many, isn't it?

Astrobytes: not as big as the 'official' CG contests

avdg: I still have to improve my bot

avdg: which is rank 3 in wooe 1

avdg: *wood

Astrobytes: loads of time left avdg

eulerscheZahl: to some degree players might be scared by the rules. but even a simpler game wouldn't come close to an official CG contest

eulerscheZahl: >50% of players in wood

avdg: I'm 1 of the best wood players at the moment :-)

avdg: my bot lacks lots of logic though

MSmits: feels like an official contest to me

MSmits: we even get cp for it

Nerchio: i like it

Astrobytes: cause the core players are mostly all here

BrunoFelthes: this contest have prizes

Nerchio: and nothing else matters

BrunoFelthes: should be bigger

Astrobytes: was it advertised via email?

BrunoFelthes: yes Astrobytes

BrunoFelthes: but 3 days before it starts

MSmits: very sudden though

Astrobytes: Also, it's not on the front page, or wasn't at least

Astrobytes: ah I see, thanks BrunoFelthes

jacek: nopony expected any more contests

Astrobytes: well, Thibaud did say there was a sponsored one coming up during Spring Challenge (or around that time)

eulerscheZahl: oh, sweet

Astrobytes: this *is* that 'sponsored' one I think

BrunoFelthes: i dont think that i will give legend this one.. i'm not started my simulator

Astrobytes: Lots of time left Bruno

BrunoFelthes: this simulator is very hard i think

Astrobytes: Might be easier when the bugfixes are released

BrunoFelthes: bugfixes will be released?

Astrobytes: there are a few pending on github awaiting CG approval to release yeah

BrunoFelthes: where can i find?

eulerscheZahl: https://github.com/societe-generale/GreenCircle/commits/master

eulerscheZahl: as in: fixed in code but not deployed to CG servers

Astrobytes: thanks euler

Sheeesh---: guys any guide on how to make a good simulation ?

Astrobytes: the source code? :D

Sheeesh---: or should i just wing it and see what i'm gonna make

Sheeesh---: no

Nerchio: that moment when your sim finds the winning move but the game skips card plays after training :rage:

Sheeesh---: not for this agme

Sheeesh---: game*

Sheeesh---: cound be general

Sheeesh---: like what makes a good simulation

eulerscheZahl: just write some code that takes a state (your cards, opponent cards, applications, ...) and generates all possible actions and following states

eulerscheZahl: that's not really complicated but tedious for a game like this

eulerscheZahl: then write some scoring function. for beginners just the applications you completed, technical debt, maybe automated bonus

eulerscheZahl: and print whatever sequence of actions (until RELEASE, inclusive) gives the highest score

Sheeesh---: okay thank you

eulerscheZahl: there isn't much more to say. the hard part comes when you tune the scoring or want to look into the next turn

Sheeesh---: gonna go try it thanks for your help

Uljahn: Mad Pod Racing simulation example http://files.magusgeek.com/csb/csb_en.html

Default avatar.png MichelLaviron: is it normal that if I play TRAINING while having ARCHITECTURE_STUDY in hand then the next possible moves are just releases / RANDOM / WAIT, but not playing the architecture card?

kovi: known bug, already fixed, soon deployed

kovi: (will be deployed soon)

[SG]Sebastien: yeah, it happens if you did a WAIT in the previous turn's play card phase

Default avatar.png hotbrainy: hi

Default avatar.png hotbrainy: I am laburigor

Default avatar.png MichelLaviron: ok, thanks. Indeed I did that in the previous phase to be able to release instead

Default avatar.png hotbrainy: Good.

Default avatar.png hotbrainy: are you a student?

Default avatar.png MichelLaviron: no

Default avatar.png hotbrainy: why are you in codingame?

Default avatar.png hotbrainy: or are you a developer?

Default avatar.png MichelLaviron: because it's fun ?

Default avatar.png hotbrainy: live:.cid.94aae67563a833a3

Default avatar.png hotbrainy: my skype.

Astrobytes: stop that hotbrainy

Default avatar.png hotbrainy: oh sorry.

Default avatar.png Braltz: Hi guys, I've been trying this platform to have some fun with my friends and it's amazing. I have a question, is there a way to create a private clash and start another round again when everyone finished a problem?

Westicles: you just have to send them a new link every time

Default avatar.png Braltz: Thanks for asking. And the questions are completly random right? or there's a way to select a specific topic or diffiulty

jacek: you can only set mode and language. there is no difficulty

eulerscheZahl: "thanks for asking"? you are the one who asked

Default avatar.png Braltz: I mean, answer

eulerscheZahl: not completely random. it tries to select a question that none of the participants played before

eulerscheZahl: from a pool of around 2000 clashes

Default avatar.png Braltz: I see, thanks for the info

Illedan: Where do you get Technical cards when passing the admin desk? Played cards? Hand? Discard pile?

Illedan: Same with GIVE

kovi: given card arrives together with drawn at move

kovi: the order after move throw->give->move-take-card

Illedan: The Debt cards too?

Illedan: Hmm, might not be an issue. As this only occurs if you have nothing to play. And then you don't have to worry about those cards getting reshuffled by a training

kovi: good point

Illedan: Oh, collision with the other player gives 2 debt cards :O thought it was 1

Scarfield: only if you dont have a skill card to give away?

Illedan: yeah

Scarfield: good good, thought i misread it for a sec :)

jacek: euler alt? https://www.codingame.com/profile/57640b35c62eceea153b5e0c688230477630382

Scarfield: "If they do not have any skill card in hand, they get 2 Technical Debt cards." the "they get part confused me, thought you could give your opponent debt cards at first

kovi: nope. daiver is a longtime topcoder sometimes playing here as well

rcrl: Hello everyone, does anybody already had an issue when releasing a releasable app ?

avdg: I wish they had more images explaining the actions :-)

That despite them putting efforts in creating the videos

Astrobytes: also noticed sullyper from TC

kovi: oh well, and finally a game which proves that coding can also be influenced by the "training bug"

kovi: or maybe not? (i did draw another coding but both draw/discard piles are empty)

Nerchio: if I don't have anything in the discard the input is skipped?

jacek: yes

jacek: like hand etc. as well

Nerchio: :rage:

jacek: :upside_down:

antiwonto: [auto] ':upside_down:' was defined as ' ɥǝllo '

Nerchio: how can hand be skipped jacek

Nerchio: its not just discard and draw?

jacek: maybe not hand, but any pile thats is empty is skipped

Illedan: Saving storage and coding green since 2022

Default avatar.png COOMERS: How do I do custom text cases within a challenge

Default avatar.png COOMERS: ?

Scarfield: "APPLICATION"

eulerscheZahl: oh indeed, sullype r is playing

eulerscheZahl: psyh o as well

RioTheDev: hello

Astrobytes: ah, didn't notice psyh o

jacek: psyho?

Astrobytes: thank you jacek, that will be all

eulerscheZahl: you pinged him

jacek: oh my

eulerscheZahl: https://cphof.org/profile/topcoder:Psyho

jacek: didnt you mean psycho?

Astrobytes: no

eulerscheZahl: maybe that name was taken?

Scarfield: price money $87500 :o

Psyho: it's few times larger ;)

Astrobytes: heh heh

Scarfield: damn

eulerscheZahl: that's only the prize money for on-site finals

Westicles: and now add a Nokia 3310

Astrobytes: :rofl:

eulerscheZahl: almost there https://i.imgur.com/S2o8T9H.png

Scarfield: how many people can make a living from competetive programming, i believe tour ist is one?

Astrobytes: :D

Scarfield: xD

tobk: Was there a simple way to swap 1st and 2nd player? Would be nice for testing given the vast differences whether you are 1st or 2nd (or is that just me?)

eulerscheZahl: google: cg enhancer

eulerscheZahl: adds some more bells and whistles too

Scarfield: cow bells?

Astrobytes: ^ you might need to edit the js to use only the parts you need, it can be a memory hog

tobk: Right, you recommended that some contests back already. Was too lazy to really look into it TBH... :-D

eulerscheZahl: shame on you

eulerscheZahl: may your cube stickers peel off

tobk: :scream:

Astrobytes: LOL

Scarfield: oof

avdg: the peel

Astrobytes: definitely in my top 5 insults of the year so far

Default avatar.png Lassassin: Hi

Default avatar.png Lassassin: im playing the pod game thing

eulerscheZahl: yay!

Default avatar.png Lassassin: im better than boss but its not promoting me from wood to bronze

MSmits: lol

avdg: is the submit done recently?

Default avatar.png Lassassin: yes

avdg: if so, you have to await the matching

jacek: it says theres still 50% more games to play

jacek: you need to wait to finish

Default avatar.png Lassassin: ok

Default avatar.png Lassassin: it says battle 65%

Default avatar.png Lassassin: im rank 1

Default avatar.png Lassassin: still in wood 1 league :()

Default avatar.png Lassassin: :(

eulerscheZahl: 6% < 100%

jacek: wait till 100%

eulerscheZahl: 65*

Default avatar.png Lassassin: oh mb i thought 50% is enough

Default avatar.png Lassassin: this platform is pretty fun lol

Default avatar.png Lassassin: wohoO

Astrobytes: :tada:

Lassassin: :tada:

jacek: spoiler alert: -3vel

MSmits: :scream:

Scarfield: oh psy ho streams

Astrobytes: I only stream tears :D

MSmits: how goes it with the bot Astrobytes?

Astrobytes: haven't worked on the sim version today, just messing around with heuristic stuff today and back to real bot tomorrow

jacek: have you tried -3vel

MSmits: ahh ok

Astrobytes: hopefully bugfixes will be released tomorrow too

MSmits: I have problems concentrating on coding on work days

MSmits: so i went nuts this weekend trying to finish sim

MSmits: that way i can do light stuff during the week like fitting parms

jacek: i havent unlocked my full potential knowing there are still bugs in the game

Astrobytes: fair MSmits

Astrobytes: lol jacek

MSmits: this week is my last real teaching week before the summer too. We got test week and activities and such, but normal classes will be over

Scarfield: unfortunate timing

struct: Just make the students play the game

Astrobytes: yeah, typical!

struct: and give you strategies for it

Astrobytes: struct :D

MSmits: haha

Scarfield: are there prizes for this contest?

MSmits: dont think i have a student interested enough to do this this year

MSmits: 3 phones

MSmits: did I mention I have never owned a smartphone

Astrobytes: aw damn, that sucks

Astrobytes: and yes

MSmits: :)

MSmits: I am waiting till i win one

Astrobytes: if you win, just sell it

MSmits: that works too

struct: ill trade you a CG shirt for it

struct: oh wait

MSmits: The IT team of my school was trying to get me to use a phone as 2-factor authentication, so i almost got locked out of all systems

MSmits: but i found a way to use google authenticator app

Scarfield: xD

Astrobytes: heh heh

MSmits: they didnt know that existed

Astrobytes: 2FA can be done just via text though, don't need a smartphone for that

jacek: ok boomer

MSmits: yeah you can check the QR code as well and get the adress right?

Astrobytes: oh lol

MSmits: i never knew this.

MSmits: I have been calling companies that wanted me to use the QR code and when i said i had no phone, they told me i could just not use their website then

Astrobytes: ffs

Westicles: the best thing about a smart phone is remoting into your pc to check your program

Astrobytes: world has its priorities upside down I tell ya

MSmits: I like to just use a small laptop

struct: MSmits you can use your smartphone to make the oware book

MSmits: in addition to a good PC

Daporan: smartphones seem useful for locating yourself and/or getting a taxi if you get lost

Astrobytes: hah

Astrobytes: that's about it

MSmits: yeah i agree they can be very useful Daporan, but i only go somewhere i havent been, once or twice a year

struct: There goes your chance to win 1 of the smartphones MSmits

Astrobytes: also hi Daporan o/

MSmits: lol struct

MSmits: and hi dapo

Daporan: hi

Astrobytes: Playing? :grin:

Daporan: that's an open conjecture

Astrobytes: fair

MSmits: if you need more info to decide. It's a reasonably fun game, but a very wordy and confusing statement

Astrobytes: at least the code doesn't lie

struct: and a few bugs that the next version should fix

Lassassin: any tricks on how i can use collision to my advantage

Lassassin: ?

struct: Lassassin dont worry about collisions until legend

MSmits: tbh if this had been magic the gathering themed with 8 colors for mana and each color having a special ability, i would have understood it much faster

struct: Lassassin try to store the checkpoints in an array

Astrobytes: *plus a correct statement MSmits

Default avatar.png Glyptod0n: just so i'm understanding the game correctly, the player that goes second is kinda at disadvantage when it comes to having to give cards away right? because in the game i'm looking at, it's just me giving away cards to opponent the whole time lol

MSmits: well that too

struct: after the first lap is completed you can start aiming to the next checkpoint

struct: once you are close enough to the current

MSmits: Glyptod0n not necessarily, just the first turn. You can jump over him and he will have to jump over you next or give you cards

MSmits: two plays can keep froghopping over eachother and rack up lots of admin losses

MSmits: players

Default avatar.png Glyptod0n: ah okay, thanks for the hint

struct: The next patch should fix the creation of bonus cards right?

Lassassin: so basically when i come closer to the current checkpoint, i instantly target the next

Lassassin: ?

struct: It should work yes

Lassassin: i see, lemme give it a try

Astrobytes: yes, it helps to take into account your velocity too

Lassassin: i think if i could just draw a line of the lap and idk, it sounds better in my head but idk how to implement it

Lassassin: weird

jacek: its simple logic - target far straight ahead? thrust 100 or boost. closer? smaller thrust

Lassassin: hehe not that simple

Lassassin: :3

Lassassin: or maybe it is and im just bad

struct: There is any easy way to get gold

struct: not sure if you want it or not

jacek: :zipper_mouth:

Lassassin: how to get harder clash of code problems?

jacek: you cant. they are random

Astrobytes: pretend Mad Pod Racing is a clash [solved]

Lassassin: ohno

Astrobytes: jacek fix your responses

jacek: thats what she said?

Scarfield: ohno?

Astrobytes: that'll suffice I guess

Westicles: Lassassin, approve this for harder clashes

Westicles: https://www.codingame.com/contribute/view/18429f2b452ae7ee8e44b2ecf12e69e8f3960

jacek: youd need 100 (300?) clashes to approve

bobth: 50

bobth: i think

jacek: threshold is so slow

jacek: low even

bobth: yeah

bobth: and just the number you played, not whether or not you played well

Illedan: Seems decent Westicles, but might be hard for most people

Westicles: the python crowd doesn't seem to like 2D grids

MSmits: not without numpy

bobth: I like it lol

Manchi_o6o7: Hey guys. Can someone help me out with what does -f means in bash

Astrobytes: lol, not wrong MSmits

Manchi_o6o7: for example in an if statement [ -f $something ]

Astrobytes: looks fine Westicles, I'd try it as an easy puzzle since it failed at clash

MSmits: I made it to top 10!

MSmits: well...10 tbh :)

Astrobytes: gratz MSmits!

MSmits: thanks, just been fiddling with params

Astrobytes: figured that :)

jacek: opening book eh

MSmits: no book

Illedan: Nice MSmits

Illedan: I have no idea why I'm still here

struct: grats

MSmits: where?

Astrobytes: here

Illedan: 8th :P

MSmits: oh ok

MSmits: because your bot is good?

Astrobytes: there

Illedan: No?

struct: My bot just doesnt work because of referee bugs /as

struct: /s*

Illedan: else if(moves.Any(m => m.Contains("CONTINUOUS_INTEGRATION") && !m.Contains("CONTINUOUS_INTEGRATkION 5"))){

Illedan: This is one of my IFS

Illedan: :D

Astrobytes: that's.... very specific :D

MSmits: at least you thought about what would be good moves

MSmits: I still haven't used any strategy behind some common sense params

MSmits: except some params i mean

MSmits: (tired)

MSmits: nothing hardcoded

MSmits: I still need to spend time thinking about this game to know what to eval

Illedan: At least I have some base logic to encode into my sim when it's done

MSmits: yeah

Illedan: As it seems to work

MSmits: works fine

Astrobytes: indeed

MSmits: btw, my version at rank 10 had a 55% WR compared to my version at rank 22

MSmits: relatively small change. Fairly random ladder I think

struct: well 10 and 22 is close

MSmits: not sure if it's rock paper scissors effects, or the fact that the game has a lot of random

MSmits: almost 2 rating points

Astrobytes: significant

MSmits: how do rating points convert to WR?

Inc_: This was probably asked before, but in the Green Circle contest, how do you know how many skill cards are in the desks (in Wood league)?

MSmits: total - everything else

MSmits: desk -> total = 5

Inc_: okay, a bit of calculation. thanks!

MSmits: np

MSmits: they should probably have given it as input

Astrobytes: lets not start on the "should haves" for this one :D

MSmits: heh right

MSmits: so far I am liking this contest

Astrobytes: I don't dislike it

Astrobytes: that's high praise from me

MSmits: probably would not be good if it was a month long, like locam was

Astrobytes: ugh. Well, they might have fixed all the bugs my then! /s

MSmits: true

MSmits: anyways, I am getting some sleep. Work tomorrow. Gn!

struct: gn

Astrobytes: It's a little bit different to the norm, this game. kinda what I like about it

Astrobytes: gn MSmits

jacek: :older_man:

Astrobytes: ^ relatively accurate but too old looking

Default avatar.png Paroni: out of curiosity, what does it mean when an opponent gives different results when "replayed in same conditions"? why does it benefit them to induce randomness?

Astrobytes: did you remember to set to 'manual'?

jacek: so they cant counter book youu

Default avatar.png Paroni: i didnt think setting to manual was generally necessary when battling the same opponent without changing my own code? all other opponents have always given the same result. And is it really only for preventing counters? :D

jacek: it depends. if they use search, it number of iterations per turn may affect the outcome

Astrobytes: it sets the game seed to whatever it was in the game, should help with randomness unless the player is using a dynamic seed in their random or a search issue as jacek described

Default avatar.png Paroni: thanks. I should maybe some day learn how to do a search and stop it before it times out...

Astrobytes: you definitely should, all things in due course :)

Astrobytes: jacek: you seem unusually interested in this contest

Astrobytes: (unusually for you I mean)

jacek: huh

Astrobytes: you don't generally bother about the game much past a couple of days in

struct: jacek is just looking for bugs

Astrobytes: troll material eh

Westicles: theres a nice puzzle (wine from kalbodia 2) about to expire the 2nd time with 2 approvals if anybody is bored

struct: finally managed to work out a logic that will work for the move

struct: ...

avdg: Still not in bronze but I guess I should only optimize my bot now (apart from the new rules in bronze)

jacek: until next bug

struct: optimize? do you mean improve?

avdg: my rust bot didn't crash yet :-)

avdg: and it compiles

avdg: and yeah, I have to make it smarter

avdg: my ai with random moves was still performing better though

Westicles: made my monkeypox clash into an easy puzzle, seems it also was too hard for a clash

Westicles: also

Astrobytes: no clash is too easy but clashes can be too hard. Gotta love that

Illedan: Wow

Illedan: That last bug reported on the forum :D

Illedan: #Ez life

struct: lol

struct: yeah

struct: just saw

struct: seems like a massive bug

Illedan: oh yeah

jacek: hm?

Illedan: rofl

Illedan: Check the forum

Astrobytes: hahaha omg

Illedan: Soo, where do we wanna stay to crush everyone for the night?

Illedan: xD

jacek: oh my

struct: achitecture Illedan

struct: Then you can take other cards

struct: its over

Illedan: I did crash

Illedan: hmm

struct: let me try

Illedan: Might need 1 of 2 first

Illedan: yeah

struct: I need 1 daily routine 1st?

Illedan: yes

struct: seems simple enough

Westicles: someone is gonna hide with a bug and win it all

jacek: i like cats

Astrobytes: I presume Karang had no luck with the int cracking

Astrobytes: *random int

struct: I was going to sleep, with this new discovery I can't

struct: oh well

avdg: bye bye sleep

avdg: but I'm going :-)

Astrobytes: always an excuse to stay up struct :D

struct: gn avdg

avdg: gn

Astrobytes: gn avdg

struct: This one should be trivial to fix though

Astrobytes: yeah. It's a fun one though

struct: Its a bit of a strange one though

Astrobytes: does it work with the fixed version on github? I haven't downloaded that yet

struct: not sure

SandmanSW96: Since NOBODY bothers to read feedback here lol:

antiwonto: [auto] Hey SandmanSW96, here is a :taco: for loggin in today while it is quiet. You now have 12 tacos

SandmanSW96: tc all

SandmanSW96: shove the taco up your ass, here's my post:

SandmanSW96: http://chat.codingame.com/pastebin/3e134a09-06b8-4ac2-ba11-8b82c4a8fc36

antiwonto: [auto] SandmanSW96 be respectful and watch your language https://www.codingame.com/playgrounds/40701/help-center/code-of-conduct

SandmanSW96: cl-ass

Astrobytes: SandmanSW96: some of us do, and I understand your frustration, fwiw

jacek: oO

Astrobytes: can't see the approval system getting better any time soon though

struct: oh well

struct: Every1 can get frustrated it happens

struct: ill let it slide

Westicles: the only change they ever needed was to hide author's code and require you to solve it before approving

Astrobytes: ^ this allllll day

Astrobytes: I would also like a 'verified understandable translation' thing

struct: That one might be harder

Astrobytes: Not really. They want things in English? Plenty speakers to verify. They want it in French? Likewise.

Astrobytes: *native speakers

emh: if someone keeps jumping 2 steps ahead of you then you should decide where you want to go and jump 4 steps before it. ez

struct: Im only taking so long on backgammon because I'm writing the statement in french

Astrobytes: struct :rofl:

Astrobytes: emh: is the house guest behaving

struct: There is even a better way emh

emh: Astrobytes yes she is taking a shower

Astrobytes: cool :)

emh: struct how?

struct: There is a way to never meet the admin team emh

jacek: how much did it cost

struct: Check forum

emh: really?

struct: It will be patched but use it I guess

struct: It's a funny bug

Astrobytes: yeah it's an amusing one

struct: Good thing someone found it

jacek: unit tests are not green

struct: and even more important reported it

struct: This bug could win the game alone

struct: If it was done by a top player on last submit

Astrobytes: restores a fraction of my faith in humanity

jacek: there goes my plan :rage:

struct: "top player"

jacek: top with the bug

struct: You are right though

struct: probably any bot on top 20 could win with this bug

Westicles: SG is an investment bank, they want sneaky people

struct: What if they are recruiting bug hunters for the company?

struct: and this is all a test

Astrobytes: lol struct, Westicles

emh: struct is it like MOVE 2 2?

struct: but you need to have daily routine

struct: after that MOVE 2 3 might work

struct: i have tried it

struct: havent*

Astrobytes: don't you need 2 daily routines?

struct: oh yes

Astrobytes: well, 2+

struct: I was gonna try it

struct: But I would have to rush some stuff and I dont feel like it

Astrobytes: the starter bot is alright for testing things

Astrobytes: don't need to mess up your proper bot

struct: yeah

Inc_: is the card location "PLAYED_CARDS" missing in the inputs?

struct: you only get it if you played cards

struct: on previous output

struct: and if the phase is play card

Astrobytes: no it's there, what struct said :)

mlomb: also in release phase

struct: oh ok

Inc_: "the cards you played during this turn *and that will go to your discard pile at the end of your turn*"

So it doesn't give you the information about the permanent skill (ARCHITECTURE_STUDY) o.0

struct: It does

struct: You have AUTOMATED

Inc_: Wood 1

struct: ah wait

struct: not there

struct: it gives in player inputs

struct: the architecture

Inc_: so, I gotta get to the next league? :D

struct: no

struct: ah but maybe you dont have this skill there

Inc_: thx anyways

struct: ARCHITECTURE_STUDY (4). This is a permanent skill: once played, it stays active until the team has released one application. The team will draw one more card at the beginning of their turn. If you play many cards, their effects will add up.

struct: This is what architecture does

struct: and its given on permanentArchitectureStudyCards

Inc_: sure, but not how many are currently active

Inc_: ah, I see

struct: you get it when reading the player position, score and such

Inc_: thats confusing

struct: well the card will stay in your deck

struct: it will just increase your cards drawn

struct: Might be a bit confusing yeah

Astrobytes: lets focus on the non-confusing parts of the game. e.g. There are cards

Astrobytes: :P

struct: oh sounds easy

Astrobytes: heh heh

struct: Good thing I didnt test for this contest

struct: I would not find a single bug

struct: :D

Astrobytes: :rofl:

Astrobytes: seriously though, I have no idea why they stopped the user testing

struct: well the last one was SC21

struct: the other one didnt really need testing

struct: since it was a reuse

Astrobytes: It would have benefited from it

struct: Maybe they are worried about leaks

struct: or bots being too strong at day 1

struct: My bot for SC21 was almost 24 hours at the top but my last version has 100% win rate vs it

struct: so idk

Astrobytes: meh, the tester bots are too strong thing is a fallacy

struct: you dont have anyone to test against

Astrobytes: exactly

struct: You do since there are more testers

Astrobytes: well yeah, but that's a very small sample size

struct: But im not gonna try hard on testing

struct: Its not the goal

struct: I did go bitboards on it

Astrobytes: exactly, it's finding bugs

struct: but thats because the game asked for it

struct: and im not gonna play an hex game without it

Astrobytes: "the game asked for it" is a fantastic statement

struct: lol

struct: and I was happy to see that it was a game that I previously thought of porting

struct: I think its one of the best games on CG

Astrobytes: the photosynthesis one?

Astrobytes: Fair I guess, I wasn't overly amazed by it but it was decent

struct: Its intuitive

struct: You can tell if your bot is doing well or not

struct: Cant say the same about many

Astrobytes: Alright yeah, in that respect you're right

struct: emh did the bug work?

struct: or you did not test it?

emh: I'm trying

struct: :thumbsup:

Astrobytes: to exploit it properly it needs some cleverness

emh: yeah seems to be working

Astrobytes: nice

struct: does it only work with 2 2

struct: ?

Astrobytes: no it seems to work with any desk as long as the card number matches, only local test not submit

Astrobytes: don't take my word for that though

Healer1064: Hello, Friends!!!

struct: hi

Astrobytes: o/

Healer1064: Hi

Healer1064: Happy holiday!

Default avatar.png Troph: Hi all

Astrobytes: salut Troph

Default avatar.png Troph: I'm surprised some people are still awake

Astrobytes: LOL I just said that to Blaise in fr :D

Astrobytes: well, similar

Default avatar.png Troph: I kind of cheat I'm in GMT-4

Astrobytes: Troph: Caribbean?

struct: bad timezone for last day though

Default avatar.png Troph: Astrobytes exactly

Default avatar.png Troph: struct why so ?

struct: if you want to submit at the end

Astrobytes: putain, lucky bastard :D

struct: its like 4 am for you

struct: unless you are not playing the contest

Default avatar.png Troph: I am currently unemployed so I wouldn't mind

Astrobytes: I feel that

Default avatar.png Troph: besides, I don't think a last minute submit would change anything for me, I plan on making it to gold, legend top

struct: yeah similar to me

struct: My last day submit achieve nothing

Astrobytes: well.... worked last contest no?

struct: I cant even remember

struct: When I made it to legend

struct: if it was last day

struct: or not

Astrobytes: it was

struct: oh, then I guess it worked lol

struct: But I hope I don't have to do it again

Default avatar.png Troph: the last spring challenge ?

Astrobytes: yeah

Default avatar.png Troph: Is it possible to reach legend without any sort of simulation ?

Astrobytes: if you can tune your heuristics well enough I don't see why not, bit early to say

Astrobytes: Though single turn bruteforce is doable so that might mitigate that

BrunoFelthes: I'm not using simulation, and I'm top 10 now...

Default avatar.png Troph: hmm, I thought of a single turn brute force but I did not see how it could work, since there are multiple phases in a turn

BrunoFelthes: but I'm think that it will be very hard to reach legend without search

Default avatar.png Troph: BrunoFelthes can I ask what are you using ?

Astrobytes: BrunoFelthes: I suspect so too

BrunoFelthes: 1000 lines of if/else

Default avatar.png Troph: oO

Astrobytes: also, congrats on top 10 :)

Default avatar.png Troph: you must have a really good understanding of the game

struct: 1k lines of if else o.o

struct: I dont know how to make bots like that

Astrobytes: Troph: regarding the phases, you can bruteforce the possible randoms too

BrunoFelthes: it is java, it is very verbose..

Astrobytes: :D

struct: my code is very verbose as well

Astrobytes: spaghetti if code is the worst

BrunoFelthes: i have a function to each game phase

BrunoFelthes: Move phase with 500 lines of code...

Astrobytes: yeah, best way to keep it semi-organised I guess :D

struct: move is the hardest

Astrobytes: I'm still not sure I fully understand all the repercussions of move

Astrobytes: I guess I will find out tomorrow

struct: well move can make you throw cards, followed by giving cards

Astrobytes: tomorrow == today I mean

Default avatar.png Troph: what do you mean repercussion of move ?

Astrobytes: Yeah exactly struct

Astrobytes: Troph: what struct said

Astrobytes: in different situations this can get a bit confusing

Default avatar.png Troph: and very punishing

BrunoFelthes: yeah, and at legend, I think that move will need to consider the opponent block, i do not look to the opponent

Astrobytes: yes indeed Troph

Astrobytes: BrunoFelthes: I'm not sure on that yet, time will tell I guess

Default avatar.png Troph: what...top ten and you do not look where the opponent is ? oh my...

BrunoFelthes: no, i do not try to block opponent moves

Default avatar.png Troph: that's impressive to say the least

Astrobytes: well there's a minimal amount of interaction

Default avatar.png Troph: ah

BrunoFelthes: i think that maybe, the best start will be at 4, not at 5

struct: wouldnt the best start be 1?

struct: ah no

BrunoFelthes: top players are starting at 5

struct: it wont work

Default avatar.png Troph: I have the impression that top player start by farming 5

emh: I've submitted with bug exploit, but you're right, it does seem like some cleverness is needed

emh: resting at CI and automating bonuses is too slow

emh: for some players

emh: bonus until 8

Astrobytes: Yeah it's not overly beneficial. Anyway, don't put too much thought into it as it most likely will be fixed :D

Default avatar.png Troph: until 8 ? that seems a bit overkill

Default avatar.png Troph: what will be fixed ?

struct: you dont have to pass through admin

Default avatar.png Troph: :o

Default avatar.png Troph: how ?

Astrobytes: check the forum thread :sunglasses:

Default avatar.png Troph: will it be fixed before or after silver

Astrobytes: yes

Astrobytes: :P

Default avatar.png Troph: :unamused:

Default avatar.png Troph: will it be fixed before silver ?

Default avatar.png Troph: :p

Astrobytes: no idea, not sure if they picked it up yet tbh, was later today when it was found, still a load of fixes ready to be released

Default avatar.png Troph: I should have rephrased with "Will it be fixed before XOR after silver". I'm keeping that one in mind for next time

Astrobytes: :D

Astrobytes: love it.

Astrobytes: Anyway, gonna get some rest.

Astrobytes: bnbn

Default avatar.png Troph: gn

Astrobytes: (one choco)

Default avatar.png Troph: (you owe me royalties on that one)

Astrobytes: :D

struct: gn

emh: gn

Alexander-Zierhut: those profile pictures are so obviously bots, some of them xD

struct: Where?

struct: clash of code?

Default avatar.png Troph: which one ?

Alexander-Zierhut: I like that they fill players but those are obvious sometime xD

Alexander-Zierhut: https://static.codingame.com/servlet/fileservlet?id=85849548187819&format=profile_avatar

Default avatar.png Troph: in clash of code ?

bobth: Alexander-Zierhut uh

bobth: that guy is not a but

bobth: bot*

antiwonto: [auto] 'bot' was defined as ' Automaton2000 '

Automaton2000: let's wait for the next checkpoint

Default avatar.png Troph: oh Automaton2000 is here too !

Automaton2000: what are you struggling with?

Default avatar.png Troph: life :(

Inc_: Response time per turn ≤ 50ms (Doing Green IT means sparing resources)

D

struct: you cant go lower than 50ms on the sdk

Alexander-Zierhut: @bobth it's all fun and games.

Inc_: I like the addition about green IT

Alexander-Zierhut: Sure, huge field here in GER

Default avatar.png Troph: Did I miss something or "green it" is just "good practices"

Default avatar.png Glyptod0n: i'm not understanding what playing DAILY_ROUNTINE card do, "the team can get their new skill card from a desk one step away", how is the team "getting" the skill card one desk over? I played that card, but i'm still getting the card of the desk i'm at, and if the desk has no more card, it still just gives me BONUS card

struct: Glyptod0n its a permanent skill until you release an app

struct: which makes you choose a card at distance DAILY_ROUTINE

struct: when you move

struct: permanentDailyRoutineCards

struct: thats the var

Default avatar.png Troph: I think he asks how to get the card for another desk

struct: MOVE 4 5

struct: for example

Default avatar.png Troph: from*

BrunoFelthes: at the next move

struct: that card only has affects on the following turns

Default avatar.png Glyptod0n: oh got it, thank you very much; yea I didn't notice the MOVE [desk1] [desk2] after playing ROUTINE card

Default avatar.png Glyptod0n: thanks!

struct: np

BrunoFelthes: cgstats is not with this contest?

struct: you can change the url

struct: http://cgstats.magusgeek.com/app/green-circle/brunofelthes

BrunoFelthes: ty

struct: np

struct: almost 400 lines to the apply move function

emh: seems like I wasted the last 7 hours on deteriorating code. my 7 hour old submit is still much better.. well well I guess I'll try to backport the changes one by one

Default avatar.png Troph: I admire that you guys can find pattern and strategies without actually playing the game

struct: emh no version control?

emh: nahh I use the CG history

struct: o.o

struct: ah I forgot you use cg ide

Default avatar.png **Troph is also guilty of this

emh: I changed to VS Code

emh: github copilot is so nice

emh: autocomplete

emh: I have done git init in the folder, but no commits haha

struct: ok i wrote the entire move play without testing

struct: lets see how many bugs I have lol

struct: I use git but I only commit

struct: I never revert changes

emh: ok me too usually

emh: but now I should sleep

emh: 7th still

struct: me too

struct: But a few more minutes for me

struct: I think I found another bug?

struct: Can someone check frame 4 to 5

struct: https://www.codingame.com/replay/643075790

struct: I should lose 2 bonus cards right?

struct: 2 get added to the mid pile

struct: but only 1 gets removed from my hand

Default avatar.png jujurocking: It's a known bug

struct: ok, just wanted to make sure

struct: thanks

Default avatar.png jujurocking: If you have only one type of card the game remove only one copy

struct: ah

Default avatar.png jujurocking: I think it should be fixed with the next update

struct: thanks again

Default avatar.png jujurocking: np

Westicles: wait, tomorrow is a holiday?

struct: where?

Westicles: good 'ol USA

Westicles: stock market is closed and everything. never heard of this holiday before

struct: Whats the holiday for?

Westicles: I don't know

struct: Juneteenth

Westicles: must be some twitter thing

struct: I think its the date that marks the end of slavery

yhyoxx: any tips for this contest ?

yhyoxx: did it really end ..?

struct: yhyoxx im just gonna run a sim and bruteforce depth 1 and eval

struct: There are people at the top with ifs

struct: lots of them

yhyoxx: since the cards have effects u can use ifs yea

yhyoxx: wont it be hard to write the sim ?

yhyoxx: it's almost rewriting the game right ?

struct: yes

struct: it was painful

struct: let me check how many lines of codes I have now

struct: 1 sec

struct: 1520

yhyoxx: and after that u get real good understanding of how everything works

yhyoxx: that's a lot of lines

struct: Well now I know the rules

yhyoxx: worth it

struct: I havent submited yet because I just finished the sim

struct: It seems to be working?

yhyoxx: u got this

struct: at least it doesnt crash and I have asserts everywhere

yhyoxx: struct rank 1

struct: lol

struct: Ill be happy with legend

yhyoxx: me too ;_;

yhyoxx: or gold

Westicles: my goal is silver without reading anything

yhyoxx: without ever reading what u type

yhyoxx: that's a challenge

yhyoxx: struct how is depth 1 search gonna be useful ?

struct: by depth 1 I mean until release phase / wait

struct: so not just 1 move

yhyoxx: i see

struct: I don't recommend sim if you don't have experience with them

struct: This game is a bit complicated to sim imo

yhyoxx: thought so

yhyoxx: ill try to understand the game better first

yhyoxx: hand, draw pile and discard pile are confusing me

struct: there is even one more pile now

struct: played

struct: so played cards go into played pile

struct: when your turn ends (after release or wait)

struct: they go into the discard pile

struct: all your cards in hand will also go into the discard pile

struct: When your draw pile is empty, the discard pile will go into the draw pile

The_Duck: man I implemented simming TRAINING and the first time my bot tries to use it it hits the you-don't-get-a-second-play bug. what an anticlimax

struct: The_Duck yeah easy to create bugs here

struct: The Move phase is pretty hard imo

The_Duck: I mean, my code worked AFAICT, but I hit the referee bug

struct: ah

struct: There are plenty

struct: It should be fixed tomorrow most of them

struct: There is one that hasnt been fixed yet on git repo

The_Duck: what is it?

struct: https://forum.codingame.com/t/contest-green-circle/196455/72

struct: you can avoid going into admin with it

The_Duck: oh haha

j4at: good job struct :) You actually finished the sim :o I gave up after finding out that I had bugs in my Search race sim although I read the referee!!! I was half way done but I'm pretty sure that It will be full of bugs, because its always is! so I decided to give up.

struct: Thanks, what bug did you have on the referee?

Default avatar.png NAbeeel: whatsup

antiwonto: [auto] 'up' was defined as ' a direction, specifically the direction away from the center of earth, opposite to down '

Default avatar.png NAbeeel: i h8 u

j4at: Didn't even test my green circle one. I decided to give up because I know that I always make bugs. In search race I don't remember :3

struct: An error occurred (#407): "You reached the limit of plays for a period of time.".

struct: zzzz

struct: I dont understand

struct: https://www.codingame.com/replay/643083662

struct: Frame 29

struct: I train

struct: but dont get cards?

struct: On blue player

The_Duck: do you definitely train?

struct: ah

struct: I drew 2 tech

struct: thats why it skipped the turn

struct: the viewer makes it seems like I didnt

struct: But my discard pile was 3 tech debt before training

struct: and it becomes 8 after

struct: so I guess thats why

The_Duck: oh

The_Duck: I find this viewer quite confusing

struct: It is

struct: They should have added intermediate frames

struct: but its too late now

struct: imo

struct: It takes a bit of work to do that

struct: But I think the game is still fun

struct: Anyways I'm out for the night, gn everyone

yhyoxx: gn

AbrahamJLR: wtf that username. https://imgur.com/NdqbMIF

antiwonto: [auto] Hey AbrahamJLR, here is a :taco: for loggin in today while it is quiet. You now have 1 tacos