Chat:World/2021-03-05

From CG community
Revision as of 12:01, 15 June 2021 by Chat Log (talk | contribs) (Created page with "File:Default_avatar.png Xotiic_312: hello File:Default_avatar.png Xotiic_312: I am very new here just started my epic coding journey File:Default_avatar.png Mays...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Default avatar.png Xotiic_312: hello

Default avatar.png Xotiic_312: I am very new here just started my epic coding journey

Default avatar.png Mayssen: same here :fist:

Default avatar.png Xotiic_312: I sounded just like those weird intro people in every coding adventure right?

Default avatar.png Xotiic_312: bye

thanshaw: anyone out there?

padobranac: yup

UwU_HEWO_UwU: hihi :3

UwU_HEWO_UwU: :upside_down:

Default avatar.png MonishM: how do i get promoted to a new level on spring challenge 2020

Default avatar.png MonishM: im 1/371 but still at the bottom level for some reason

Theino: it can take a few minutes

Default avatar.png MonishM: oh ok thanks

Theino: that's what I'm working on too!

Default avatar.png MonishM: oh lol good luck

Theino: u2

Default avatar.png acuto: hello

UwU_HEWO: hoi dare :T

UwU_HEWO: :u6709:

Default avatar.png radhwane: hello

oddoneout: g'morning!

UwU_HEWO_UwU: morning

UwU_HEWO_UwU: :3

UwU_HEWO_UwU: :3

oddoneout: uwu wats this

wzg: hello smile

derjack:

KyeSama: hi

etkgjt: hello

Passifi: good mornin' fellas

Default avatar.png Corinalxndr: hi

Default avatar.png Corinalxndr: i m new

Default avatar.png Corinalxndr: someone?

jrke: hello

PewPewBewm: o/

Default avatar.png Kingcrusher9211: helo

Default avatar.png Kingcrusher9211: jrke

Default avatar.png Kingcrusher9211: corinal

Passifi: Jo anyone know How you activate that need double cursor ? I only ever do that by accident and I think it might come in handy one day to be able and summon it deliberately ^^

Uljahn: press F1 for a list of commands

joanne42moore: Is there some way to keep trying to solve a Clash of Code after the timer runs out? Not for credit of course, just to practice :)

Uljahn: no

joanne42moore: thanks Uljahn

darkhorse64: try puzzles

joanne42moore: Good idea darkhorse ^^

Default avatar.png Kingcrusher9211: code

Passifi: thanks Uljahn

UwU_HEWO_UwU: -w-

UwU_HEWO_UwU: UwU

UwU_HEWO_UwU: UwO

darkhorse64: try easy puzzles first, especially the official ones, then either raise the level or random pick amongst others. The quality varies a lot, so follow your feelings and interests

Astrobytes: amazing, in 8 out of 11 games I had 3 against you, darkhorse64, and 5 against... derjack

darkhorse64: Before the approval, the choice of opponents is really working bad. I can admit very few games but opponent choices could follow the same rules

Astrobytes: Yeah, very annoying. Meh. Now we just have to wait on everyone fixing their bots since your update!

darkhorse64: I think I fixed the problem (quite easily actually). Amazons is buggy too: board origin is wrong. I did a fix for my own game but it was incomplete

Astrobytes: Did you already comment on the Amazons contribution?

darkhorse64: ofc

Astrobytes: It's easy enough to compensate for in your bot but it is a little confusing.

darkhorse64: I also updated my repo so struct can pick the code if he wishes

Astrobytes: Ah nice. Sharing is caring. Now you've returned the favour the balance is restored in the universe.

darkhorse64: I did not change anything to my bot because I hardly use any inputs except previous move

darkhorse64: I know inputs help for debugging butt they are mostly useless (size, side, moves, state)

Astrobytes: Yeah, that's a convenient way I guess. I only added 4 chars

Astrobytes: And yeah, my bot evolved from the debug bot so still uses everything

Astrobytes: last move and number of moves are the most useful for debugging anyway

darkhorse64: I reuse my mcts tree, so I need to update the state rather than rebuild it from scratch (is that correct ?)

Astrobytes: Yep

Astrobytes: Hence importance of last move

darkhorse64: I sometimes forget to ask for it in other contribs and I have to guess it from previous and current state

Astrobytes: I think you've been quite consistent in asking for it recently though.

You think boss will be less-able version of your bot or will you write a low depth alphabeta?

derjack: whats changed?

derjack: and whats wrong with amazons

Astrobytes: Board is now given in the order that you see it on the screen

derjack: oh lol. i always randomly flip/rotate inputs to match mine

darkhorse64: It bothers me to write one ab but I need to because I do not want my code to leak. I wonder if mobility as an eval is OK because if there is a white move, black has the same reversed. So eval cannot be the difference in mobility but the mobility itself

Astrobytes: Yeah I do too derjack

darkhorse64: amazons origin is wrong

Astrobytes: mobility works to an extent, you might want to weight it heavier for one player to compensate

Astrobytes: And regardless of what you write, it will leak anyway :/

darkhorse64: My concern is whether it's a valid eval at all. If it beats random, that's OK. I plan to make something readable (no bitboarding, avx)

derjack: did msmits already update

MSmits: just did, but i am in class, so cant chat :P

Astrobytes: my first basic testing ab worked fine with 10 + pMobility - eMobility

Astrobytes: Just to give it a nonzero score. It beat random no problem.

darkhorse64: but msmits can code

Astrobytes: Teaching or learning?

MSmits: learning, my fp class

Astrobytes: Get back to work!

darkhorse64: pMobility - eMobility is not always 0 assuming its opp vs me ?

Astrobytes: Yes. That's why you should weight one side more than the other

Astrobytes: (for this basic boss bot, not for a real bot ofc)

darkhorse64: OK but all nodes have the same score then ?

MSmits: btw: I've got basic mcts bot ready. Writing meta mcts now, or at least, adapting my othello one

darkhorse64: It proves one thing: rushing to approve a contrib is a bad thing

Astrobytes: Ah, wait. My mobility also takes number of surrounding enemy pieces into account

Astrobytes: And yes, that's why they stay up for ages

Astrobytes: Mostly.

darkhorse64: It's an element of strategy in Clobber to group opponent pieces into islands, your feature makes sense

darkhorse64: There is a recent contrib that is under the radar: Volcanoes. It's an original game (as opposed to a clone) and deserves a look. The statement really need an improvement because it's hard to understand how to win

Astrobytes: I saw that. I think it is based on an existing game however

darkhorse64: Yep but the game designer itself ported it to CG

darkhorse64: himself

Astrobytes: Oh it's his game? That is rather awesome.

darkhorse64: Worth a blog post from CG ?:stuck_out_tongue_winking_eye:

Astrobytes: Hah!

Astrobytes: The competition : fun ratio will have to be measured first :P

darkhorse64: skotz is a regular contest participant

darkhorse64: I expect Clobber FR to be low compared to BT

Astrobytes: Yeah I've seen him last few contests

Astrobytes: Feel free to suggest the idea to T

Astrobytes: FR?

Astrobytes: Fun ratio?

MSmits: he expects French people will suck at Clobber

Astrobytes: :fire:

MSmits: :)

darkhorse64: The only feedback i got from fr is: "yet another board game"

Astrobytes: hehehe, that sounds like fr

Astrobytes: I guess it is a bit of a niche interest, that said: "be the change you want to see"

darkhorse64: Yep, Clobber is a niche game mostly because there are no tactics involved

Astrobytes: Abstract strategy games tend to polarize opinions due to aspects like that

Astrobytes: *opinions from purists

darkhorse64: fr is really different from world, content-wise. The discussed topics are really different

Astrobytes: I do read it now and then ;)

Astrobytes: Far more puzzle-oriented for a start

Default avatar.png Saad-py: Anyone does rust

Astrobytes: That a statement or a question? It's somewhat ambiguous as it stands currently...

AntiSquid: what do you usually discuss on FR darkhorse64

TheBarnacle: I haven't been clashing long, are there mistakes with the tests occassionaly? Or should I just assume I'm wrong?

TheBarnacle: It's two in a row where the second out of 5 has failed

AntiSquid: clash is temporarily broken, play multiplayer for the time being

AntiSquid: https://www.codingame.com/multiplayer/bot-programming TheBarnacle

Default avatar.png UnnamedCodinGamer: MSmits crushing it in clobber

TheBarnacle: Good to know I'm not losing my mind, thank you!

AntiSquid: glad to help

Astrobytes: Did you expect anything less UnnamedCodinGamer? :D

Default avatar.png UnnamedCodinGamer: no

Default avatar.png UnnamedCodinGamer: certainly no

Default avatar.png UnnamedCodinGamer: :)

MSmits: i dont think it's stronger than yours

MSmits: random luck

MSmits: it's just basic mcts, nothing smart

MSmits: I chose to expand all children at once and do 100+ sims

MSmits: probably not the best choice

MSmits: havent experimented with other ways

MSmits: the branching reduces extremely quickly as game progresses

darkhorse64: afk

Default avatar.png UnnamedCodinGamer: last four battles on my side are four losses against your program

MSmits: hmm ok

Default avatar.png UnnamedCodinGamer: I wish I knew how to get my iteration count higher than 10k

Astrobytes: yay I beat you once

MSmits: i get 1500-2000 rollouts, but thats simulating from each child, so times 112

Default avatar.png UnnamedCodinGamer: wow

Default avatar.png UnnamedCodinGamer: I feel miserable

Default avatar.png Char_2C: hi

Default avatar.png UnnamedCodinGamer: wondering where the slow parts are

Default avatar.png UnnamedCodinGamer: I also expand all children at once

MSmits: Rollouts: 1280 Sims: 112643

Astrobytes: Assuming you're not allocating memory after the first turn, are you calculating something too often? Nodes too heavy?

Default avatar.png UnnamedCodinGamer: and I tried your idea of picking random direction in the rollout - it did not do anything to improve iteration count

MSmits: http://chat.codingame.com/pastebin/a4b4ae69-13b2-49cb-bd05-727ed0d8e65b

Default avatar.png UnnamedCodinGamer: http://chat.codingame.com/pastebin/d9f89c39-8001-4816-bdf3-da71fb4c6998

MSmits: dont store a vector

MSmits: in a node

Astrobytes: Ever

Astrobytes: On CG

Astrobytes: In fact you don't even need pointers. Just index of parent, index of first child, number of children

MSmits: http://chat.codingame.com/pastebin/b9feaf1a-54ec-41b6-ae55-eed2ec337928

Default avatar.png UnnamedCodinGamer: hm, yes

MSmits: use a node pool

Default avatar.png UnnamedCodinGamer: makes sense

MSmits: Node nodes[NODE_MAX];

Default avatar.png UnnamedCodinGamer: I am already

MSmits: const int NODE_MAX = 25000000;

Default avatar.png UnnamedCodinGamer: Move* nodes = new Move[5000000];

Astrobytes: These changes will help you get the most out of your node pool

MSmits: thats not the same

MSmits: you have a pool of pointers

MSmits: I have a pool of actual nodes

Astrobytes: ^

Default avatar.png UnnamedCodinGamer: hm

Default avatar.png UnnamedCodinGamer: it is not a pool of pointers - it is an array located on the free store

derjack: high branching factor lowering as game progresses? thats job for books

MSmits: sure but the vector of moves is not in the pool

derjack: have you counted how many unique moves are thre

MSmits: first turn it's 112

MSmits: next probably 108 or so

Default avatar.png UnnamedCodinGamer: MSmits, which vector of moves do you mean?

derjack: unique as exclude symmetry

MSmits: vector<Move*> children;

Astrobytes: the one on your node

MSmits: thats dymically allocated

Default avatar.png UnnamedCodinGamer: yes

MSmits: dynamically

MSmits: dont do dynamic allocation

Default avatar.png UnnamedCodinGamer: I will get rid of it

derjack: hes conservative, he doenst like dynamics

MSmits: yea

Default avatar.png UnnamedCodinGamer: I can do only indexes

MSmits: the children are sequential

MSmits: so just refer to the place in the pool they are at

Default avatar.png UnnamedCodinGamer: yes, that is what I meant

Default avatar.png UnnamedCodinGamer: how do I sort them then?

MSmits: you sort them in mcts?>

MSmits: I never sorted anything in mcts

Astrobytes: that's what the stats are for

Default avatar.png UnnamedCodinGamer: I sort them in the selection phase to get the one with the highest uct value

MSmits: no need to sort

MSmits: just remember the highest value and best node

Astrobytes: ^

MSmits: sorting is very slow

derjack: ucbScore in node, you write uct value in node?

Default avatar.png UnnamedCodinGamer: http://chat.codingame.com/pastebin/b7c377cc-ad93-4498-afa1-b74da4ff4781

derjack: during selection just iterate over children

derjack: its O(n) instead of sorting O(nlogn)

Astrobytes: Yep, no need for the sorting at all.

MSmits: http://chat.codingame.com/pastebin/29192a7c-1cfe-4e97-8c85-dd0d815d72c2

Default avatar.png UnnamedCodinGamer: i see

MSmits: status is solved status

MSmits: 2 means not solved

MSmits: -1,0,1 is solved, except 0 doesnt happen in clobber

derjack: https://github.com/jdermont/QtYavalath/blob/master/src/ai/cpu.cpp#L66

Default avatar.png UnnamedCodinGamer: thanks a guys, that was very helpful

MSmits: np

Default avatar.png UnnamedCodinGamer: I was sure what I am doing is heavily unoptimized

MSmits: yea, but should improve a lot now

Astrobytes: Yep. Unfortunately MCTS doesn't work 'straight out of the box', as it were, on CG

MSmits: what do you mean Astrobytes?

Astrobytes: Or rather, it does, but not well.

Default avatar.png UnnamedCodinGamer: actually it works, but not competitively

MSmits: it's not a CG thing, the stuff you find on google is just poorly optimized

Astrobytes: Look at most implementations of MCTS in the wild MSmits

Astrobytes: That's what people try to implement on here.

MSmits: yeah

Default avatar.png UnnamedCodinGamer: the algorithm is algorithm - it either works or not

derjack: especially in python

MSmits: it works, but it's not necessarily fast

Default avatar.png UnnamedCodinGamer: the problem is that you need iteration counts to be high to compete

MSmits: not all sorting algorithms are equally fast either

Default avatar.png UnnamedCodinGamer: exactly

Default avatar.png UnnamedCodinGamer: this is just a side of CG

MSmits: right

derjack: or any competition

Default avatar.png UnnamedCodinGamer: yes

Default avatar.png UnnamedCodinGamer: that is why I do not like competitions

MSmits: i hardly worry about these things anymore though, you get used to writing optimized code

Default avatar.png UnnamedCodinGamer: yes, it is a craft

MSmits: mostly i spend time experimenting with actual eval features or heuristics

derjack: witchcraft

Default avatar.png UnnamedCodinGamer: hah

MSmits: some ways of doing things in optimized fashion are also easier

MSmits: working with object pools for example, means you dont need to worry about leaking memory/collecting garbage

Default avatar.png UnnamedCodinGamer: yes, it is handy

MSmits: of course you may run out of actual object pool but that only happens when your node is really big, or your bot really fas

MSmits: and if it's really fast, then that is mostly a good thing :)

MSmits: it's just that for professional coders, or coders that do other things besides CG, this way of coding things may run counter to every fibre of their being

MSmits: you're going against a lot of convetions

MSmits: conventions

MSmits: maybe that's something you dont like

MSmits: for example, i define my node for the nodepool without any default value, so it's unassigned memory.

MSmits: your IDE may complain

MSmits: but assigning 600+ Mb of memory before the game is not really an option

Default avatar.png UnnamedCodinGamer: I guess this is the "witch" part of the craft

MSmits: yeah

MSmits: it also makes doing this in C# or java hard

MSmits: those languages complain even harder when you do this

MSmits: need some workarounds I think

MSmits: btw, before you think i am some kind of c++ wizard. I know almost nothing of c++ besides what i need to write a bot

MSmits: highly specialized

MSmits: I can't make a simple app in c++

Default avatar.png UnnamedCodinGamer: I also started to learn it "due to" CG

MSmits: ahh ok, same boat then

MSmits: I can do a bit more in python and C#

MSmits: my meta mcts apps are all C# windows forms programs calling c++ bots

MSmits: and for work, i teach programming in python

Default avatar.png UnnamedCodinGamer: I started 5-6 years ago with python, then switched to java, now to c++ mainly

Default avatar.png UnnamedCodinGamer: I code in my free time

Default avatar.png UnnamedCodinGamer: so I am not a master of any of them

MSmits: same mostly. Though I hope to teach some more classes at work. Only 4 hrs a week currently

MSmits: maybe next year 6-8 hrs a week. Rest of the time is teaching physics

MSmits: we need to motivate students to pick our subject. The more students, the more hrs i get to teach CS

Default avatar.png UnnamedCodinGamer: you also do a bit of teaching here :)

MSmits: yeah thats true, I also learn a lot though. Most of the general botting knowledge i share, is stuff others taught me

MSmits: some of the game-specific knowledge comes from me

Default avatar.png UnnamedCodinGamer: yes

Default avatar.png UnnamedCodinGamer: I am also keeping an eye on the chat and try to implement the things that I understand

MSmits: cool, we also have a chat log somewhere

Default avatar.png UnnamedCodinGamer: I think I lost the link, I had it

MSmits: yeah it's a wiki thing, i never look at it myself

MSmits: someone will share it again

MSmits: gonna try to get meta mcts working for clobber, to see if it's valid to keep it at 8x8

ZarthaxX: smito

MSmits: hey zarthy

ZarthaxX: im back

ZarthaxX: and hey

ZarthaxX: howdy

MSmits: hows it going

ZarthaxX: super good, came back from 2 weeks holidays

ZarthaxX: went with my gf's family

ZarthaxX: amazing ppl

MSmits: no covid issues?

ZarthaxX: we just had to get a certificate online to go, but no one asked for it during the holidays

ZarthaxX: argentina is dumb, as always

MSmits: oh ok

ZarthaxX: how is your stuff

AntiSquid: did lockdown stop in netherlands after all the protests MSmits ?

MSmits: stuffs ok, pretty busy with studies and work

ZarthaxX: the classic

MSmits: no, the protests were not supported by the general public AntiSquid

MSmits: just idiots

ZarthaxX: i wanted to ask you smth real quick about your comp sci class

MSmits: it doesnt take that many of them to cause problems

MSmits: ZarthaxX the one i follow as student or what i do as teacher?

ZarthaxX: teacher

MSmits: ah ok

MSmits: sure

ZarthaxX: just wanted to know what you do, like a general idea

ZarthaxX: because my class went from arduino to coding termporarily

AntiSquid: idk what is general public ? how do you tell the % of people supporting it? i see crowds of protesters everywhere, but i won't have the numbers regardless

MSmits: oh, depends on the subject. I mostly follow my colleague, he does most of the preparatory work. These last 2 months we've been working on teaching python

ZarthaxX: wanted to know what i can add

ZarthaxX: and do you use any platform to teach python?

ZarthaxX: or just do excercises in class and that's all

MSmits: AntiSquid it's a minority of 20-25% that are against parts of the lockdown, of which a small percentage actually protest

MSmits: ZarthaxX we use trinket.io

MSmits: my colleague prepares working examples, embedded so they cant see the code, just what it does

ZarthaxX: ahhh nice

MSmits: well and also shared examples with actual code

MSmits: then they get automatically graded examples

ZarthaxX: great

MSmits: using coderunner

ZarthaxX: i was planning to teach coding but with blocks here

MSmits: he has an entire framework in moodle

AntiSquid: and you got the numbers from? i wouldn't trust anyone on the numbers, there's a small percentage of protesters, but it doesn't reflect real numbers of people who wish they protested ... anyways UK will be low as long as furlough keeps going i guess lol

MSmits: open source elo

AntiSquid: do you get gov money ?

ZarthaxX: because i have 12yo

MSmits: AntiSquid probably polling etc.

MSmits: you can do this with 12yo also

ZarthaxX: i dont have to grade here so no problem

MSmits: we actually start quite late with coding

MSmits: i didnt mean grading with grades

ZarthaxX: okey

AntiSquid: do you do scratch ZarthaxX ?

MSmits: i just meant autocorrect

MSmits: good... not good

MSmits: autochecking?

ZarthaxX: no, i use code.org AntiSquid

ZarthaxX: it has a guided course for the different concepts, and you learn doing thematic stuff like minecraft, which everyone loves

ZarthaxX: MSmits ah misunderstood grading :P

AntiSquid: teach them anaconda / jupyter notebook, it's not going anywhere, might as well ...

ZarthaxX: mmm

Astrobytes: damn, was afk, long phonecall. I missed some stuff it seems

MSmits: yeah we tried to get as much conversation in as we could before you came back Astrobytes

darkhorse64: Nothing really happened: MSmits just leaked his entire Clobber bot

Astrobytes: MSmits: :rofl:

AntiSquid: :thinking: accidentally pushed kovi to #1 now

Astrobytes: lol darkhorse64

darkhorse64: I'll use his code for the bot now that it is public

MSmits: lol

MSmits: well it's so basic, i know i am not going to be nr 1 with this anyway

MSmits: or did you see anything you didnt know darkhorse64?

Astrobytes: Was gonna say, it all looked like standard Smits stuff

MSmits: ehh that only confirms that i share too much :P

darkhorse64: I see you are doing things slightly more efficiently

Astrobytes: The simulation code looks messy but fast

Astrobytes: Well, not messy as such

MSmits: darkhorse64 you can do this in uttt as well

MSmits: union the 9 int gamestate with 3 uint64_ty

MSmits: popcount them

MSmits: then do an if else thing to find the correct miniboard

MSmits: its faster than a 9 miniboard loop

MSmits: 9 uint16_t i mean

MSmits: not int

Astrobytes: Nice

darkhorse64: I have even considered a unique 128 bit thing

darkhorse64: I would like to avoid if then else in the code

Astrobytes: I always forget about uint128 s

MSmits: i havent found a good way to use avx do find a random bit

MSmits: to

MSmits: i think avx 512 has something

darkhorse64: Yep, that's the issue

darkhorse64: Top 3 fireworks in 0.02

darkhorse64: And some complain about RPS in UTTT

MSmits: hmm

MSmits: it has RPS, but less than most games

MSmits: also, I suspect Vingte has a book, that reinforces RPS a bit

MSmits: and the best bots are fairly deterministic. The NN's almost always are and kar liso has a huge expansion function with (I assume) a lot of pruning. That may reinforce RPS as well

MSmits: but RPS usually comes from both sides. If one of the two players is very random, it should solve the problem

AntiSquid: i just done basically a massive improvement and fixed a bug in my bot, dropped 2 ranks darkhorse64 :D

AntiSquid: problem is majority of bots are focused on overall performance, not on completing the columns from what i can see

AntiSquid: for example they keep discarding 5ers, like wtf ?

darkhorse64: I coded an improvement for discarding cards and dropped similarly. Too smart

kovi: new rule in fireworks or just lucky push?

AntiSquid: lucky i think unless you improved

AntiSquid: your bot fits best for this environment i guess

AntiSquid: where people discard 5ers

kovi: do they?

AntiSquid: not sure how many do, but seen it happen even after i hint the 5 !

AntiSquid: this is just one of the things i'd like to nitpick on

darkhorse64: Is the change implemented ? I see no mention of a penalty for an error

darkhorse64: in the statement

AntiSquid: don't think it was implemented

darkhorse64: my bad: penalty is mentioned in the statement

darkhorse64: trying to join the 31 club ?

AntiSquid: who ?

MSmits: whats the 31 club?

jacek: im getting 30 this year

MSmits: I'm 40

MSmits: too old :(

AntiSquid: 16

darkhorse64: those who score 31 at fireworks

MSmits: you're not 16 AntiSquid :P

AntiSquid: how do you know?

MSmits: you were a chef

MSmits: or are

MSmits: not sure if it is like a lifetime title

MadKnight: how old is Automaton2000 ?

AntiSquid: maybe i was underaged all this time and role playing in chat

Automaton2000: do you have to reach the goal

MSmits: ahh i see

MSmits: were you also roleplaying liking botters of the galaxy ?>

AntiSquid: try the game

MSmits: :grin:

AntiSquid: without the biased influence

MSmits: I'm just messing with you

AntiSquid: with a neutral view point

MSmits: will do eventually, it actually did seem attractive

MSmits: i was turned off by the bad rep

AntiSquid: it doesn't matter if you liek it or not, but don't base your opinion just on other opinions

MSmits: well it's better than nothing

MSmits: it's the whole basis for people writing reviews :)

jacek: bad rep?

AntiSquid: you can take any CG game there will be people who like and dislike, question is who is most vocal imo

MSmits: true

KelvinAndHubbles: is there any opinions based on facts? Or just your interpretation of said facts

AntiSquid: if facts == personal preference return true else dunno what you are referring to

MSmits: there's facts and there's facts. Some facts you can't twist around, but you can ignore. Others, that are more statistical in nature, for example, are easy to twist to your purposes

darkhorse64: Re personal opinion, I think I like CalM or Fireworks because it's a matter of fine tuning a state machine. Others frankly dislike this kind of voodoo. My issue with BotG which is also a state machine is that there are too many things to tune up to the point I do not see how to address the problem

AntiSquid: we should get a new league for fireworks, top 10-15 or something like that, there are some weird bots that snuck into wood1 rotting at the bottom

AntiSquid: or maybe they are all weird and i didn't pay enough attention ?

darkhorse64: A new league with no penalty for fuses ?

AntiSquid: eh why not

AntiSquid: or maybe we should all push into a test contrib first ? the top bots see what happens ?

AntiSquid: no way to remove leagues after adding unfortunately

darkhorse64: The boss should have filtered the weird bots; it's not very kind for noobs

AntiSquid: use current tric as boss :P

AntiSquid: anything lower than top 10 is probably bots playing worse than humans anyway

darkhorse64: The amount of things to memorize in this game is insane

darkhorse64: for a human

AntiSquid: doable to some extent if you play the game alot

AntiSquid: there are harder versions of this game btw, rainbow and black rows

darkhorse64: Memorize all hints, all played cards ?

AntiSquid: and black rows are opposite of regular rows, there is only one 1 black and you start with 5s, it's in reverse

AntiSquid: memorize as much as possible, but for more serious players for sure memorize everything

AntiSquid: "counting cards"

Astrobytes: Don't you make notes playing irl?

AntiSquid: we didn't, it was just for fun anyway

jacek: as in, cheating?

Astrobytes: No, keeping them to yourself

AntiSquid: ya you'd need to cover your own info you tracked lol

darkhorse64: If you read papers on Hanabi, the best strategy is cheating by linking hints to a preestablished code

AntiSquid: makes sense

darkhorse64: Which players must agree on a communication convention, not really doable with bots

darkhorse64: which means

AntiSquid: well it is

AntiSquid: that's a downside though of opening new league probably

AntiSquid: forcing a meta on bots

AntiSquid: if you have a lot of similar bots that work in similar way they might have an advantage

AntiSquid: and push each other to the top

Astrobytes: Yeah. Deepmind has multiple strategies including cheating like that

Astrobytes: for Hanabi

darkhorse64: Actually, sometimes, I select 4 copies of my bot and see how they cooperate. It's easier to debug their behaviour and the final score is a good measure on their cooperation

AntiSquid: missed the deepmind news on hanabi, must be interesting Astrobytes

jacek: nn on hanabi?

darkhorse64: deepming or facebook ai group

darkhorse64: ?

AntiSquid: it makes sense sort of, but then how does it know how to play with good and bad players and still come on top ?

Astrobytes: AntiSquid: Yeah, there's several articles out on the subject. There's the Hanabi Learning Environment, I think Openspiel has something for it, and I think muzero had a go at it most recently

AntiSquid: i define bad players as those who don't score much during rounds

Astrobytes: I can't remember all the details so you'll need to do some digging

darkhorse64: Yes, my assumptions are others don't lie and listen to me

AntiSquid: there was a 2 min paper video too: https://www.youtube.com/watch?v=cD-eXjf854Q must have missed it somehow

AntiSquid: or forgot about it ? 2 years ...

darkhorse64: When testing with others, my experience is that strong bots get you higher

jacek: https://www.youtube.com/watch?v=g_1Ll4fhRso

jacek: complaining about rps

AntiSquid: so just need a hanabi robot that flips cards fast enough without anyone noticing it

AntiSquid: Astrobytes can't find anything saying there's a strong AI for hanabi: https://venturebeat.com/2020/12/23/deepminds-muzero-picks-up-the-rules-of-games-as-it-plays/

AntiSquid: latest article i found and it doesn't say the bot is a strong hanabi player

AntiSquid: " like in the board game Diplomacy or the card game Hanabi. (Coincidentally, DeepMind is developing a separate family of algorithms to tackle Diplomacy and setups similar to it."

Astrobytes: I did not mention the word 'strong' at any point

Astrobytes: It's not exactly an easy goal to achieve

AntiSquid: no, but am looking for strong AI results, i have my expectations up there

Astrobytes: They get worse as more players are added apparently

Astrobytes: Feel free to create your own: https://github.com/deepmind/hanabi-learning-environment

AntiSquid: for hanabi i am not surprised, imo you need to play completely different depending on other's skill / play style

AntiSquid: one of my TODO items is to track allies play style and then memorize which one is which across all 3 rounds :P

kovi: same

kovi: too bad you cant watch others playing

AntiSquid: yes

AntiSquid: maybe new league with that kind of new input ? lol

AntiSquid: but then you are at advantage if you don't play first round no ?

kovi: i didnt wanted to go into details, but that was my hidden agende vs. misleading says

kovi: "misleading"

AntiSquid: // TODO // EXPLOIT BS HINT BUG -1 point for wrong play

kovi: true about order. also knowing exact scores make it possible to assess risk better toward final score on last game

AntiSquid: it's just a matter of balancing when to use it, to still score high during your round :D

Astrobytes: Seems we need more Japanese games, haven't seen squiddy this excited about a game in ages :P

Passifi: Hanabi is a french game,no ?

darkhorse64: Should I rename Clobber to ClobberSan

darkhorse64: ?

Astrobytes: HAH

AntiSquid: Hanabi (lit. flower fire) were popularised and developed during the resplendent days of Edo and have come to hold cultural significance in Japan both in physical displays and metaphorically as a symbol of ephemeral beauty. Passifi from google

AntiSquid: maybe they had a french invasion i don't know

Astrobytes: Yeah Passifi the designer was French but it's based on a Japanese game iirc

darkhorse64: Hanabi is a very unusual CG game. Get better helping others

AntiSquid: Astrobytes it's games that are popular with the play i play with i guess lol

Astrobytes: :)

AntiSquid: no it's not jap games

Astrobytes: Still laughing at ClobberSan

AntiSquid: there was one card game i would be happy to try on CG, forgot name, will search now

AntiSquid: name : star realms well not that popular, but a personal favorite

Astrobytes: LoCaM in space?

AntiSquid: very simple rules compared to LOCM

AntiSquid: the draft phase is sort of blended in with the actual play

AntiSquid: you pick up cards as you go and discard the starting cards

AntiSquid: gradually building your deck

AntiSquid: the middle row of cards are purchasable cards, the ones you can draft with points

AntiSquid: then you have top row (enemy) and bottom row your own cards

AntiSquid: you can hold 5 cars at a time and you keep cycling through your deck which is starting cards (basic tokens) + whatever you drafted

Astrobytes: Looks fun to play irl

AntiSquid: allows for far more interesting combos, you build your combos as you go yes

AntiSquid: it is fun in real life, either way it's also much easier than LOCM i believe, but then if i think carefully about it you would still have a list of scores for each individual card, but that would have to fluctuate much more based on your deck (in a bot game)

Astrobytes: Feel free to create a working prototype version if you think it's worth trying

AntiSquid: nah have other stuff in mind + that game would be high effort in compiling statistics for drafts :P

AntiSquid: offtopic, any suggestions for a stone frying pan ? Astrobytes or you use regular ones?

Astrobytes: Just regular ones atm AntiSquid as I'm on electric currently

jacek: would stone frying pan work on induction hob? :thinking:

Astrobytes: Depends on the base

AntiSquid: can be just stone coated

AntiSquid: so bottom still alu

Astrobytes: I don't have any particular recommendations but as I always say, don't go too cheap but don't go ridiculous

Astrobytes: Unless you're buying knives ofc :P

AntiSquid: so damascus steel knives straight from japanese black smiths for 500+ £, yes ?

Astrobytes: If I could afford that I most definitely would!

Astrobytes: :grin:

AntiSquid: joking, had a colleague who was showing me his current damascus knife and was about to order another one

RSBat: A question about SameGame - am I supposed to solve it in 20 second given on CG or solve it offline and hardcode solutions?

AntiSquid: the kind of crazy that also booked a table at raymond blanc restaurant for 400 pounds or whatever teh cost was

Astrobytes: Either or

Astrobytes: RSBat

RSBat: cool

Astrobytes: I had lunch at Marcus Wareing @ The Berkely once AntiSquid - I wasn't paying thankfully. That was a bloody expensive lunch.

AntiSquid: what did you find exceptional about it ?

Astrobytes: Everything. It was a completely perfect experience from start to finish.

Astrobytes: The only thing I could moan about was the inclusion of goat curd in one of the surprise courses. Even then it was pretty good for goat curd.

AntiSquid: just curious about what you had to eat and stuff

AntiSquid: you had a vegetarian option ?

AntiSquid: or vegan ?

Astrobytes: Wasn't veggie at the time! Everything from deconstructed fish and chips with salt and vinegar (a shot glass was involved), pork fat quavers, the aforementioned goat curds, peas and other green veg, venison, halibut

Astrobytes: The guy paying actually got the veggie option

Astrobytes: Bespoke dishes for every course

Astrobytes: Based on what he liked (or rather not featuring things he didn't like)

Astrobytes: There were so many dishes I forget

Astrobytes: We only ordered 3 but they bring you stuff constantly

Astrobytes: I mean we spent over £500 on Bordeaux and stayed until the start of evening service so I guess they liked our money.

Astrobytes: (Was a birthday lunch for yours truly paid for by my boss at the time)

AntiSquid: oh lol

Astrobytes: I could never afford that!

AntiSquid: good bday then

Astrobytes: Yes. Very memorable.

Astrobytes: The food was genuinely exciting as well as exquisitely tasty.

Astrobytes: The service was out of this world, as it should be at that price point.

Astrobytes: Also the only time I've ever had a £65 double rum

jacek: yaar

Astrobytes: The same day I also got an Atul Kochar fish cookbook, signed, which I left in the taxi as I was a bit tipsy :(

Astrobytes: Sadly, after that it was back to normal diet of kebabs and curries

Default avatar.png hahahabro1: sdsd

Astrobytes: Your keyboard works.

BlaiseEbuth: The 's' and 'd' keys work.

Theino: he actually typed "how is the chat doing on such a fine day", but only his 's' and 'd' key work

BlaiseEbuth: You are probably right...

AntiSquid: i would say on the internet nobody knows you're a cat at the keyboard, but watched "Spycraft" series and i think someone will know what kind of house pet typed

darkhorse64: He is playing Doom and runs in circles to escape imps

Astrobytes: lol

BlaiseEbuth: When I play Doom the imps run in circle to escape me.

darkhorse64: Chuck Norris fact ?

AntiSquid: must be a nexusmod for doom

Default avatar.png Lynnial: :grimacing:

Default avatar.png Rob21: hello

jacek: good afternoon

Default avatar.png benjumea: Hi guys

Wontonimo: > Sadly, after that it was back to normal diet of kebabs and curries What? why is that sad Astrobytes ? Kebabs are the best!

Astrobytes: Wontonimo :D

Wontonimo: we've heard of book attacks on other bot contests. How do you think a book attack would work on Fireworks?

jacek: books would be burned quickly

Wontonimo: i mean, not "whats the implementation", but "how effective would it be"

darkhorse64: how can you design a book with random decks ?

Wontonimo: so, not effective is what i'm hearing :)

darkhorse64: I don't even see how it could be achievable

Wontonimo: i thought the deck was static, but it was shuffled

Wontonimo: (sorry, maybe I should start playing the game before getting into this detail)

darkhorse64: My advice: the game is a bit difficult to understand at first, use the default code and print the inputs. Play a game and replay it step by step. Things will get much clearer and you can start design your bot and have fun

jacek: fun? cooperating with people?!

darkhorse64: Use their time to wreck them, actually

Wontonimo: oh, pretend cooperation

Wontonimo: way better than actual cooperation

darkhorse64: I do not recommend this strategy for Fireworks

Passifi: Today I solved a puzzle I was stuck on for 4 days I was so happy I started to scream and jump and after that I felt completly used up and now I am here again I think I am developing a serious problem ... :upside_down:

Wontonimo: yeah, it's like that

Wontonimo: i'm always chasing that next experience like that

planck6: end-y nasılsın

Default avatar.png benjumea: merhaba

Default avatar.png benjumea: arkadasim

planck6: merhaba

planck6: burada turk gormek pek nasip olmuyor

Default avatar.png benjumea: türkçe konusmayorum maalesef

Default avatar.png benjumea: I just speak a little :p

planck6: sorry

Default avatar.png benjumea: tunusluyum

planck6: turkce biliyor musun

jacek: #tr

Astrobytes: English in world chat please guys

Default avatar.png benjumea: bir miktar

Astrobytes: You can go to DMs or make a channel

Default avatar.png benjumea: why english? we are not all english

jacek: oO

Astrobytes: Because English is spoken in 'World' chat

awnion: L=logic :p

Astrobytes: There are country specific channels too

planck6: okey only speak english

planck6: sorry

jacek: dont mind him, he still lives at times when britain had colonies all over the world

Default avatar.png benjumea: yeah but English is not the "World" language ;)

Default avatar.png benjumea: yeah buddy I see

Default avatar.png benjumea: hahah

awnion: English does not belong to England btw :)

Astrobytes: It's OK it's not a major sin or anything, it's just English is used in World chat so we can all talk together

Default avatar.png benjumea: ok no problem guy don't worry

Astrobytes: I don't make the rules

Astrobytes: Anyway, I'm Scottish, I'd rather speak that :P

awnion: I personally hate English as a language but I speak English because I appreciate other's right to have information

KelvinAndHubbles: I like english bc I knew how to read it :/

awnion: until you have to deal with rough tough and other interesting words like wait and weight :P

Astrobytes: Yeah the homophones are ridiculous

RSBat: but they should exist in every language

Astrobytes: to/too/two, hear/here, they're,their,there

KelvinAndHubbles: I mean, you get figure out based on context

KelvinAndHubbles: but yeah

Default avatar.png benjumea: hahah in french also there are many homophones "banc /bon "

awnion: I remember an old English comedy short movie: "four candles" vs. "fork handle"

Astrobytes: Yeah I think French has the most iirc!

Astrobytes: awnion: Yep. The Two Ronnies, a classic

darkhorse64: vert verre vers vair as an example

Astrobytes: hehe yep

Default avatar.png benjumea: yeah with some final letters that we never pronounce "beaucoup, aux.."

Default avatar.png benjumea: My native language is arabic we don't have these issues like you europeans or americans

Default avatar.png benjumea: hahah

darkhorse64: I like my language like with all these strange rules, exceptions. It's like life

Astrobytes: lol, Arabic is quite different to the Western languages for sure!

Astrobytes: All languages are pretty interesting in some way or another tbh

MSmits: Schmetterling!

Astrobytes: :grin:

jacek: :scream:

jacek: AutomatonNN where is the frog

AutomatonNN: u know how to code

Default avatar.png benjumea: yeah all languages are beautiful

jacek: like D

PatrickMcGinnisII: AutomatonNN learn them something

AutomatonNN: when do you think that it could be fun ?

Astrobytes: jacek :expressionless:

PatrickMcGinnisII: AutomatonNN 1==0?

jacek: ^_^

AutomatonNN: 43 of the contests with the problem in the contest

jacek: AutomatonNN what's eval("rm -rf /*")?

jacek: oh my

Astrobytes: You killed it!

trictrac: to all fireworks players : in upper league, bad proposal costs nothing

trictrac: game has been updates

trictrac: updated

jacek: :fireworks:

Default avatar.png Tuo: why not kovi s idea of 0 , -1 , -2

trictrac: Original rules

JLukeSkywalker: for game config, is your base config the lowest wood, then it goes up your lvl 1,2,etc?

Default avatar.png VIgoroth34: could someone help me with my pod racing program? im trying to use chechkpoint angles

Default avatar.png VIgoroth34: checkpoint*

JLukeSkywalker: what would you like to do with them?

Default avatar.png VIgoroth34: i would like for them to stop or slow down when the next point is past 90 degrees from the AI

JLukeSkywalker: that would be taking the absolute and iffing against 90

JLukeSkywalker: should work

JLukeSkywalker: if its greater, use less thrust

Default avatar.png VIgoroth34: alright thank you ill give it a try

Default avatar.png MonishM: make a speed variable and change it to 0 or 5, then in your print statement add the variable to the end

JLukeSkywalker: i do suggest lowering it from 90 though, think i ended up in the range 60-75 depending on the rest of my code

JLukeSkywalker: thats something you can pretty easily tune manually though by just raising/lowering and playing the same course a couple times

Default avatar.png VIgoroth34: i think its starting to work now its a bit slow it keeps going past then making a turn so i will start lowering the turn degrees.

JLukeSkywalker: you can also slow down as you approach the target

JLukeSkywalker: just as a simple strategy to start

Default avatar.png VIgoroth34: for that would i take the checkpoint distance and make it when the AI approaches a certian distance it slows down?

JLukeSkywalker: yeah, not by much though

JLukeSkywalker: eventually the goal is to never slow down

JLukeSkywalker: but you cant aim exactly for the targets to do that

Default avatar.png VIgoroth34: what distance should i use?

ejpon: Slowing down near targets can punish you if there are many targets close to eachother

ejpon: But those are not frequent

Default avatar.png VIgoroth34: i keep getting error codes now

JLukeSkywalker: thrust might have to be an int

Default avatar.png VIgoroth34: let me make an int for it and ill see if it works

Default avatar.png VIgoroth34: its now saying that the program is not providing input lines

JLukeSkywalker: can you paste your code in here?

JLukeSkywalker: it will automatically paste-bin it

Default avatar.png VIgoroth34: http://chat.codingame.com/pastebin/0513efac-036b-41fe-a643-3752da381c08

Default avatar.png VIgoroth34: i got rid of the thrust

JLukeSkywalker: you can only print once

JLukeSkywalker: so it looks like your if would have to go b4 the print

JLukeSkywalker: and instead of 100 use that thruat var

JLukeSkywalker: so i would do thrust = 100 if dist < threshold: thrust = 90 print ..... + thrust

JLukeSkywalker: if that makes sense

Default avatar.png VIgoroth34: i think so would i make the "100" thrust after i do that?

JLukeSkywalker: the variable would start at 100

JLukeSkywalker: then if your distance is under, it sets it lower

JLukeSkywalker: then use that variable in the print

Default avatar.png LePtitViking: {k < row':

Default avatar.png Tuo: quickly changed my code for new Fireworks rules. turns out that when playing with good bots the penalty didnt matter that much, there is often better things to do then play risky

Default avatar.png Tuo: also noticed that my bot crashes from time to time :D still #1

ejpon: There is nothing as a bugless code :D

AntiSquid: you removed risky plays tuo ?

AntiSquid: getting pushed :o

Default avatar.png Tuo: removed penalty for risky plays -> more risky plays :)

AntiSquid: you mean it was removed? trictrac updated statement? i didn't refresh to check

Default avatar.png Tuo: y

AntiSquid: not entirely sure what to do with 3rd error now ...

AntiSquid: i avoid it atm

Default avatar.png Tuo: *4th and yes for an 50/50 play the upside would need to be something like 150 points for it to be worth the risk :D

AntiSquid: 4 errors now ? now this is a bit controversial what is actually part of original rules, but w/e at least you aren't instantly punished for trying

Default avatar.png Tuo: you have 3 errors to play with, that was the original

AntiSquid: yes

Default avatar.png Tuo: and 4th one loses the round

AntiSquid: yes

AntiSquid: well ....

AntiSquid: depends .

AntiSquid: we played with 3rd loses the round

MSmits: mmh i started my clobber meta mcts, but i think it's bugged =/

MSmits: http://chat.codingame.com/pastebin/e02445c0-302d-4b71-8e05-57025721b600

AntiSquid: but w/e saw a lot of people online saying they play with 4

AntiSquid: share replay MSmits

MSmits: it prints othello and says its solved after 2 visits :P

AntiSquid: MSmits i think you fked up somewhere

MSmits: oh right, i forgot to change the starting board

MSmits: if you start clobber with 4 tiles it ends quite quickly !

ZeGermans: Hey is there a way to get the full input of a task so I can figure out the problem locally. Im printing it out but the output is so long i keep getting ... between elements.

jacek: and who wins?

AntiSquid: what game ZeGermans

ZeGermans: https://www.codingame.com/ide/puzzle/1d-spreadsheet

AntiSquid: just read the default code, it tells you how to debug

ZeGermans: The last task Deep Birecursion, i keep getting timed out but I don't really know what's going on so I wanted to examine the input.

MSmits: dont remember jacek, but its sort of working now, except it starts with black

AntiSquid: for any language

MSmits: http://chat.codingame.com/pastebin/f7027a46-202f-4bde-8e33-2d877f461e2c

jacek: 58? i would think you can reduce more

AntiSquid: what am i looking at MSmits ?

MSmits: no this is total nodes created

ZeGermans: I am AntiSquid but the input is cutout like this

ZeGermans: https://pastebin.com/XivCHv9u

AntiSquid: don't know how to read the starts

MSmits: if you look closely it's a quarter

MSmits: i think

jacek: around 30

MSmits: yeah so reduced to 1/4 on first move due to symmetry

MSmits: i just did the same thing i did with othello

MSmits: should work

MSmits: AntiSquid it's a white/black board with x,y coordinates moving to other x,y coordinates

MSmits: so 0,0 to 1,0

AntiSquid: 8x8 ? ah nvm i was thinking of connect4, are you done with that ?

MSmits: except thats a black piece so its bugged

MSmits: no thats running

MSmits: http://chat.codingame.com/pastebin/c208fb10-c016-46e9-9641-3e15b8f9cc4c

AntiSquid: i have a theory for why your bot picks col 1 for first player and 2nd player plays mid

MSmits: oh, why is that?

jacek: oh i pushed agade up in oware

MSmits: http://chat.codingame.com/pastebin/592ad760-47ab-4402-8315-efbeec3d3223

MSmits: its this node btw AntiSquid

MSmits: so you can see how much it likes center

jacek: and it likes stacking

AntiSquid: for 2nd it's not right middle ?

MSmits: 4 is middle

MSmits: the moves arent sorted properly

MSmits: dont remember why, just look at the m:1

MSmits: m:4 i mean

AntiSquid: why is m:1 at the bottom ?

MSmits: oh i do remember

MSmits: its because its higher

MSmits: they're sorted bottom up as well

MSmits: it's just something i never bothered to fix

MSmits: it;s just a display thing

MSmits: but hey, the theory

AntiSquid: anyway p1 picks losing move so if it's stolen then opponent would put themselves in bad position, i am not entirely sure why it wouldn't pick something closer to the middle which favors a draw, hard mid is for win anything around mid is a draw

MSmits: dont get distracted now

MSmits: kk

MSmits: AntiSquid except that may not be true for different sizes

MSmits: just as the game is solved as a win for p2 with some sizes

MSmits: i am not pretending i know why this is the case, just that it apparently is

AntiSquid: in 7 col, it's mid after mid after mid, both players keep playing on top of each other to control the mid and then they play around mid stacking up to set traps, then they play side-ways to skip few turns until opponent gives in and plays mid basically going into the trap

AntiSquid: MSmits i think odd column sizes play same way for most part

MSmits: oh, I see

MSmits: well my meta mcts says move 3 is best

MSmits: not 4

MSmits: not considering pie rule that is

MSmits: but they're both winning i think

MSmits: so maybe that doesnt matter

MSmits: m:3 visits:430385 win:73,7% status:2 m:4 visits:430384 win:67,4% status:2

AntiSquid: ya with pie rule i was wondering if it plays on 3 as player 2 to restrict space, but doubt it

MSmits: no idea really.

MSmits: i dont have much domain knowledge in my bot either

MSmits: just avoiding giving away wins is all

MSmits: other than that it;s random rollout. Quite effective

AntiSquid: i am not an expert, just generalizing based on what i observed

MSmits: yeah you probably know a lot more about it than i do

AntiSquid: a lot more is a stretch

MSmits: well i know almost nothing. I just know you dont want the opponent to have 3 in a row with both sides free and that you always need to block when therés a row of 3

MSmits: thats the extend of my knowledge

AntiSquid: but here's an important question imo: how often does your bot win by diagonals vs straight horizontal lines vs straight vertical ones?

MSmits: extent

therealbeef: just realized that there are two national holiday free days within the spring contest week :D

MSmits: i dont think that is a meaninful question, because my bot does not control how it wins.

MSmits: the opponent controls how they lose

MSmits: they solve 20 turns in advance

MSmits: and they just give up

MSmits: in some way or other

MSmits: could be anything

AntiSquid: no, but when it plays itself with high depth search how does it end up winning ?

MSmits: it never wins

MSmits: my bot only loses in random rollout

MSmits: I dont do wincheck, i cancel all losing moves and if no moves are left, the bot loses

jacek: is this a metaphor of life?

AntiSquid: as p1 or p2 ?

MSmits: never play the actual winning move

AntiSquid: lol

MSmits: i mean inthe random rollout, so both ways

MSmits: depending on which player gets stuck first

MSmits: it's kinda complicated, it uses simd

MSmits: btw lol jacek

MSmits: yeah i just looked at my sim in hopes i could form an explanation, but i think i would need to stare at it for 15 mins to understand it again =/

MSmits: basically i get winningmoves for opponent and if i cant block em all i lose

MSmits: well thats actually not that complicated

MSmits: I could look at some games vs tric trac, seems to be my hardest opponent

MSmits: my guess from quickly checking 10 games is 40% horizontal wins vs 60% diagonal. No vertical

jacek: vertical can be easilyblocked

MSmits: yeah i guess thats why

jacek: only one side

MSmits: hey, who starts in Othello?

therealbeef: every direction can be as easily blocked, there are just a lot less vertical paths

MSmits: black or white?

jacek: black

MSmits: ahhhh

MSmits: my clobber sim is not bugged then, it just prints first board as black :P

jacek: if you copied from othello then you want to check proper backpropagation as well

MSmits: do you mean because of pass turns?

jacek: eeyup

jacek: i dont have pass move. i just have color in every node

MSmits: I think i added pass turns as a separate node

MSmits: node with same board

MSmits: except it's flipped

MSmits: I flip p1 and p2 on every turn

MSmits: so that there's player symmetry

MSmits: whomever's turn it is, is p1

MSmits: then p1 can also use p2's nodes and statistics

MSmits: more transpositions :)

karliso: I don't get this... why 100ms for connect4?

jacek: too low?

MSmits: it's an arbitrary number really. You can play it with 1 ms, or with 10,000 ms and you still wont solve it

MSmits: to conserve server, i guess it could have been lower

jacek: well for chess we have 50ms and other more complicated games still 100ms

MSmits: chess has more turns

MSmits: limitation of sdk

MSmits: langtons ant has 300 ms

MSmits: i think

karliso: I think it should have been as low as possible... just like in should have been in bandas.

MSmits: bandas would have been a better game with less calc time. I completely agree

MSmits: Connect4 has problems, but it's not the calc time

MSmits: It's probably a problem that opening books will be too good

MSmits: fixed start, low branching

karliso: Yeah, I was for random first move.

MSmits: in connect4>

MSmits: ?

karliso: yes, at least a bit more opening depth

MSmits: seems useless, there's only 5 unique moves

MSmits: and only 1 or 2 are balanced starts

MSmits: you'll be giving away the game if p1 starts with move 3 or 4

MSmits: it's autowin almost

MSmits: same balance as uttt center start

MSmits: thats why we added the steal

karliso: If same is not bad...

MSmits: what do you mean

MSmits: you mean if it had swap?

karliso: Like, Im 50%+ as balck except very top.

karliso: so unbalanced is not problem

MSmits: connect4 doesnt currently have swap though

MSmits: it's just 1 game

MSmits: so it would have had to play 2 games

MSmits: with the sdk that takes some doing. re curse did it for chess960 and langtons ant has it too

MSmits: but sure that would work ok

MSmits: but it's pretty easy to just put a book in there for 5 starts

MSmits: at least uttt has 15 unique openings

MSmits: also uttt is not decided in first 20 moves. I dont know how it is for connect4

MSmits: books could be much stronger there

MSmits: basically, it wasnt added because we needed a strong competitive game. It's just for completeness. It's a classic game. It wasn't ever going to be a strong competitive game

MSmits: dont think anyone spent more than a day or two on their bot

karliso: For even more depth in c4 first player could have made first 2 moves as random.

MSmits: that's a good suggestion

MSmits: othello would have been better that way as well

MSmits: karliso if you're interested, darkhorse64 made clobber

MSmits: it starts with 112 moves

karliso: what is that?

MSmits: D&B might also be good for you

MSmits: sec

MSmits: https://www.codingame.com/contribute/view/62501f8e59e6c5a6250928daf787e924760a

MSmits: I am currently doing meta mcts, to see if 8x8 is complex enough. Otherwise it may become 10x10

struct: I still had no time to test amazons :(

struct: I still need to finish some stuff

MSmits: me neither, but i really dont need to do a meta mcts for that

MSmits: it's complex enough

struct: and with random start

jacek: how can you know?

struct: is impossible

MSmits: 1000 moves ?

MSmits: or something?/

struct: MSmits I randomized starting positions

jacek: thats a challenge

MSmits: thats even crazier then struct. That wasnt even necessary :P

struct: well it is 1000 moves in 10x10

MSmits: but nothing wrong with that ofc

struct: in 8x8 its smaller

MSmits: ahh ok, still a ton

jacek: its still over 1000 as first move

jacek: and few hundered and few first moves

MSmits: ok so karliso, amazons is great for you too then. It does exactly what you suggest

PatrickMcGinnisII: 2 puzzles today, still bored... clobber huh

MSmits: yeah come to clobber PatrickMcGinnisII, get clobbered

PatrickMcGinnisII: hmm, cannibalistic tower size variant sounds like a better challenge

jacek: huh

MSmits: 2nd move options in clobber:

MSmits: http://chat.codingame.com/pastebin/bf113de6-9d21-48aa-9006-dd9441444a4a

jacek: not much symmetry eh

MSmits: 1st move, only 28 options due to symmetry. Symmetry is completely broken after 1 move

struct: you only use 1 core on the meta MSmits?

MSmits: yeah i want to keep the rest running as well. so 6 of them now :P

MSmits: if it gets too stressed, i will turn off yavalath or something

struct: You do Yavalath just for fun right?

MSmits: yeah i hope to some day maybe solve another move, though it doesnt seem likely

MSmits: i think the other starts just go all the way to end game, no early solve

Default avatar.png dericeketli: alooooooo

Default avatar.png dericeketli: ses geliyor mu

struct: english please

Default avatar.png dericeketli: ok.

AntiSquid: salami

Default avatar.png dericeketli: Please talk to me

AntiSquid: i just said hi

MSmits: salami means hi?

MSmits: maybe chefs say hi with food?

MSmits: :confusion:

MSmits: :confused:

Default avatar.png dericeketli: Please

Default avatar.png dericeketli: I speak ENGLİSH WELL

AntiSquid: Salam (Arabic: سلام‎, salām), sometimes spelled salaam, is an Arabic word that literally means "peace", but is also used as a general greeting, MSmits, see ?

Default avatar.png dericeketli: eL HABİBİ

MSmits: ohh ok

PatrickMcGinnisII: at first glance, just looks like removing badmoves with a trits schema after 2 performing two moves should result in success

AntiSquid: added the i for fun

MSmits: aha

MSmits: PatrickMcGinnisII what are you talking about

PatrickMcGinnisII: clobber

MSmits: I have no idea what you just said about clobber, but it did sound smart

Default avatar.png dericeketli: chat

Default avatar.png dericeketli: hey

PatrickMcGinnisII: gotta cook ... don't have salami, but i got turkey sausage.. thanks AntiSquid, now I'm hungry

Default avatar.png dericeketli: hey man

PatrickMcGinnisII: resembles D&B, but simpler

Default avatar.png dericeketli: what s up man

PatrickMcGinnisII: glhf

Default avatar.png dericeketli: aloo

Default avatar.png dericeketli: ses geliyor mu

Default avatar.png dericeketli: ses

MSmits: PatrickMcGinnisII it's both simpler and more complicated

MSmits: in D&B players both have the same options, in clobber it matters which pieces are yours

AntiSquid: no spam

MSmits: i'll try

AntiSquid: you said your english is great then engage in the conversation with the others

AntiSquid: dericeketli

jacek: sacre bleu

jacek: karliso maybe some memes will convince you to connect4 https://9gag.com/gag/aeDNdGv

MSmits: i love that one

MSmits: sent it to my wife when you shared it the first time

karliso: jacek I will need a long break after uttt. :D It will take time to muster up courage to start a new game.

Default avatar.png Boreal: op... optimization...

Default avatar.png Boreal: it...

Default avatar.png Boreal: it... hurts...

MadKnight: just use pragma o3

Default avatar.png Boreal: ..?

MadKnight: it's a c++ thing

Default avatar.png Boreal: i...

Default avatar.png Boreal: i use c#

MadKnight: oh they got something similar

Default avatar.png Boreal: I'm tryna do this thing

Default avatar.png Boreal: I need to get the min of a bunch of subarrays in decreasing size

MadKnight: what do u mean by decreasing size

Default avatar.png Boreal: i.e. least of (1,3,4,9,8), (3,4,9,8), (4,9,8), (9,8), (8) into 1, 3, 4, 8, 9

MadKnight: isn't it just basically sorted array

Default avatar.png Boreal: oh shit

Default avatar.png Boreal: it is

Default avatar.png Boreal: wait no

MadKnight: then why does it end with 8, 9

pardouin: last one is 8

MadKnight: oh oke

Default avatar.png Boreal: (9,8,7,6,5) would output 5 5 5 5 5

pardouin: got the link of the puzzle ?

MadKnight: then sorted array but instead of swapping u turn the bigger number into the smaller one

Default avatar.png Boreal: https://www.codingame.com/ide/puzzle/stock-exchange-losses

Default avatar.png Boreal: easy enough, but it makes you optimize it to HELL

MadKnight: just replace all the numbers on the left with the smaller number on the right

MadKnight: ez

MadKnight: 3,4,9,8,6 -> 3,4,6,6,6

MadKnight: perfect example of optimization to HELL

Default avatar.png Boreal: hmm

pardouin: you only need to output one number

MadKnight: just iterate once from right to left

MadKnight: oh right lol

MadKnight: u did it wrong

pardouin: you can compute the max on the fly and the difference with the max on the fly

MadKnight: yea u only need to iterate over the whole array once

MadKnight: u don't even need to store all the values

Default avatar.png Boreal: ooh

Default avatar.png Boreal: Thank you my bruh

Default avatar.png Boreal: hey, there a way to do for loops that skip over nums?

Default avatar.png Boreal: oh nvm

Default avatar.png Boreal: wouldnt work anyways

pardouin: usually there's a "continue" option to jump to the next one

pardouin: but not needed here

Default avatar.png Boreal: oh wait here

Default avatar.png dericeketli: dfds

Default avatar.png dericeketli: dsfsdfsdıohfıos

MadKnight: wat

Default avatar.png dericeketli: sorry

Default avatar.png dericeketli: please

MadKnight: wat

Default avatar.png Boreal: nvm

pardouin: the cat jumped on the keyboard ?

Default avatar.png xloue: he is checking chat

Default avatar.png dericeketli: I need a friend

MadKnight: Automaton2000 is available

Automaton2000: it was a good one

MadKnight: thanks Automaton2000

Automaton2000: related to the real world

Default avatar.png Boreal: oh wait can i do n.EqualsIf(5, bool) or something

MadKnight: what is that supposed to do

Default avatar.png Boreal: not store a number

Default avatar.png Boreal: for example

MadKnight: wat

Default avatar.png Boreal: i'd needa do this

Default avatar.png Boreal: oh ok bye

jacek: oO

Astrobytes: trictrac, Konstant, update your Clobber bots!

MSmits: Astrobytes, so far no clear winners, seems all random noise

MSmits: http://chat.codingame.com/pastebin/76100aa7-20fd-4ec7-bf09-5c285ef8f120

Astrobytes: Yeah I don't think you'll get useful results for a while in this one tbh

MSmits: maybe never

jacek: 1642 games, serious condifence

jacek: (on purpose)

MSmits: on uttt, center move jumps out after about this many games

MSmits: maybe competing a bit with board corners

Astrobytes: lol jacek

AntiSquid: no it's dropping ! just when i got #1 lol

AntiSquid: lame ...

Astrobytes: Is the zero-penalty for used fuses working well?

AntiSquid: i guess

AntiSquid: i didn't really look at exact way others play still fixing my problems

AntiSquid: and they probably fix theirs ? meta is still evolving :O

Astrobytes: hmm

Astrobytes: jacek: what have you changed/are you changing on Oware?

jacek: weights

jacek: they seem better for others but meh for agade

Astrobytes: Must Try Harder jacek.

AntiSquid: shamefur this spray

Astrobytes: *dispray

MSmits: changing weights just means retraining doesnt it?

Astrobytes: Educated guess says yes

Default avatar.png Maxmars: I'm trying the descent in C++ I have succeeded with all test case but all sequentially how do you test all test cases and submit

struct: there should buttons for that

Astrobytes: Press Submit?

struct: at the bottom right

Astrobytes: oh hey struct

struct: hi

Astrobytes: Been busy?

Default avatar.png Maxmars: I just dont understand how to play all the test cases one after another... Sorry newby

ejpon: I'd recommend the "Play all testcases" button

ejpon: but if any fails, the next tests won't start

Default avatar.png Maxmars: Ya but it doesnt work I have put all my cout statements one after another for all test case

Default avatar.png Maxmars: Is that how you should do it

ejpon: huh

ejpon: I'm afraid I don't understand your issue

Astrobytes: No Maxmars

Default avatar.png Maxmars: ???

Astrobytes: You are hard-coding the answers for each test case.

Astrobytes: Your solution should be able to solve the problem given any set of inputs within the given constraints.

Astrobytes: So you need to generalise whatever you do to pass the individual testcases.

Default avatar.png Maxmars: !!!ok... newbie... my mistake...

kovi: top3 is pretty close 0.01 between

Astrobytes: Also note that the validators when you submit are slightly different from the testcases, to stop hardcoding answers.

AntiSquid: the 1st used to be at 33, now it's a flat 30 :D

Astrobytes: Is there much to improve? Ways to improve?

AntiSquid: idk

AntiSquid: lol

AntiSquid: feels like some improvements backfire

Astrobytes: Does it depend on the number of high skilled bots in the league?

AntiSquid: i'd be #1 if i knew that

Astrobytes: Run locally with different versions

AntiSquid: every submit someone gets dropped from #1 :P

AntiSquid: there's also a lot of luck involved

Astrobytes: That sounds like any other multi that no one has any particular advantage on at the top

AntiSquid: starting hands and when you draw the required cards for example

AntiSquid: i keep telling myself i take a break and do a proper rewrite after next submit

Astrobytes: You do that with every game :P

Astrobytes: (that you're actively playing I mean)

Astrobytes: field3: Clobber inputs have changed. Need to update your program.

AntiSquid: woah a powerful start :o almost

MSmits: come get clobbered AntiSquid :)

kovi: sorry

AntiSquid: it's ok

MSmits: you still on fireworks?

AntiSquid: i dropped you from 1, so i understand you want to take your revenge lol

AntiSquid: damn he wins almost every time

Astrobytes: Everyone is on fireworks rn it seems MSmits

AntiSquid: ya 3 people active lol

Notgoodatcoding5: hi

AntiSquid: this time i am doing something right, not one single 4th place so far ! :o

AntiSquid: ah there it goes, i jinxed it again

AntiSquid: someone drop kov i, he went to sleep

Imsure1200q: i have encountered one of the most confusing reverse mode

Imsure1200q: :)

Wontonimo: I've never seen dimulien (3rd on fw) online, wow, he came out of nowhere

therealbeef: maybe very different timezone

MYBK: Hi everybody, Can anyone orients me to a simple problem I can solve using Genetic algorithm, please ? I don't think learning GA with coders strike back is a good idea for a beginner in the field

Astrobytes: Wontonimo: it's like that with a few users here and there, field 3 you only see at some times for instance

Astrobytes: (Japan)

AntiSquid: he's been top 5 all day at least today, even 1st Wontonimo

therealbeef: MYBK, maybe first try it on an optimization problem or puzzle then. GA in multiplayer is tricky because of the uncertainty of what the opponent is going to do

MYBK: yes I believe that also, especially I had some basic knowledge about neural network and q-learning, At this point in time I believe GA is a lot different than them, that's why I was too confused

MYBK: Thank you

MYBK: pss: how do you mention someone in the conversation? like you have done it with red color ?

therealbeef: just type their name :)

therealbeef: anywhere in the text

MYBK: thank you therealbeef

therealbeef: there's a user named struct, he gets red-spammed a lot ;)

MYBK: like that ?

therealbeef: yep

MYBK: cool, thank you, the messaging system in CG, makes me remember World of Warcraft messaging system, there is some similarity on it

AntiSquid: is use struct instead of class

MYBK: emm he may prefer using c language over other languages :p

Devinawesley: I just got humbled by a clash. Was one of those reverse ones and I couldn't figure it out for the life of me. Rip in salami

StepBack13: server lag?

Michael_48: oi me chum

Michael_48: how about we sail the seven seas