From CG community
Jump to navigation Jump to search

Default avatar.png trashcan06: NO

jacek: oO

Default avatar.png etohirse: jhb

Default avatar.png slamakans: Quest map is not working for some reason. I finished the introduction "Onboarding" but the next step isn't unlocked

Default avatar.png slamakans: Achievement for 100% also not getting unlocked. "Unlocked achievements" is just stuck on "Loading..."

Default avatar.png Saad-py: super easy difficulty problems on codinGAme

Default avatar.png trashcan06: I need xp ):

Default avatar.png Ajay-Bisht.7017.: hii

Aya_Noaman: hi

Default avatar.png trashcan06: hello hello

jacek: servers revived?

Default avatar.png trashcan06: don't think so

jrke: nope servers not revived yet

Default avatar.png rabeeMM: its only me or the the website is very slow

jrke: the website slow at the moment

Default avatar.png trashcan06: yeppers

Default avatar.png Tuanas: finally

Audatic: achievements still don't work :(

filou62: hello I do Puzzle of the week but I don't get achievement. :(

darkhorse64: CG site is having issues at the moment. Achievements will get unlocked once they fix it

Default avatar.png [CG]ROBIN: hii

Default avatar.png [CG]ROBIN: yeah they fix it

ElSam: good morning

Default avatar.png alpha..: good mrng

ElSam: ok

Rukunus: las putas

Default avatar.png [CG]ROBIN: can u talk in english

Passifi: in this case that would be very rude

jacek: huh

Default avatar.png [CG]ROBIN: hii jacek

Rukunus: sorry it's a friend

Passifi: putas is a curse word afaik

geriatric1927: Is the speed back to normal again?

geriatric1927: Oh, it is

geriatric1927: I join them quickly than yesterday

geriatric1927: \o/

muraterogl: It is even faster than before

Default avatar.png markopka: :muscle_tone3:

Radu_Sav: so when are achievements working again? getting addicted to these silly gamification thingeys is the only reason I am here :)))

Audatic: works for me

Radu_Sav: :-(

jacek: relog?

Radu_Sav: I tried resubmitting, nothing. still doesnt trigger achievements

Radu_Sav: 100% score = 0 achievements :-(

Astrobytes: there's a backlog, it'll happen at some point today

Radu_Sav: I want my gamification badges :D

Radu_Sav: great!

jacek: gamification is surprisingly strong

jacek: it made clash haters go to clash

darkhorse64: I hate clash even more because I did not get the achievement

jacek: oO

Astrobytes: I refuse to chase that particular achievement

darkhorse64: I mean being top 2% in the clash

darkhorse64: the 500 coc would fry my neuron

Astrobytes: Sounds like way too much painful effort.

Radu_Sav: I loathed clash and even more so code golf. I did well enough to finish all my badges comfortably for clash

Radu_Sav: I think I am in the 2% at clash. But, I did game a bit the gamification :D

Astrobytes: You're much more determined than I am that's for sure :)

Radu_Sav: the worse was the last one, 3 wins in a row. I could have completed it many times before, if I had known it would pop up later :D

darkhorse64: I'd rather write two multis to get the missing 700XP

Wontonimo: yeah, I'll admit the gamification has been a fierce driver for me

Radu_Sav: gamification or not, if this website had existed when I was a young dork, my coding would now be much, much, much better. it really motivates you to learn the basics of another programming language

Wontonimo: been chasing xp, cp, and the quest all at the same time. It's really nice having 3 metrics, as sometimes I get demotivated about one, but there is something shiny about another. YEah, I'll echo that about youth

Wontonimo: would have loved this site earlier

Radu_Sav: code golf was the most surprising. most programmers don't even know that's a thing

Uljahn: codegolf is just the opposite of what most programmers do

Radu_Sav: well yeah, I mean the only real use most programmers would have would be to completely obfuscate their code, so that no one could read it. not even themselves

djmil: Hey dudes, i have a question.. say, i've solved some training task in C++, and it so happened that my friend did same task in Java. Is there a way for us to check each our solution?

darkhorse64: No, unless you talk to each other

geriatric1927: Ok never mind, it's slow again

djmil: Well, we do, but sharing code fore each solved task by hands sucks..

jacek: use ctrl+c and ctrl+v [solved]

geriatric1927: Ok it's even slower than before

Astrobytes: Have patience

Astrobytes: It takes time to clear the backlog

djmil: > use ctrl+c and ctrl+v

LOL. I know hot to share code. I want to use GC interface for this. And not to buzz my friend to copy-pest solution he did, day, month ago.

Astrobytes: djmil: You have to solve it in the appropriate language first to view solutions in that langauge

Astrobytes: It's unfortunate but it is how it is.

djmil: Do you know why is it so?

Astrobytes: It's just how they made it. Other than that, no.

djmil: I see, thnx

Default avatar.png Chenalator: Why cant i get into a game of clash of code?

Default avatar.png Chenalator: Is it my problem?

SPDene: the whole site has been weird/broken for the past day or so

Default avatar.png Chenalator: Ok so its not just me

Default avatar.png Chenalator: right?

SPDene: no, it's not you

Default avatar.png Chenalator: ok thanks

Astrobytes: They've fixed the issue, but it will take time to clear through the backlog. Should be better later on today.

Stilgart: same here, all is slow/somewhat broken

Default avatar.png Chenalator: thanks a lot

Default avatar.png Chenalator: @Stilgart you are33rd on here!?!?

Default avatar.png Chenalator: Jeeez you are pretty proficient at coding...

Stilgart: no that high in this channel, though

Stilgart: not*

Default avatar.png Chenalator: oh yeah

Default avatar.png Chenalator: just looked at the others

Default avatar.png Chenalator: but I am like 14,000th

Default avatar.png Chenalator: just joined

Wontonimo: not bad for just joined

Default avatar.png Chenalator: and am in high school still

Stilgart: you might see several people in the top10 here

Default avatar.png Chenalator: only know python

Default avatar.png Chenalator: aha

Wontonimo: you can get into nearly everything here using python

Default avatar.png Chenalator: yup

Default avatar.png Chenalator: but some things its not efficient to use it

Wontonimo: Heck, I got to silver in uttt using python without bitboards.

Default avatar.png Chenalator: what is uttt?

Wontonimo: Ultimate TicTacToe


Default avatar.png Chenalator: is it like a tic-tac-toe race?

Default avatar.png KarimOURRAI: its so slow

Default avatar.png KarimOURRAI: in testing

Wontonimo: i don't know what that is. Don't discount python, you'll be able to do well in Clash of Code and most all of the practice can be solved with it.

Default avatar.png Chenalator: yup

Default avatar.png Chenalator: I only play clash of code really

Wontonimo: give the practice some love. Some of them are really fun. Try

Radu_Sav: The Mars Lander cave episode was strange though. I think the physics were slightly different because my lander was able to take off orbit much more easily

Wontonimo: sorry, actually if you are just starting out, do this one first

Wontonimo: I didn't test the physics, but using the same physics simulator as the other mars challenges worked for me

darkhorse64: The physics are the same

Default avatar.png Chenalator: thanks everyone

Radu_Sav: It just felt a bit more powerful, the cave one. but in the end I used the same engine, more or less

Radu_Sav: I didnt go back to check

Default avatar.png Hubert.: Hello

Radu_Sav: anyway, very interesting, PID controllers, it is the only time I actually used it in programming

Default avatar.png Char_2C: how do i remove the last x numbers of a python array?

Audatic: new=old[:-n]

Default avatar.png Char_2C: thnx

Audatic: n=x

Audatic: ;)

Default avatar.png Hubert.: :-)

Default avatar.png Hubert.: Hallo Herr Pinzger :-)

Strobofeuercyberreich: are tests broken for other folks? they all just timeout

Audatic: yes

Default avatar.png Chenalator: everything's running super slow don't worry

Strobofeuercyberreich: coolio

JLukeSkywalker: whats the easiest multi to reach legend in for the quest?

MadKnight: csb for sure

Default avatar.png Hubert.: Why das that don't go?

JLukeSkywalker: yeah, got to silver. currently have pid and steering down, just doesnt account for collisions

JLukeSkywalker: after the first lap it goes through perfectly if it was alone

MadKnight: JLukeSkywalker u just need to subtract your velocity vector from nextcp coord

JLukeSkywalker: oh, i do have the first lap down too

JLukeSkywalker: just not perfect bc you only know the next point

BilalTanerr: why site is soo lagging again

JLukeSkywalker: huh, looks like that information is given after you hit gold

JLukeSkywalker: just need to somehow break out of silver

MadKnight: i just told u how

MadKnight: subtract velocity

JLukeSkywalker: already done

JLukeSkywalker: it solves the course perfectly if there are no enemies colliding

MadKnight: oh

MadKnight: it should be able to break out of silver on its own

MadKnight: show me your code

JLukeSkywalker: how do you paste code nicely?

MadKnight: if it's more than 4 lines it'll pastebin

MasterCoderxD: what r validators?

Uljahn: hidden testcases

MasterCoderxD: ohk

MasterCoderxD: thnx

MasterCoderxD: can somebody tell me the issue in this if there's any

MasterCoderxD: P.S- I know it's a simple challenge

Uljahn: there is math.gcd in python, so you just import it

Radu_Sav: :)))

Radu_Sav: python is the best :D

Default avatar.png Tuanas: is the site lagging?

Strobofeuercyberreich: very much so

Default avatar.png Tuanas: sad

jrke: don;t worry it will be fixed soon

AndreMarasca: Lagging tooooo much

AndreMarasca: :sob:

Uljahn: the problem is known, no need to spam

Wontonimo: good time to work on simulation code offline

MadKnight: he's just being sad

MasterCoderxD: what about lcm Uljahn?

Uljahn: MasterCoderxD: added in python 3.9, but we are on 3.7 here yet

MasterCoderxD: ohk

MasterCoderxD: that was just a trial program bro

Default avatar.png RSBat: also lcm = (product of numbers)/gcd

darkhorse64: Astrobytes: I don't understand the issue. Are the graphics right and the inputs wrong ?

Astrobytes: darkhorse64:

darkhorse64: share it

Astrobytes: aw no you can't do it from contribs right

darkhorse64: yep


darkhorse64: Wow ! And it's random, I guess

Astrobytes: hm actually, it only happens when I play against myself it seems (arena or IDE version)

Astrobytes: Unless anyone else can reproduce

Astrobytes: Back in 45 m or so, afk

darkhorse64: OK

codybumba: is CoC pretty slow?

Default avatar.png HuanTarik: Same. Have some delay with the tests

codybumba: Page does not load or running test cases takes forever with network error.

Default avatar.png Maexel: Not sure, had the same issue yesterday. Someone in the chat said it was server side... maintenance work and that it should be fixed today again

RockNTroll: yes there is a monster who is eating all the servers

RockNTroll: They are trying to catch him but every piece he eats makes him smarter and faster

Raph_Hax0r: Everything is very slow to load :(

Default avatar.png Maexel: damn monster

MasterCoderxD: byee

RockNTroll: yes we can all defeat the monster together if we plant self-destruct code in the hardware he's about to attack

codybumba: I loose my rank because of this :(

Nikeleos: Self-destruct, Predator-Swarzy laugth...

RockNTroll: We need to rethink the batman find the bomb problem

Default avatar.png Maexel: Has anyone tried the winamax golf challenge?

Default avatar.png Maexel: Am on it... a tough cookie

Wontonimo: what's got you thinking of the batman problem? What change are you proposing?

RockNTroll: We need to defeat the server monster

RockNTroll: oh nvm looks like it's working again

Default avatar.png Maexel: it's still hungry though

Default avatar.png UncleZam: Is there any idea when the servers should be fixed?

Default avatar.png UncleZam: to come back later

Audatic: yeah this is just stupid...

RockNTroll: next site wide event is the coding game monster

RockNTroll: and if people don't participate, the site grows very slow

RockNTroll: but if people do well, the site gets very fast

Default avatar.png UncleZam: maybe have clash to fix the servers, should be ok in 15 mins

Audatic: @Maexel where is the winamax challenge?

Audatic: oh it's actual golf not shortest code

Default avatar.png Maexel: activities -> practice -> sponsored content -> winamax

Default avatar.png Maexel: sponsere puzzles

MadKnight: contest*

MadKnight: oh wait did they add a new menu thingy?

MadKnight: oh it's just sponsored puzzles

RockNTroll: ugh it's slow again :(

jacek: AutomatonNN why are you slow

AutomatonNN: wood 1

jacek: oh my

Default avatar.png jonzel: anyone else not able to compile anthing

BilalTanerr: moderators need to resolve lag issue as soon as possible

RockNTroll: There is a monster eating up the server resources

BilalTanerr: It is not a good event for the reputation of the site, it needs to be resolved as soon as possible, 2 days ago a moderator said that the problems will be fixed tomorrow

reCurse: You know moderators only moderate, right?

reCurse: The site admins are looking into the issues as we speak.

nitekat: so slow in clash, luckily the game I played was in shortest mode

BilalTanerr: I mentioned that only one moderator said it would be better 2 days ago

reCurse: It was the week-end, staff was off duty.

Default avatar.png jonzel: maybe ask jeff bezos for some more servers

reCurse: ecks dee

Default avatar.png jonzel: ;~)

geriatric1927: It has been like 1 minute since the timer went 0 and the clash should've launched

jacek: time dilation

RockNTroll: the monster is eating the clash timers

nitekat: you are moving at the speed of light

AntiSquid: jeff step down, keep up, jonzel :~)

AntiSquid: stepped *

jacek: huh

BilalTanerr: lol :joy:

jacek: oh noes, platform for free has some hiccups

AntiSquid: looks like a dressing locker to me

reCurse: Always clashers huh.

jacek: do you like bitstreams

geriatric1927: Movie makes do

geriatric1927: In sci-fi hacking crap

jacek: reading on rebless profile

geriatric1927: heh

Nexus1337: I am stuck in lobby anyone else too

Astrobytes: Nope. I'm stuck in the bathroom. Send halp!

Nexus1337: step bro, im stuck, can you help me?

geriatric1927: I think it's a site problem

Astrobytes: oO

jacek: Oo

geriatric1927: oO

Nexus1337: uff

Astrobytes: Yes, site issue. Staff are working on it.

Default avatar.png elementzprojects: sup

1Deep-Matrix: :stonks:

[.]: clash of code bugged

[.]: ?

1Deep-Matrix: :mhm:

Astrobytes: Yes, site issue. Staff are working on it. No current ETA.

derjack: is it me or clashes stopped working?

Astrobytes: shut it pony boy :P

derjack: eenope

nipun18058: :joy:

nipun18058: for me clashes stopped many times and glitched too many times lol

Astrobytes: Yes, site issue. Staff are working on it.

BlaiseEbuth: Oh ? They finally gonna remove clashes ?

Astrobytes: :rofl:

JLukeSkywalker: is there a max pod velocity in csb?

Default avatar.png ianc1339: ayoo we back now

jacek: uWu

struct: no JLukeSkywalker

JLukeSkywalker: if you reach lightspeed, does it count as hitting all the targets at once?

jacek: warp 10 eh

struct: does lightspeed travel in circles?

Astrobytes: It becomes c-SB

jacek: lets ask physicists

jacek: MSmits, where are you

BlaiseEbuth: "where" is relative...

Uljahn: when are you?

BlaiseEbuth: :thinking:

Uljahn: Heisenberg Uncertainty Principle applied to MSmits :smiley:

Astrobytes: You can't measure MSmits location until you see him.

BlaiseEbuth: Is not it the inverse ? If we measure his position he gonna appear somewhere ?

Astrobytes: He only appears where you measure him to be at that time, there's no guarantee that he's still there after you've observed him

jacek: Heisenberg gets pulled over for speeding. Policeman: "Do you know how fast you were going?". Heisenberg: "No, but we know exactly where we are!"

Astrobytes: lol

jacek: Policeman: "you were going 108 miles per hour!". Heisenberg angrily "Great! Now I'm lost!"

Astrobytes: You were late with that

Astrobytes: oh, trictrac joined Clobber

jacek: shall i join too

Astrobytes: Have you NN'd it yet?

jacek: i wait for opening books

trictrac: hello Astrobytes & jacek, referee of clobber works fine, cool

Astrobytes: Yes, it seems to be working just fine. The only question is the traditional 10x10 or whether we keep 8x8

trictrac: for me 8x8 is enough

trictrac: cool for bitboard

trictrac: only 2 uint64

Astrobytes: Yes. I guess 10x10 is more interesting outside of CG constraints.

darkhorse64: There seems to be a constant at CG: someone writes a board game and trictrac goes first

Astrobytes: It's the Law of Boardgamedynamics

trictrac: only the first day, after some offline trainer comes

Astrobytes: :)

darkhorse64: I have done a bit of homework on this game and there are many approaches to it: MM, MCTS, heuristics combined with table bases and D&B solver style (I mean you have to count precisely for winning)

darkhorse64: Sorry no opening books but ML may work too

Wontonimo: MM?

darkhorse64: minimax

Astrobytes: Any particularly dominant approach or do results vary? Also a lot of papers use the 10x10 version.

darkhorse64: with 5 sec per move or more. This is why I am keen on using 8x8

Astrobytes: Yeah, as I said just a few minutes ago I think 10x10 is better suited outside of CG constraints.

darkhorse64: ^

Astrobytes: Not sure there's much left to do with the game, unless you plan any more graphical 'polishing'?

jacek: polishing eh

Astrobytes: darkhorse64: you were so right about that

darkhorse64: :innocent:

jacek: about what :F

Astrobytes: Never mind :P

jacek: :E

darkhorse64: The game needs a real boss not an alibi one. Otherwise, you will get 30 while(true) print("random") bots in the league

Wontonimo: I really like Clobber, coding the simulator seems deceptively simple ... such that it will come down to crazy optimization for the top! A pure game in that way

Astrobytes: Yeah ofc, but the game itself I think is done.

Astrobytes: ^ for darkhorse64

darkhorse64: True

JLukeSkywalker: lol, i made my csb bot wait till the second lap to boost, and it went from S 24k to S1k

Wontonimo: what would a "good" wood league bot be? Something like a 1 ply MM based on optimizing the ratio of yourmoves/theirmoves ?

Astrobytes: Didn't MK give you the secret earlier?

JLukeSkywalker: using his secret makes it worse

JLukeSkywalker: maybe my way of calculating velocity is just bad

Astrobytes: the trick definitely works, that much I do know.

Astrobytes: There's more fun in not using it (imo), but given that you don't get full input until gold, I don't blame anyone for using it

Astrobytes: Wontonimo: depends on the strength of competition in the league (and the boss strength)

Wontonimo: i was asking specifically about clobber and @darkhorse64 's ambitions

Astrobytes: I know :)

Astrobytes: The boss would definitely have to be stronger than a 1 ply mm

Wontonimo: but, yeah, on that note, is there any general community guideline there?

Astrobytes: Well, it shouldn't be unbeatable!

darkhorse64: The idea is not to prevent people to climb the league but to require some effort from them and maybe convince people that it's worth keeping on working on it

Astrobytes: Generally for a community multi the bosses will be tested by the players, so if it is too difficult or not difficult it can be adjusted to be fair

Wontonimo: i've gotten the feeling from some competitions that getting out of wood is often achievable without writing a simulator. It's like "hey, thanks for coming out and writing some if/then/else". Well, maybe that's wood 1, when there are multiple woods.

Astrobytes: You want it to beat single depth random and output last/first move if the movelist is supplied in the inputs

Astrobytes: (the boss that is)

Wontonimo: agreed

Astrobytes: Most community games only have 1 or 2 wood leagues (there can be up to 5) but the official games may have quite a few and a sim + search is definitely not required for most of those.

darkhorse64: I did not supply the moves because on first turn there are 112 of them which is quite big. Maybe just the number of legal actions is useless

Astrobytes: (community games can't have bronze, silver, gold, legend unless there are many, many users)

darkhorse64: and i should remove this input

Astrobytes: No darkhorse64, it's useful to verify your sim

Wontonimo: i didn't know that community games can't have multiple levels without #s

Astrobytes: we get multiple wood leagues which functions similarly

darkhorse64: Yeah, this is much complained about but we have yet to see a community multi reach 500 members (except those which were contests)

Astrobytes: ^

Astrobytes: They do tend to be a little harder to start than some of the official ones.

darkhorse64: Vindinium is the biggest I think followed by D&B

Astrobytes: And the competition is somewhat fierce.

Astrobytes: Oh D&B got that many? Nice.

darkhorse64: fierce is a weak word

darkhorse64: ferocious

Astrobytes: Yes, that's better :)

Wontonimo: (off topic) is the trueskill(like) calculation on CG out of 50?

struct: potw is a "big" boost

darkhorse64: True and I think weekly or weekend contests on user contributions would help even more

darkhorse64: Sorry, Wontonimo, but I don't understand your question. 50 whant ?

darkhorse64: *what*

Wontonimo: from : "The system can be used with arbitrary scales, but Microsoft uses a scale from 0 to 50 for Xbox Live"

darkhorse64: OK. Sometimes score goes beyond 50, CSB #1 for instance

Wontonimo: oh ...

jacek: or checkers :unamused:

Wontonimo: hmm ... so, what the heck is the bounds of CG trueskill calc. Looks like 0-100

Astrobytes: There *might* be something in the forum about that, but don't hold me to that

Wontonimo: nah, just idle curiosity. I mean, it would be nice to know how it translates into % win.

reCurse: No bounds

Wontonimo: but i'm happy with "<" = "<"

JLukeSkywalker: is the trueskill calc actually working right now?

reCurse: Define working

JLukeSkywalker: csb leaderboard

reCurse: Precise what you mean by working

JLukeSkywalker: submitted, got 80% winrate in history, ranked 24k

JLukeSkywalker: 8 score

JLukeSkywalker: in silver

Wontonimo: ah, winrate doesn't necessarily translate to high ranking

Wontonimo: because it may just be testing you around where it thinks you are

Wontonimo: look at your win/loss against those higher than you and lower than you

reCurse: You do not have 80% winrate

JLukeSkywalker: it was the last time i looked, its done a bunch of games since then

jacek: :fire:

reCurse: Wontonimo: Roughly 4 points for 76% winrate IIRC. But since the ranking and matchmaking on CG is broken, the delta is very unreliable.

Wontonimo: !! THANKS !!

Wontonimo: that's exactly the kind of metric i was wondering about

reCurse: For instance it shows I have 0.5pt over rank 2 at CSB even though I have 75-80% winrate against

jacek: hmm 200 elo is 75% hm?

reCurse: IIRC yes

Papaver: Anyone else experiencing problems with Clashes atm?

Papaver: Or do I have too many blockers :P

reCurse: Seems like there are site-wide issues at the moment, they're being looked into, no ETA.

Papaver: Ok ,thanks!

Papaver: Then it's bed time here. :)

Papaver: Good night!

reCurse: Good night

muchClue: reloading the page after the clash started works for me

Papaver: I was scared to 'leave the clash', but I could use the 'sharing'link :)

Wontonimo: finally inspected my uttt code with a profiler (long story) and discovered in making a random move that 5/8ths of the time is spent picking a random bit, 3/8ths is everything else.... looks like random bit selection needs some work lol. Anyone got any suggestions for fast random bit selection 0b011010001 <- pick one at random

Wontonimo: c++ btw

Default avatar.png GeorgiD: can u guys start a clash?

Default avatar.png GeorgiD: It's not working for me

JohnathanBarbee: Clash has been down for while. They are working on it

mikolate: neither for me

mikolate: where do they communicate that?

mikolate: to see when it will be fixed

JohnathanBarbee: No idea. Saw people have the same problem in this chat earlier


Astrobytes: __builtin_popcountl shouldn't be __builtin_popcountll?

darkhorse64: __builtin_popcount is the 32 bit version from memory

Wontonimo: @darkhorse64 Thanks! I'll try it

reCurse: Umm beware of rand()

reCurse: It's either giving an abysmal-quality of random, or an abysmal-speed of random.

reCurse: Something in the xor family would be good

Astrobytes: I'm assuming it must be a custom rand

darkhorse64: if it contains a %, it's rubbish.

reCurse: The modulo is something else, but yeah it can give a slight perf boost

darkhorse64: Yes, it's a custom one

reCurse: I'm not sure if the bias ever caused any harm

Astrobytes: yeah look into the xorshift ones

darkhorse64: modulo is awfully slow

reCurse: Oh right the rand argument should give away it's custom, eh. But still, if you google rand...

Wontonimo: thanks everyone! lots of ideas there for me

darkhorse64: Just to make things clear, rand(a) returns a integer random number between 0 and a-1. A naive (and slow) implementation is rand() % a

Wontonimo: i've googled and googled but can't figure out this error message : error: always_inline function '_pdep_u64' requires target feature 'bmi2', but would be inlined into function 'randomBit' , if only I had more than 30 hours of recent C++ experience

Wontonimo: anyone know this may be fixed?

reCurse: You need to enable the instruction set

reCurse: #pragma GCC target "avx2,bmi2,popcnt"

reCurse: Not sure if the popcnt is necessary but w/e

MadKnight: Automaton2000

Automaton2000: to make the code for the next hour on

reCurse: I see Magus started monetizing

Wontonimo: Thanks @reCurse , unfortunately I'm too noob to c++ to get that to work. I've pasted it at the top of the code but alas, problem still happens. I'll keep that snippet and keep googling.

reCurse: Surely the error must be different?

darkhorse64: #pragma GCC optimize("O3,inline,omit-frame-pointer,unroll-loops","unsafe-math-optimizations","no-trapping-math")

  1. pragma GCC option("arch=native","tune=native","no-zero-upper") //Enable AVX
  2. pragma GCC target("avx,popcnt,bmi2") //Enable AVX

reCurse: I never needed the option line

darkhorse64: and get Legend

Astrobytes: can't some of the options be detrimental to performance?

reCurse: Rarely

MadKnight: u just made me look up a word

MadKnight: i could guess it from the context but i had to look it up

Astrobytes: We're pretty much guaranteed haswells on here right?

MadKnight: u did it again

reCurse: Shouldn't have to care about cpu architecture as long as you specify the instruction sets

MadKnight: yea gcc is pretty good at optimizing asm stuff

Astrobytes: Hm, true.

MadKnight: it usually resolves all of your wrongs

MadKnight: i even stopped specifying inline

MadKnight: it just makes everything into inline by default

reCurse: Inline is completely ignored except for repeated implementations in header files

MadKnight: yea that's the only case when i use inline

reCurse: And it doesn't make everything into inline by default, you need to specify the inline compiler flag.

MadKnight: just to make it work from .h

MadKnight: i meant it makes everything into inline when i do the flag

C_breeze: anyone else having trouble with clashofcode?

MadKnight: with this level of optimization, the only thing inline does is it removes the function from the binary

reCurse: Not necessarily

MadKnight: while it's not even used at all since the optimizer just makes it inline by default

MadKnight: with -O3 or stuff

reCurse: It still has the ability to make it into a function if it sees fit

MadKnight: C_breeze oh i thought they fixed that

Astrobytes: "fix in progress" - no current ETA

MadKnight: yea it has but if the function is pretty small it turns it into inline in like 100% cases

C_breeze: having trouble with it refreshing after a start or submit

reCurse: I've seen enough weirdness to care about the edge cases :p

MadKnight: actually big functions could stay as normal functions

Astrobytes: Can only suggest trying again tomorrow at some point C_breeze

MadKnight: the only weirdness i've seen was when my arr[s1][s]2

C_breeze: thanks - shall stic to bot progs

MadKnight: int arr[s1][s2]; didn't work because i did arr[0][s1*s+s2]

MadKnight: when i was just trying to fill it with 0's

reCurse: Indices are reversed

MadKnight: wat

MadKnight: explain

MadKnight: i can't find where i was wrong

MadKnight: [s1][s2] works like s1index*s1size + s2index

reCurse: Nevermind I mixed up with something else

MadKnight: okay np

MSmits: yay I can get into the IDE again

MadKnight: great

MadKnight: what game are u working on ?

MSmits: uttt

MadKnight: oh

MadKnight: did u get a new great idea for this game ?

MSmits: many

MadKnight: oh cool

MadKnight: soon MSmits #1 uttr or fix it

MSmits: nah, still have a list of things to test

MadKnight: don't worry about that i know it takes time

MadKnight: i also had a whole list of things to test when i was gold in uTTT

reCurse: Gotta move with plan B then

MSmits: you mean backporting your uttt?

MadKnight: Automaton2000 explain plan B i have no idea what it means

Automaton2000: MadKnight we need to do the whole thing

MSmits: sure you can do that, but wait till I beat you first :)

MadKnight: Automaton2000 exactly

Automaton2000: you mean system calls etc?

MadKnight: MSmits yea probably, i just have a weird impl of MCTS

MadKnight: Automaton2000 i'm gonna rework it soon

Automaton2000: ok thank you for that

MSmits: my plan is to get this uttt bot to maximum effectiveness and submit it without a book. Then later generate a *general* non-targeted book. I won't do the cheesy

MadKnight: Automaton2000 i'm gonna get at least the same result as now but with a very flexible version of MCTS

Automaton2000: do you think this will help me to solve this problem

MadKnight: MSmits i had the same goal

MadKnight: wait what book?

MSmits: i mean just opening moves generated automatically with meta mcts

MSmits: not targeting specific players

Astrobytes: "*general* non-targeted book" - you may as well do some ML :D

MadKnight: oh feels like what i did

MSmits: that's true Astrobytes, it is on my list... some day

MadKnight: okay let's see what MSmits does

MadKnight: i think i'll look at my bot tomorrow to try to improve it

MSmits: sounds good MadKnight

Astrobytes: btw MSmits Clobber works perfectly, just needs a boss now

MadKnight: wait what is actually a book guys? MSmits Astrobytes u gotta explain it to me

MSmits: that's cool, it's quite an interesting game. What struck me that it's another nim game in a way. I wonder how close successful bots will be to their D&B counterparts

MSmits: it's different in that you dont use the same pieces so...

Astrobytes: Yes there are similarities MSmits, it should be interesting

reCurse: Seems a lot more interesting than uttt doesn't it

Astrobytes: lol

MSmits: hmm

MSmits: novel, mostly

MSmits: they're both interesting to me :)

Astrobytes: MadKnight: Harcoded responses to particular moves - whether opening, mid, or end-game

Astrobytes: *Hardcoded

Astrobytes: *moves or lines of play

reCurse: aka pulling an OldJohn

Astrobytes: Heh

Default avatar.png epicgames: for some reason whenever i join a game it doesnt work for me

Default avatar.png epicgames: it doesnt start

Default avatar.png Innoble: did he do it to you on othello now reCurse?

Default avatar.png epicgames: any problem like this for anyone else?

Astrobytes: He's oldskool though, I like that

reCurse: Innoble: Yes

MSmits: sorry that was my alt

MSmits: allright

MSmits: did warn ya

Astrobytes: no shit :D

Astrobytes: epicgames: staff are working on it - might be better at some point tomorrow

Default avatar.png epicgames: oh alright

MSmits: you know if you want, say if you're feeling sufficiently spiteful. I can put my book back on, you generate a new version, and i keep it updated to beat oldjohn

MSmits: but not you

Astrobytes: mwahaha

reCurse: No I'm not stooping to that

MSmits: allright, just saying

reCurse: I still call out utter bullshit when I see it

Astrobytes: On that most excellent note, I bid you all goodnight :D

reCurse: night

MSmits: gn Astrobytes

reCurse: I like how python optimization can be mostly summed up by "how can I abuse numpy as profoundly as possible to avoid using the language"

reCurse: And by like I mean I'd rather play uttt

JLukeSkywalker: do you get anything for solving puzzle of the week, or is it just like solving the puzzle normally on your own time?

reCurse: Wasn't there an XP bonus or something... I forgot

struct: There is an achievement, not sure if its repeatable

MSmits: is numpy faster because of precompiled stuff reCurse?

MSmits: never got into numpy myself

MSmits: that makes sense in light of you "avoid the language" comment

MSmits: if you're basically avoiding the interpreter

reCurse: It's faster because it's basically a DSL implemented in C/++ exposed to python

Alshock: DSL=? sry for noobish question

reCurse: domain-specific language

MSmits: hmm ok

Alshock: oh kay thanks

MSmits: but dont you use it as a library?

reCurse: Sure

MSmits: i mean, that's not really the same as avoiding python. You're just more conscious of the fact that pythons interpreter slows stuff down a lot and you're being more specific about what you want

MSmits: but I guess your point is that in that case you should have been using C++ in the first place

reCurse: My point is that rather than doing simple stuff in a loop where the runtime would have been acceptable in C++

reCurse: You have to start contorting your thinking process on how to wrap what you want to do in high level operands

reCurse: Because doing a single loop in python is enough to kill all pretense of performance

MSmits: ahh ok, but I guess it depends on what portion of the project you're running is actually about the stuff with numpy

MSmits: if it's a small part of the code that's very important, you might not want to convert it all to a language like c++ even if its really important (a bottleneck)

Alshock: well, iirc the problem is not what part is numpy, the problem is that nothhing in the bottleneck can get out of numpy

reCurse: I don't know, if the solution to performance is to avoid using the language, says a lot

Alshock: well, that's python's default from the start, at least it's honest about it

MSmits: well it might save a lot of time doing the project in python. Dev time

reCurse: I thought so too

reCurse: Big mistake

reCurse: At least I can reason that since it's work stuff it needs to be pickupable by someone down the line

reCurse: So better do in python

reCurse: But F me this is dumb

MSmits: but aren't you really good and knowledgeable with c++

MSmits: and less so with python?

reCurse: Dumb code tends to be fast in c++

reCurse: Dumb code tends to be impractical in python

MSmits: by dumb code you mean simple code

MSmits: right?

reCurse: Code that doesn't require a lot of knowledge of the language internals

MSmits: ah ok

MSmits: personally I find python to be great for short scripts and don't use it for much else

MSmits: if a program in python gets too big, it seems hard to not make mistakes with typing and such

MSmits: and i dislike how it works with scope

reCurse: That's another dimension of issues

MSmits: you create a variable outside a loop. Try to modify it inside a loop, but you accidentally misnamed it inside the loop. Python just assumes you wanted a new variable and thinks it's fine

MSmits: and you can even access this variable outside the loop

reCurse: Yeah that's annoying

MSmits: but then again c++ allows a lot of stuff that doesn't make sense either without giving errors. I know you can prevent a lot of that stuff with a better configured IDE, but just the same I prefer C# for this

reCurse: Sure but I'm not talking about that

reCurse: I'm talking about what would amount to a 6 lines loop in C++ that I would write without second thought

reCurse: Results in an hour or two of digging numpy APIs to combine some weird calls together so it doesn't choke on big data

MSmits: and this would be hard in python?

MSmits: ohh big data

MSmits: well not all loops require a huge amount of data ofc

reCurse: Ironically became the de facto language to handle big data

MSmits: because of numpy i suppose

MSmits: I guess this is what happens when people get too comfortable with a language

MSmits: especially when they are not coders as a first profession. They're just glad they know 1 language well :)

reCurse: Yeah yeah I know the song

reCurse: Just ranting

MSmits: hehe that's fine

struct: JLukeSkywalker I tried the puzzle and got the normal 50xp

Default avatar.png Innoble: hmm i think the fact that i have a better solver is hurting me now :P

Default avatar.png Innoble: damnit talking on my alt again

reCurse: Isn't your problem solved now?

MSmits: I often solve around ply 31-33 in uttt now and I think that when I loss, I don't play optimally

MSmits: yeah i just have it on because i was still running a cg bench on the alt

MSmits: i wont start it up tomorrow

reCurse: Are you... using that browser plugin to do bench

MSmits: nah, i just paste my cg bench replays into the firefox browser thats logged in to my other account

reCurse: Oh ok, gotcha

struct: does that plugin still work?

reCurse: Not sure, could be

MSmits: I wonder if I should stop playing most visited move with the solved losses and instead play most valued move

reCurse: You should definitely stop playing and do clobber instead

MSmits: lol, probably right

struct: MSmits you need to learn NN before next winter

reCurse: Wait I thought chat was off in CG replays

MSmits: because of heating?

struct: yes

Valdez001: Hello guy

MSmits: it's off reCurse, stop trying to make sense of my stupidity, i just changed tab to my IDE in firefox that is also on my other account

MSmits: instead of changing browser

MSmits: this account is on chrome

reCurse: I have trouble killing background threads

RockNTroll: murderer

MSmits: ye so do I

MSmits: hey, just one more uttt question. When you were testing your NN, did you notice most of your versions losing to karliso?

MSmits: because all my versions are much much weaker against karliso than your nn

MSmits: and i tried a lot of different ones

MSmits: it's usually between 40-55% vs your bot and then between 15-35% vs karliso

reCurse: What did I do to deserve this

reCurse: Oh wait, nevermind

reCurse: There's a lot to answer for

MSmits: i wont submit a bot that beats you by 55% and then loses to tomatoes 40% and karliso 20%

MSmits: that would just leave me in the same spot and pull you down

MSmits: I think it might be RPS again

MSmits: never knew uttt had so much of that

MSmits: but my new bot is very deterministic and so are your NN, so i guess it's that

MSmits: anyway sorry, this is has just been weirding me out. I thought uttt was mostly randomish and a bot that's better, is generally better than everyone that's worse... but apparently not

reCurse: But you knew the answer all along

reCurse: It's just a variant of counterbooking

MSmits: well isn't your NN then as well?

MSmits: if you try different versions?

MSmits: and you keep the one that is properly RPS-ed

reCurse: Deterministic bots in fixed starts exhibit RPS to some extent

MSmits: yeah

MSmits: that is what i meant

MSmits: my current bot has just 2 parameters really

MSmits: it's not like i fitted them to find a counter to you

reCurse: So not much difference except if you shake things up you still have a working bot

reCurse: If you shake things up your counterbook is garbage

MSmits: right

reCurse: Like I mentioned the other day, the irony is the only way to fix this is have a generic book

reCurse: And it's stupidity I'd rather not get into

MSmits: generic isnt'much work aside from turning on the machine. But i guess your machine is doing other stuff

MSmits: it's the counterbooking that's a lot of work

reCurse: I completely disagree

MSmits: why do you think a generic book is much work?

reCurse: Why do you think counterbooking needs work?

MSmits: no, I guess if you download replays automatically and process them it's not much more work than a generic book,, but it's still more work

MSmits: generic doesnt require the extra work of gathering information from opponents and processing them

struct: Even less work if you automate it

reCurse: You literally only need to find the series of hardcoded moves that wins

reCurse: That's a no brainer

MSmits: so it's less time calculating for the machine

MSmits: it's not less time coding

reCurse: Generic opening needs you to actually find them and evaluate them correclty

MSmits: mmh countering specific players also still needs some guidance, the same kind of guidance that it requires to do general openings

MSmits: you need to know what good moves are in both cases

MSmits: you just reduce the tree complexity when you counter specific players

MSmits: basically halving the depth

reCurse: You don't need good moves

reCurse: You only need to find what the opponent doesn't respond well too

reCurse: You can even get started by having the bot play against itself

MSmits: that might work in the short term

reCurse: There's nothing long term about counterbooking

MSmits: if you want to win a book war, you want the counters to be as perfect as possible

struct: also cant one move win vs a player but lose vs another?

struct: Or you will just try other move?

reCurse: If you want to win a book war, you need to come up with a generic opening book and vary it enough that hardcoding becomes way too difficult

reCurse: It's pretty obvious comparing the amount of work

MSmits: when karliso still had a book, at some point i solved his play from ply 25 and on and he kept deepening his book, but i already countered it all, because it was solved in my meta mcts

MSmits: it was already playing perfectly

reCurse: I don't know how you can argue that finding moves the opponent doesn't play well against is more work than finding moves working well in all situations

MSmits: more coding work

MSmits: not more time

MSmits: it can be done really quickly

MSmits: i did it to you in a day, by hand

MSmits: but to code a system to do it automatically, using replays, is time consuming

MSmits: it would be difficult for me

struct: Is it more time consuming on the long term?

MSmits: no

MSmits: if you have a system, you can reuse it

MSmits: for other games

MSmits: but i had a generic opening book generator before i could add manual guidance and such

reCurse: I have done both, meta mcts was more work

MSmits: ah but there's the difference, the same mcts i use for generic moves simply has a button for guided search for countering players

MSmits: its the same program

reCurse: You don't need meta mcts to counter

reCurse: Talk about overkill

MSmits: you do if you want your book to do both

reCurse: I never talked about doing both

reCurse: I compare the work to counterbook vs. the work to have a generic book

MSmits: ohh ok. I would never think of doign a book jjust to counter players. I like creating generic books. The counter thing came later, when i figured out that I could do that

reCurse: Literally all you need to do is to record the different moves your bot plays when you give it 10x more thinking time

reCurse: It's braindead

MSmits: just counterbooking seems a timewaster, as you say people will just get a different version

MSmits: my "counterbooks" are basiclaly just 100-200 moves put on top of a 2000 move generic book that's in a bot that has room for 100k moves

reCurse: Well some people enjoy wasting their time

reCurse: If you automate it well enough it's technically unbeatable

MSmits: ah ok yeah. My main point was that such an automated system would seem hard to interface with my meta mcts program

reCurse: But you don't need meta that's what I'm saying

MSmits: yeah, i got that

MSmits: I just would dislike your way of counterbooking. My way of counterbooking would just merge with the rest of the generic book and the moves would be generally good and be reusable vs other players. the parts of the tree explored would be persistent

reCurse: There's no difference though

reCurse: It's just going much deeper in fewer lines

MSmits: yeah, but it's building on the generic book that maybe goes to ply 10-20 depending on the game

struct: But you have a counterbook on top of it right?

reCurse: With enough opponents you wouldn't tell the difference

MSmits: I guess so, but for some games, like Othello, countering one player also counters others

reCurse: You just thought I had a huge opening book back then

MSmits: there are too few "best" lines of play

MSmits: in uttt yes, i did

MSmits: in uttt, there are many viable lines of play as opposed to Othello

reCurse: I am thoroughly unconvinced

MSmits: well, to counter your nn i needed to add maybe 1 or 2 moves per line of play on top of the moves i already had vs jacek, oldjohn etc. you had several lines of play, maybe 15 or so unique ones, so i added 30 moves or so

MSmits: most of the time my book was already 25-30 deep vs you

MSmits: i just extended it to 40 or so when necessary

MSmits: or 35

MSmits: so my point is, your bot was not that different from say dbdr or others

MSmits: played most of the same openingd

reCurse: Aren't most bots sort of playing the same in utt

MSmits: no, for p1 the teccles is pretty standard, but till ply 20 player 2 has to make about 10 decisions, those are completely different for everyone

karliso: "solved his play from ply 25 and on and he kept deepening his book" - I did that only to make a point.

MSmits: i know karliso

karliso: Also, I will submit a bot that does 1st 2 moves as black as random.

MSmits: i was making the point that counteribooking with mcts is more effective

karliso: You will be able to test that.

MSmits: karliso that's a great idea, but i wont be trying to counterbook anymore. So dont do that on my account

MSmits: just do what makes your bot good

karliso: No, I do it to test my bot.. just like you do.

MSmits: ohh ok

MSmits: good then

MSmits: reCurse i should add, even though players play the early game very differently, the best players do play it deterministically differently with only few variations.

MSmits: so their game is deterministic but different from others

MSmits: feature of the pruning that happens in the bot I guess

MSmits: karliso's current bot has a only few variations and I don't even have to try to know yours probably always does the same

MSmits: which is why i think it's cool to randomize the opening a bit more karliso

reCurse: Hmm ok I changed my mind

MSmits: oh hey, did i mention my new bot has no random

reCurse: Yes

MSmits: (no random rollout_

MSmits: it's eval

MSmits: like your NN, except i has 2 eval parameters instead of 20k or whatever

reCurse: Will it be enough to get ahead of the rest?

reCurse: I'd be impressed

MSmits: it's hard to say currently, i still have many untried ideas. But I have versions that are about 55% against everyone but tomatoes and karliso

MSmits: that includes your NN

MSmits: it would rank the same as my current bot i think

MSmits: but as i said i wont submit, it would just pull you down

reCurse: Well you'll submit at some point

MSmits: yeah but i want it to be more gneeric

MSmits: the determinism leads to weird situations

MSmits: sometimes 70% vs yurko, 30% Mealc

MSmits: stuff like that

MSmits: with the random rollout that never happened

MSmits: for some reason it always does well vs you though, even with different parameters, usually 40-55%

MSmits: which i think is great vs such a good opponent

MSmits: I think your bot has maybe some problems with the endgame, like it did in othello

reCurse: I added a solver and it did worse, go figure

MSmits: my bot solves 20-15 plies before the end, sometimes it says i lose vs you, until 5 plies before the end and then your bot ruins it

MSmits: and i draw

reCurse: I literally can't solve that far ahead so

reCurse: Of course it's bound to be weaker in the endgame

MSmits: no i know, its the number iterations

reCurse: The point is to not get in a weak endgame

MSmits: that makes it a rather interesting matchup

MSmits: between NN and non-NN

MSmits: both having advantages

reCurse: Well there goes my good mood, guess I'll start backporting

Default avatar.png Innoble: no need reCurse, even if you backport, there's always someone working on uttt, just wait until it actually loses

Default avatar.png Innoble: damnit, not again

MSmits: karliso and I are both working on it now

MSmits: we will stop eventually

MSmits: maybe that's a better time to do it

reCurse: You're assuming I won't stop before you do

MSmits: i am sayin that if you get it done and i keep working and do something, you'll be annoyed about it again and maybe want to do more

MSmits: then you'll have uttt 2 times in your future

MSmits: instead of 1

MSmits: just trying to minimize your uttt-time

reCurse: You're assuming that time somehow gets more efficient if I wait

reCurse: That's only true if someone leaks valuable info

MSmits: I will leak probably

MSmits: not sure if it's valuable

MSmits: most of what i found these last few weeks are pruning opportunities and eval

MSmits: migth not be useful for a nn

MSmits: there's a crazy amount of domain knowledge in my bot now. I really want to write it up sometime and share

MSmits: it might actually be read, because uttt is quite popular

MSmits: maybe when i am done with this iteration

karliso: So you say tomatoes sometimes does better than reCurse? For all my versions reCurse is strongest opponent and tomatoes are among "rest".

karliso: Tomatoes goes all in with white.

karliso: tomatoes GW=62,90% [ W=61,29% L=35,48% D=3,23% ] [31]

Default avatar.png Innoble: oh not with me

MSmits: that makes sense

MSmits: your bot is definitely stronger than tomatoes

MSmits: this version has a bug, but it shows my point:


MSmits: do you see how tomatoes is stronger and you are even stronger than that

MSmits: bit low on games, but all my tests are like this

MSmits: same result, usualyl a bit better for me (50% overall)

MSmits: but this version has a bug i am trying to track eown

MSmits: down

MSmits: I think it's like recurse said and the difference might be the solving power my current bot has

MSmits: that somehow helps me more vs recurse

MSmits: since the other bots all solve better in the endgame

karliso: Yes, reCurse's bott seems strong early/mid game.

MSmits: yeah

karliso: But I probably solve better than you.

MSmits: my current bot probably solves better than yours, but it solves as a loss :Pp

MSmits: my new bot solves at ply 29-34 often 20 before the end

MSmits: I doubt your bot does that, but it does not need to, to win

karliso: I don't "solve" actually... I just assume that if it is 80% it has found WIN.

MSmits: ahh ok

MSmits: when i say solve, I mena a proven win/loss/draw based on perfect play of both sides

karliso: nice

Default avatar.png Innoble:

Default avatar.png Innoble: my bot playing itself

Default avatar.png Innoble: (my alt)

Default avatar.png Innoble: see how it knows it's won/lost at ply 31

reCurse: The only way to solve my endgame (pun intended) is to know when a game is solvable, but unlike othello that seems next to impossible to predict in uttt

Default avatar.png Innoble: yeah, thats right, games have many different lengths

MSmits: it depends on how many moves are played in a finished miniboard

MSmits: also games are easily solvable when one side has 2 in a row and a good position in the 3rd board, then it becomes a matter of avoiding being forced to send the opponent there

MSmits: that reduces branching a lot

reCurse: That's an awful lot of domain knowledge I'd rather avoid

MSmits: yeah as i said, i've been coding this sort of thing in my bot for the last week or so

MSmits: lots of domain knowledge

MSmits: if you dislike the game I can see why that would not be fun to do

reCurse: uttt is the last game I get into I don't like playing

struct: just wait until I port hex version of uttt

MSmits: I think it's a bit sad you dont like some (or most?) of the boardgames you're writign NN's for reCurse

MSmits: it would be more fun if you did

MSmits: and more interesting

struct: He enjoyed checkers right?

MSmits: ah yeah

MSmits: except for the draws

reCurse: That's because I like the ML part

reCurse: And yeah checkers is good

reCurse: Draw is often because you suck at endgame, there's ways to deal with that

MSmits: yes, i know thats what you like about it. But how much more fun would it be if you were into a boardgame, knew what good moves are and have enough domain knowledge to appeciate how well your bot is playing

MSmits: thats what i enjoy about watching your NN's, yours, robo's jacek etc.

MSmits: i get to know these games and then see your bots' do great at them

reCurse: That's probably why the day I start chess is the day I never get out

MSmits: ah right, because thats a game you do like

reCurse: It has its drawbacks

Default avatar.png daGio314: hmm

Wontonimo: mmmmmhg