Chat:World/2021-01-11
Mbeits: am failing test 4 and 5 any clues
Uljahn: оО
ChampionCoder: Can you guys give your feedback: https://www.codingame.com/contribute/view/6077df7d033fc5a77c16113f2a19f0512451
Westicles: Everybody else is finished while I google tokenize for c++ for the millionth time
Megha.Akash: Nice one ChampionCoder. I think I have similar puzzle here. I may be wrong. Could you please verify the above statement? If not, I'd be happy to approve. I have tested it it the IDE and can be solved with just a dict and a single line of regex.
SwagColoredKitteh: hey o/
SwagColoredKitteh: Uljahn cute kitty
SwagColoredKitteh: ChampionCoder i think it would be nicer if it gave all of the emojis first, then the string
SwagColoredKitteh: so you don't have to hard-code the emoji
ChampionCoder: No I designed it such that only 5 emojis shall be there
ChampionCoder: But thanks anyways
SwagColoredKitteh: sure
Uljahn: hi Swaggie, btw that contrib lacks :hugging: emoji i guess
jacek: or :cat:
Uljahn: :cat: :hugging: :popcorn:
SwagColoredKitteh: :hugging:
jacek: :expressionless:
SelimEmin: why if else not workin
NoiselessBrocolli_c9f0: fantastic
jacek: darn. it works, but why?
jacek: more and more software developments becomes blackbox
Kitkat260: morning
SwagColoredKitteh: hey o/
LordDavvytheProgrammer: oh
LordDavvytheProgrammer: sup guys
LordDavvytheProgrammer: Did any of you guys found that hard i dont get it
Uljahn: almost everything is hard for a complete newb, just spend 10k hours on learning and you'll be good :)
LordDavvytheProgrammer: :(
LordDavvytheProgrammer: sure
LordDavvytheProgrammer: does anyone know what endif is in c#
struct: you mean #endif?
PurCHES5: @LordDavvytheProgrammer
Uljahn: just RTFM ezpz, Automaton2000
Automaton2000: if you are going to do it then
LordDavvytheProgrammer: ok i need help for this put my brain cant understand this for some reason im using C#
Megha.Akash: https://www.codingame.com/contribute/view/604966d6b8bb9b27ed1e2668aec89656d894
Hi. Could anyone comment on my puzzle and approve if OK?
VizGhar: this is called spam ^^ :)
struct: LordDavvytheProgrammer what is the question?
LordDavvytheProgrammer: A simple algorithm that uses the angle is the following:
LordDavvytheProgrammer: http://chat.codingame.com/pastebin/08c3d58e-04c2-4b32-93fe-170edec64213
LordDavvytheProgrammer: the pseudo code is
LordDavvytheProgrammer: http://chat.codingame.com/pastebin/04c7bd44-5671-424c-af83-d1c36ec0c356
struct: yrd
struct: yes*
LordDavvytheProgrammer: this is my code that i done
LordDavvytheProgrammer: http://chat.codingame.com/pastebin/33deacf2-a69e-46ec-ac41-c45d8adce997
indiehjaerta: Clash of code is so much fun when people finish them in 20s everytime
LordDavvytheProgrammer: im still new
LordDavvytheProgrammer: :(
struct: There is no endif in C#
LordDavvytheProgrammer: This is not taking 20s
struct: #endif is a different thing
struct: to end a if in C#
struct: you just close }
struct: like if(true) { }
LordDavvytheProgrammer: ok
struct: also int x + y thrust will return a error
eulerscheZahl: Thibaud pinged teachers and forgot about RamDeath :scream:
struct: you should learn C# syntax before you try multiplayers IMO
MSmits: did he ping me?
jacek: ramDeath?
struct: yes MSmits
struct: on forum
Astrobytes: check the forum
struct: https://www.codingame.com/forum/t/community-regular-events-lets-discuss-it-on-discord/188710
MSmits: o, ok
eulerscheZahl: you got pinged, check your emails
MSmits: oh this was less than half an hour ago
MSmits: i did get the mail
eulerscheZahl: and emails have 15min delay
MSmits: yeah
MSmits: I'm not sure what to say though. My problem is that most of my students aren't good enough coders. Maybe 10-20% of the highest class
struct: MSmits still a solved game might be good for them right?
VizGhar: Yeah they are straight up dumb :D
MSmits: no, i am talking about basic programming
MSmits: reading input and output and heuristics
MSmits: most cannot do that without great effort
VizGhar: They need to have tutorial they can copy paste everything from :)
MSmits: right
MSmits: not the dumb part, but the second part :P
MSmits: I have a lastyear project which determines a large portion of their grade. the project is about AI
MSmits: they have the option of writing a CG bot
struct: how many classes do they get per week MSmits?
MSmits: or designing a website about a topic in AI
VizGhar: Yeah. I like to take things to extremes.
MSmits: they have 2 hrs a week
MSmits: 8 weeks left for this project
VizGhar: mine got 2hrs as well
MSmits: they are expected to spend some time at home
struct: ah, cant ask for much I guess
MSmits: but not too much
MSmits: I have two students that are working on game of drones at least
MSmits: in bronze now
MSmits: not sure if any others will try a multi
MSmits: they have to keep a log of all the things they tried to advance and write a report as well
VizGhar: only thing I can imagine is to have like 30wood leagues that goes like: http://chat.codingame.com/pastebin/136de4d6-86c2-4012-885e-d2d2db3645a1
VizGhar: aw... endline :)
VizGhar: they simply cannot even take linear curve time/knowledge
MSmits: yeah that sort of thing helps, but i wonder if there should not just be a really step by step tutorial for some basic languages. I dont mean that puzzle everyone solves to get in
MSmits: just more explanation of output and input, mostly
VizGhar: there are many tutorials, but i don't know about any that you can visually see your work on
MSmits: the auto-generated code for reading input in python is horrible
VizGhar: my students are learning C++ and the C++ stubs are good here :)
MSmits: yeah they are fine
MSmits: C# also
eulerscheZahl: what's wrong with Python starter code?
MSmits: lemme find an example
VizGhar: Hmm I can't unlike post in forum? :O
eulerscheZahl: pretty sure you can
eulerscheZahl: oh
MSmits: I guess it's this: inputs = input().split()
MSmits: it's confusing for newbies
jacek: meh
reCurse: What would you recommend
VizGhar: Hmm I can yours... but not OPs? something strange there...
MSmits: you're reading input and immediately splitting
MSmits: and creating an array
RoboStac: pretty sure you can only unlike for a short time (similar to editing / deleting without it being visible)
VizGhar: reCurse everything on separate line :)
Saaalikh: send room link
MSmits: because python doesnt show the type, they dont even know that the input is a list
MSmits: "inputs" i mean
eulerscheZahl: that inability to unlike is a strange feature
reCurse: I'm no teacher but python sounds terrible to learn
MSmits: I guess i would split that line up into two parts
VizGhar: RoboStac didn't know about that
MSmits: in a way it is reCurse
MSmits: there are pros and cons
eulerscheZahl: i will always recommend a strongly typed language to get started
reCurse: Can you even iteratively read a stream in python?
Saaalikh: what are you even talking about??
eulerscheZahl: and compiled over interpreted
MSmits: you can do this:
MSmits: inputstring = input()
MSmits: then inputlist = inputstring.split()
MSmits: or something
reCurse: Oh so it's not the split but the chaining that's the problem
VizGhar: I don't like python for learning either... I want to explain students how exactly data are stored in memory
Saaalikh: you can read iterative inputs in python
MSmits: yes reCurse
reCurse: Ok
eulerscheZahl: while it might (not even sure) be easier to understand for beginners, it adds lots of clutter
MSmits: correct eulerscheZahl, i am not saying there's an easy solution
reCurse: It already irritates me to no end not to know what a variable is, so I can only imagine for a student
Saaalikh: k = map(int, input().split())
reCurse: That's not iterative
reCurse: And not a stream
MSmits: and even more confusing :)
reCurse: std::cin >> number; is
eulerscheZahl: and then there's Illedan using "var" for everything including the int type in a for-loop
MSmits: he sure likes var
reCurse: var is fine because you have an IDE to tell you the type
reCurse: At least it's possible to statically determine
eulerscheZahl: it was introduced for anonymous types. and I keep it for those. But yeah, the IDE can help when you hover over it
MSmits: I use auto in c++ for those time variables
reCurse: var list = new List<string>() ?
VizGhar: I declare WAR!!!
MSmits: other than that i never use auto or var
reCurse: Or List<string> list = new List<string>()
reCurse: Should be a no brainer
jacek: kotlin ftw
eulerscheZahl: personally I don't use var here but I'm fine with it in that context
MSmits: yeah good point reCurse, it's just not in my system to use it
eulerscheZahl: var list = otherList; that again gets a little less readable
reCurse: It's extremely useful to cut a lot useless clutter
reCurse: Readability to a point
reCurse: Too much clutter also hinders readability
reCurse: It's not so much about hiding types from code as not being able to determine it at all like python
eulerscheZahl: i just prefer to have the type at the beginning of the line
MSmits: reCurse i did a bitboard in python once :P
eulerscheZahl: still: var is much better than whatever python does
reCurse: :door:
MSmits: so much pain :)
eulerscheZahl: next level obfuscation: spamming dynamic on C#
MSmits: board = 0 .... uh, 0 what?
VizGhar: reCurse - knock knock :D
reCurse: It's a one way exit door
reCurse: No knocking
eulerscheZahl: i'd also like to publicly shame Smits for not using generic Lists ;)
MSmits: like collection?
MSmits: or what is it again?
eulerscheZahl: once you said you use List instead of List<T>
MSmits: oh right
VizGhar: I shame MSmits for not knowing what List is :D
MSmits: the T thing
reCurse: ...
MSmits: everything is specific with me
eulerscheZahl: doesn't the casting annoy you?
reCurse: That should warrant a walk naked in the streets of CG
eulerscheZahl: and the killer argument: performance!
MSmits: eulerscheZahl maybe it would if I was more aware of the alternative
eulerscheZahl: List needs boxing and unboxing, which makes it slower than the generic counterpart
reCurse: Only for basic types
MSmits: i switched to C++ before I was really getting into that stuff
VizGhar: ++
MSmits: and then i learned python
MSmits: onyl sometimes do i still use C#
VizGhar: Autoboxing is only thing for primitives
MSmits: mostly for meta mcts /windows forms
reCurse: Value types to be more semantic
eulerscheZahl: right
MSmits: btw, if i want performance i dont use list
MSmits: i use arrays with predetermined size
reCurse: Does that even make a difference
reCurse: List is backed by array no?
eulerscheZahl: yes, list is a wrapper
MSmits: if you set a capacity when you create it, it may not matter
MSmits: but if you dont set a list capacity, you have a performance issue
eulerscheZahl: i even read the LIst code once because I was curious
reCurse: Sure, but that's true for any dynamically allocated array
reCurse: No case for arrays
eulerscheZahl: you could use unsafe for your arrays if it's really about performance
reCurse: That's the answer I was looking for
MSmits: ah yeah
MSmits: if i really care about performance i use C++ anyway
eulerscheZahl: you won this round
reCurse: The real answer
MSmits: so you're right, generics are a good thing to learn for me
MSmits: if i need to use C#
MSmits: i did use them once or twice with borrowed code i guess
eulerscheZahl: the real reason for generics: less runtime exceptions and more compile time errors
MSmits: thats the reason for C# over C++ in general
VizGhar: One of my student asked me why their HashSet (Java) is sorted... Try to answer this one :)
reCurse: Easier syntax, more performance (no casting)
reCurse: They are deprecated for a reason
eulerscheZahl: it's sorted for real? or is that a trick question?
reCurse: Because the hash was weak
VizGhar: heh sry HashSet of integers
eulerscheZahl: I know that TreeMap is sorted
VizGhar: and values were below 10 :)
MSmits: dont know what hashfunction is used for this
eulerscheZahl: reminds me of an interesting snippet that SaiksyApo shared
MSmits: my hashfunctions would not leave this sorted
reCurse: It's java so probably something dumb
eulerscheZahl: https://tech.io/snippet/NGWt4O6
eulerscheZahl: what does that code print?
reCurse: Ah yes the number interning
MSmits: funny
reCurse: We finally see what's actually in common between java and javascript
reCurse: Complete nonsense
MSmits: I dont understand this Integer thing anyway
reCurse: It interns integers below 128
reCurse: Same way strings get interned
reCurse: For performance
eulerscheZahl: these are new objects and == checks the address => different
reCurse: Instead of you know, having something sensed like value types
VizGhar: HashSet uses HashMap of size 16 under the hood... :)
reCurse: And implicit boxing
MSmits: oh so <128 = value type >= 128 is reference type?
reCurse: No value type in java
reCurse: But the compiler points to an integer[128] object array
MSmits: argh
reCurse: So their ref is equal
MSmits: poor design
reCurse: Java
VizGhar: yeah Java :| If I need to know what is happening I'm not using it
reCurse: A rare language to make me prefer python
MSmits: i really like the value type stuff in C#. Makes you able to get nearer to the low level coding of C++ without giving up the easier coding
VizGhar: :D
reCurse: Low level of coding is more like ref value types
MSmits: when i first converted my C# uttt bot to C++ it was a breeze because of this
reCurse: Might just make fixed code obsolete
reCurse: Who knows
MSmits: i doubt it would have been that easy with java
eulerscheZahl: maybe because you wrote C# as if it was C++ already?
MSmits: yeah. Thats part of it
MSmits: but could I have done this in java?
MSmits: if it doesnt even have a value int
reCurse: It has .equals
VizGhar: do what?
MSmits: yay
MSmits: VizGhar code a C# bot that is almost like a C++ bot
MSmits: with mostly bitboards/bitops
eulerscheZahl: C# got some low level stuff like Popcount recently
MSmits: i saw that
MSmits: didnt it get the whole bmi2?
VizGhar: I was really frustrated with Kotlin support for bitwise operations :(
MSmits: i had to convert my yavalath bot to C# for study project and i saw that stuff was available
MSmits: however, in unity,the C# code gets "compiled" to javascript
jacek: kotlin bit operations, aww
MSmits: for webgl
MSmits: so i did not trust the intrinsics
VizGhar: you are using `shl` instead of `<<`; `and` instead of `&`... it's just garbage
MSmits: argh
jacek: at least its verbose *>*
reCurse: To be honest I'd rather deal with intrinsics than magic operators
VizGhar: NOOO KOTLIN IS CONCISE!!! :D And I'm pretty sad of lack of ternary operator as well
reCurse: So I'd actually argue in favor
jacek: at least we got elvis ?:
VizGhar: true... Ok so see ya wednesday... Got work to do :(
MSmits: gotta go for a bit as well, to the store
philRG: Python gives the wrong feeling that you can code like you speak, without effort, but with the difference that it is difficult to read you back :-D
MSmits: thats it. It's both the reason it's a good language to learn coding in and a bad language to learn coding in
philRG: :joy:
Flashback813: Hi so I'm pretty new to this and I'm trying to figure out that ghost in the cell game but can't figure out how to test if you own one of the factories. Can anybody help?
DomiKo: look in "Game Input"
DomiKo: "If entityType equals FACTORY then the arguments are:"
DomiKo: "arg1: player that owns the factory: 1 for you, -1 for your opponent and 0 if neutral"
Flashback813: I saw that but I can't figure how the argument and entity types work
Flashback813: also I just saw the forums button so I'll see if anything there helps
philRG: that is the coolest part of the game: discover the game mechanism. Just take time to read the rules, the turn by turn feature, inputs/outputs , and different screens and features of the IDE
jacek: who reads the rules nowadays
philRG: one of coolest part
philRG: :-(
philRG: and create strategies also
Flashback813: well I did read the rules and didn't find the answer but I found a video of someone using this and figured out my issue
philRG: cool :-)
Flashback813: I didn't know it had to be .equals() and I was doing ==
Flashback813: and coding in the wrong spot
jacek: java?
Angecide: Hi, I was wondering if it is possible to use immintrin.h (c++) in codingames. Whenever I use a function, I get "error: inlining failed in call to always_inline". I read I need to add a compiler flag, but can this be done in codingames?
Angecide: more specifically, I wanna use the pext instruction
reCurse: It's possible but you need to use #pragma to enable the instruction set
reCurse: #pragma GCC target "avx2,bmi2"
Angecide: yep that's it, thanks a lot
reCurse: :+1:
Angecide: also ur new uttt bot is sick
reCurse: Thanks
jacek: Angecide you dont use optimized pragmas? :scream:
jacek: #pragma GCC optimize("Ofast","unroll-loops", "omit-frame-pointer", "inline")
- pragma GCC option("arch=native", "tune=native", "no-zero-upper")
- pragma GCC target("rdrnd", "popcnt", "avx", "bmi2")
reCurse: Optimize and instruction set is 2 different things
Angecide: I only got all the optimizers but none of the options or target
reCurse: Also I'm fairly sure omit-frame-pointer is useless in x64
jacek: just mindlessly copy pasted fragments of code. as always
Sakshi_Jain: quick survey guys: is application development better in java or python?
reCurse: Answering with that generic of a question is a mistake to me
jacek: jython
Sakshi_Jain: well I currently do application development in java using springboot and microservices
Sakshi_Jain: but I enjoy coding in python more
Sakshi_Jain: so I was wondering if it'd be aa good idea to switch
reCurse: If it's for professional purposes, I'd say switching on a basis of enjoyment is a sure way to waste a lot of money.
reCurse: Or getting fired in the worst case.
Sakshi_Jain: hahaha, well I work in an MNC so I'm sure they won't fire me over something like that
reCurse: So wasting tons of money and time is fine?
reCurse: If so then go ahead
Sakshi_Jain: I'll be learning on my own and not using company resources
unknownbeast: can i get some game ideas
reCurse: Then do what you heart desires
Sakshi_Jain: and I'll do the learning in my non working hours
unknownbeast: i only know c++ till nested loops
Sakshi_Jain: I just wanted to know if practically is it a good idea, if it has enough scope or not
reCurse: Not sure I understand the question
Sakshi_Jain: I don't wanna put in all this effort and then not be able to use it anywhere
jacek: python in server side? like django?
Sakshi_Jain: yes
reCurse: Oh, well I guess it depends on what kind of domain/job you intend to be working
reCurse: If so then you could do a quick look at the hiring markets
unknownbeast: reCurse i have a question
reCurse: Should give you an idea of how the prospects might be
jacek: browse job offerts with django. python is more likely used in machine learning/ai stuff
Sakshi_Jain: okay
Sakshi_Jain: thanks :)
reCurse: np
unknownbeast: is it worth it to do a data analytics course alongside CS degree program?
reCurse: Let me get my 8 ball
MSmits: eh depends, not if you want to become a game dev :P
reCurse: Maybe.
unknownbeast: tbh i m not quite sure
unknownbeast: coz its my 1st sem
MSmits: the thing is, not everything has to lead to a degree or a diploma
MSmits: you can learn things at your own pace
MSmits: on the side
MSmits: so if you want to become better at data analytics, do so on your own terms I'd say
jrke: so finally i submitted endgamesolver for D&B but with few bugs not bugs but it breaks in joint chains
MSmits: just as long as you get at least a good degree to find jobs with ofc
reCurse: Know what your goals are
unknownbeast: yup i guess i will jump into analytics field
MSmits: jrke yeah it's hard
jrke: for now i just choose the smallest valued chain
unknownbeast: Unsure about my goals right now
reCurse: Then that's where to start
MSmits: jrke sometimes it's better to choose a string connected to a joint of >2 size, over a string connected to a joint of >= 2
MSmits: <= 2 i mean
unknownbeast: btw thanks for answering.
MSmits: so it's not always shortest first is what i mean
jrke: thats why i said breaks in joint chains because i didn't coded anything for that case yet
MSmits: ahh ok
MSmits: i did it the other way around. I allowed all choices and then started to limit them
MSmits: basically that's pruning
jrke: okay
MSmits: of course when you allow all choices, in the beginning even a simple end game will take a second or something
jrke: choosing all is making me 100ms +
MSmits: yes
MSmits: but you need to make certain it is correct
MSmits: and then make it faster
jrke: yup
MSmits: for example. the best thing to speed things up at first, is to only allow isolated chains in order of size
MSmits: and isolated loops in order of size
MSmits: there's never any reason to open a chain of 4 before a chain of 3
jrke: damn i was thinking the same ^
MSmits: but with joints, it's different
reCurse: Is there any 3rd party which displays multi games sorted by number of players?
jrke: btw i also reached wood 1 othello its very tough
MSmits: looking for a new target reCurse>
reCurse: Possibly
reCurse: Didn't build all this for uttt
MSmits: D&B has a lot of players for a community multi
MSmits: but you dont want that right
reCurse: Ideally one that focuses less of calculation algorithms
MSmits: yeah D&B is a bad idea then
MSmits: the most mathy game i found on CG
reCurse: Maybe open to community if it comes down to it
MSmits: hmm
MSmits: tron?
MSmits: ah no 4p and such
jacek: :soccer:
MSmits: you want 1v1 right?
reCurse: Preferably
jacek: bt!
MSmits: perhaps you need a game for which you already have a good sim
MSmits: not sure if you did all those excontests
MSmits: you dont want to spend days to get the sim right
reCurse: Well if the sim is complex then yeah
jacek: any progress with chess?
reCurse: If it's something simple then shrug
MSmits: you did the cotc already didnt you?
jrke: try tron easy sim
reCurse: Well I'd rather have something where there's been more effort put
reCurse: Hence my initial question
reCurse: cotc?
MSmits: the pirate game
reCurse: Been first since the contest :p
MSmits: ah right, so its not just about testing :)
MSmits: hmm
MSmits: PCR maybe?
MSmits: not sure how versatile your NN framework is
MSmits: does it have to be grids?
jacek: checkers *.*
MetehanBayraktar: AlkhilJohn please can you share your code :)
MSmits: or continuous games? Or does it not matter?
reCurse: Hmm
jrke: MetehanBayraktar alkhijohn is a clash bot
reCurse: Might not matter
reCurse: But PCR I am not sure how to handle the complexity
MetehanBayraktar: why he doesnt shaere his code :)
reCurse: Too far away for me I think
MSmits: then HS is not really an option either i think
MSmits: it's grid, but very very complex
reCurse: Complexity of input and action
reCurse: So in that sense it's simple
MSmits: ah
MSmits: yes but its a bad fit i think
MSmits: with beamsearch for boxes being a perfect way to play and then only in the endgame it becomes about killing and survival
MSmits: it's almost an optim
reCurse: Hmm I'll take your word
MSmits: never done it?
MSmits: must have been right before you got here
reCurse: Only contest
reCurse: Haven't followed the meta after
MSmits: ahh
MSmits: game of drones an option?
MSmits: too many agents maybe
reCurse: Same ballpark as PCR
MSmits: yea
MSmits: i dont really see too many. You're already first in wondev woman also
MSmits: arent you?
reCurse: Yeah
MSmits: yea
MSmits: should i maybe kick you to nr 2 to motivate you?
reCurse: Tron isn't a bad idea but I really hate the way it's implemented
MSmits: its been a while
MSmits: you're better now, I can maybe beat the old recurse
reCurse: eh
BlaiseEbuth: StC
reCurse: Done
BlaiseEbuth: Ah
jacek: so all the left are community
reCurse: Maybe TGE
MSmits: community games are definitely better fits for your NN
MSmits: the girder thing gives huge branching and you have to deal with multiple opponents
MSmits: but if you can find a way around that it seems ok
reCurse: So which communities are popular
MSmits: did you take a look at onitama?
MSmits: i mean do you know the rules?
reCurse: No
jrke: D&B
MSmits: there's a card mechanic for what allowed moves are. Thats the only thing that might be problematic. otherwise it's perfect for NN
MSmits: it's a pretty game
MSmits: 179 on leaderboard
reCurse: Hmm
reCurse: Interesting
MSmits: including a few really good ones
MSmits: dbd r/jacek/tric trac/ kar liso
reCurse: Hope I won't regret it when it comes to submitting
MSmits: why would you regret it
MSmits: if it fails, it fails
darkhorse64: yavalath
reCurse: No
reCurse: Garbage rankings
MSmits: yavalath is going to be really frustrating
MSmits: dont do that
reCurse: Even legend isn't enough for uttt
MSmits: well the rankings arent garbage
MSmits: but not great either
jacek: MSmits why would you ping me and not the other
jacek: s
MSmits: cuz you were active already
MSmits: and you're first in onitama
jacek: still
MSmits: oh reCurse, big plus for you. No way anyone can counterbook
MSmits: in onitama that is
MSmits: 300k+ different starts
MSmits: because of the cards
jacek: fix your math. a little over 100k
jacek: cards combinations that it
MSmits: yes but who gets which cards?
MSmits: p1 /p2 / middle
MSmits: i think there are 30 ways to divide 5 cards among two players and the middle
reCurse: That is an incentive indeed
MSmits: 5 different ways to place a card in the middle and then 4 * 3 / 2 for the card for player 1. 5 * 6 = 30
MSmits: but there's like 15 cards i think
MSmits: if you do choose onitama, you should first think whether it is even feasible before you waste time doing the sims and such
jacek: 16 cards. isnt this more like (16 2) * (14 2) * 11 or something
MSmits: because of the cards
MSmits: it seems messy
reCurse: Well yeah naturally
MSmits: 16*15*14*13*12/5! I think?
MSmits: and then times 30?
reCurse: Is there any difference in wood 1
MSmits: that would be 131k, not sure if i got it right
jacek: only boss
reCurse: Ok thanks
jacek: it was binomial
MSmits: reCurse I have to say it is also just an enjoyable game. Not sure if this is important to you, but I like the games as much as writing the bots for them
reCurse: Yeah I agree, why else do you think I hate uttt so much
jacek: 1 player gets 2 out of 16 cards, then second player gets 2 of the 14 cards and then there is 12 cards
MSmits: ahh alright
jacek: combinatorics eh
MSmits: jacek it's better to split the 5 card out 15 and then multiply by the 30 ways they can be distributed
MSmits: 16 i mean
jacek: or... create bots that will count all the combinations
MSmits: lol i dont doubt there are many coders that would prefer to quickly code a brute force over just doing the math :P
kovi: uh, someone split the d&b pack
MSmits: not exactly
MSmits: it's like this
MSmits: Remi won every game against everyone else
MSmits: 50 rating vs 40 or so
MSmits: then i did as well, including 60% winrate vs remi
reCurse: Thanks for the suggestion I'll look into it later
MSmits: then mikkla ruined everyones day
MSmits: np reCurse, have fun
kovi: i know. i meant 4th-9th....we were all within 0.01 yesterday
MSmits: ohh ok
MSmits: thats jrke
MSmits: he spammed submits, my last battles is full
kovi: true. and atm im lucky vs. him
MSmits: makes sense
MSmits: I need to get back to D&B soon, still have some untried ideas
MSmits: dont even have any logic for ply 0-50, just random moves
kovi: i probably need more depth...than 0
MSmits: yup
MSmits: how come your bot does this well then?
MSmits: really good heuristics?
kovi: it seems
MSmits: did you look into the papers?
MSmits: what to do with chains and such?
kovi: i found it out myself
MSmits: nice
MSmits: I spent lots of time to write an endgame solver, but its not really that important. It helps a bit, but generally when you win, you win by a lot
kovi: too bad only now. 40 years ago would have been more effective
MSmits: lol yes
kovi: vs. my schoolmates. and depth 0 is almost doable by hand
MSmits: well your set of heuristics might be quite useful as a pruning or eval thing in a search
kovi: true
MSmits: but the main issue is what to do to gain control right before the end game
MSmits: playing the end game perfectly is what gets you into the pack
kovi: without depth all i can do is lure when im loosing
MSmits: lure?
kovi: lure enemy to make mistake
MSmits: oh ok
MSmits: you can check if you make mistakes in the endgame by playing games against my bot
MSmits: it solves at ply 55-60 or so
MSmits: so if you see the score change that my bot predicts, you made a mistake
kovi: :)
MSmits: even when you're winning, you can see your margin shrink
MSmits: anyways look into nimstring analysis to really get a good bot. I dont doubt both remi and mikla did this
MSmits: or they do "chain counting" which is basically unformalized nimstring analysis
kovi: but after the masses of heurstic in raic i might look into a proper solveable (mcts, or whatever) multi.
MSmits: D&B is searchable though
MSmits: it's just really complicated
MSmits: my endgame solver is a negamax
kovi: maybe i will invest in breakthrough
MSmits: great choice
MSmits: fun game
MSmits: I don't see you too often on community board games
reCurse: :eyes:
MSmits: oh right reCurse breakthrough is another option for you, but this one's bookable
MSmits: NN will be good though
MSmits: also i wont be booking it, because i dont even have a good bot
reCurse: Onitama looks great but maybe I need an intermediate step, the moves are puzzling me a bit for now
MSmits: contrary to popular belief, an opening book generator actually needs a good bot first :P
kovi: cause i like finding out algos + heuristics more than use/finetune a single optim search
reCurse: Othello and BT look like other options
MSmits: you are going to be really frustrated with othello
reCurse: ?
MSmits: lemme pm you why
jacek: othello is quite NNable or Ntupleable
MSmits: thats true
jacek: and i dont mind worthy opponent in breakthrough
reCurse: What did you do, ntuple?
jacek: for breakthrough, NN
reCurse: convnet I guess?
jacek: nope. simple MLP for eval
reCurse: Ah. Surprised it works
jacek: partially updatable, as only few squares are affected in move. a bit like nnue
reCurse: Makes sense
VizGhar: I wonder when I'll be able to come up with ideas like u guys :P so far I'm only catching on terminology
kovi: for nn i'm doing the same...
darkhorse64: If I tell you that two years, I had never heard of MCTS, Genetic algos, Beam search, BFS
darkhorse64: two years ago
MSmits: VizGhar you dont need to learn NN to do well in most multis
reCurse: Yet
MSmits: I do wonder if it ever becomes necessary in all multis
MSmits: some just arent a good fit for it I expect
MSmits: within the limits of CG codesize that is
reCurse: I'm fairly convinced, maybe just not in the forms everyone expects
MSmits: well i suppose you can use NN in some sort of local meta training
reCurse: You think we have any chance monkeying constants?
MSmits: to speed up fitting all sorts of stuff
MSmits: whats that?
reCurse: Why monkey constants when you can monkey hyperconstants
kovi: yeah that makes sense
MSmits: what do you mean by monkeying?
reCurse: What CG is mad eof
kovi: trying finetuning semirandomly
MSmits: this is going over my head
reCurse: If you put a million monkeys on a million constants maybe you end up with alphazero
jacek: this is probably what you do when optimizing params for your bots anyway
reCurse: But robot monkeys? Oh boy.
MSmits: i get the monkey metaphor now
reCurse: I'd rather monkey on the number of bananas to give
jacek: it sucks when i want to learn about optimization, but my randomly hand-picked params are already near optimal
jacek: as in, intuition. can ai have that intuition too?
MSmits: that happens to me sometimes
reCurse: Intuition is just generalized statistics
MSmits: reCurse do you mean for example, that you train a NN to tell you which eval parameters values (say 10) for which combination of cards in onitama and then just run a regular mm bot using those params
reCurse: That's one of a million possibilities
MSmits: ahh ok, then i kinda get what you're saying
reCurse: Your typical evaluation is just a fully connected layer to one output
reCurse: Then you monkey the parameters
MSmits: yeah
MSmits: jacek does a better job of this though
MSmits: using TD and all that
reCurse: Upper tier monkey
MSmits: right
MSmits: though he prefers the pony pronoun
jacek: hm?
MSmits: just saying you know how to fit params well
MSmits: i am pinging you today a lot but its ok cuz they are compliments
reCurse: Weird day uh
MSmits: yeah
jacek: you just need to have gazillion positions labeled by smart bot (or dumb bot with deep analysis)
MSmits: *just*
reCurse: Statistics
MSmits: I am supposed to be writing a design document for a game
reCurse: Teacher procrastinating writing a document?
MSmits: as part of a course for studt credits
reCurse: :thinking:
Astrobytes: Did you finish your unity game?
MSmits: no i am a student here
MSmits: yeah
MSmits: it works, darkhorse tested it
reCurse: Ship it
Astrobytes: Nice. Happy with it?
MSmits: reasonably strong yavalath ap
MSmits: app
jacek: pc?
MSmits: yeah kinda
MSmits: I can share it with you in pm if you want, but dont do it openly, not sure if i can use the yavalath name, thats probably the only copyrighted part
jacek: nah
MSmits: its on itch.io
MSmits: but not searchable
jacek: but you could post screenshot
MSmits: ahh ok i will, sec
jacek: is it web?
reCurse: Is it really copyrighted though
Astrobytes: As long as you're not selling it you should be fine name-wise anyway.
jacek: i would pirate it anyway :imp:
Astrobytes: I see your UTTT NN lived up to your expectations reCurse, well done.
MSmits: reCurse i think the name of it is copyrighted
MSmits: you cant copyright the game mechanics
reCurse: Thanks
reCurse: Seems counterproductive to me but oh well
jacek: call it htalavay then
MSmits: https://ibb.co/jzw8Xq4
Astrobytes: Lavayath, as previously suggested.
jacek: :tada:
MSmits: i got around the steal rule by just disallowing starting in the center
jacek: whats the ai? mcts? with books?
MSmits: no books, pretty strong negamax bot
MSmits: with ab and TT
MSmits: had some problems translating the intrinsics
MSmits: to C# which would be compiled to webgl
MSmits: pdep and pext and such arent very fast when it's a function with a loop :(
MSmits: still searched about 6 deep in early game which is not bad with 60 or so branching
jacek: killer move heuristic?
MSmits: yeah
jacek: phew
MSmits: as in, it tries the best move from an earlier iteration first
MSmits: i think that was killer
MSmits: takes that from the TT
jacek: thats something else
Astrobytes: history
MSmits: whats that again?
MSmits: ohh ok
MSmits: then not killer
jacek: it tries good move from the same ply it its legal
MSmits: ahh ok, thats questionable for many games. Maybe not here though
MSmits: btw, i basically used ntuples, but with every Ntuple using identical params
MSmits: sets of 4
MSmits: 102 of them
jacek: and putting values manually. like a monkey
MSmits: yes, a lower tier monkey
Astrobytes: heh heh
MSmits: at least it beats me over half the time which is good I think. From what i read about yavalath most bots are easy to beat
MSmits: doubt thats the case for most of the bots on our leaderboard here though
MSmits: we would shred most of those researchers bots I bet :)
Astrobytes: The point of Y was to make a game that was hard for a bot to play iirc?
MSmits: yeah mcts specifically
jacek: nah. it was made by genetic algorithm
MSmits: jacek is right, thats not how it was developed, but its one of the big pros they cite when talking about it
reCurse: There's yavalath research?
MSmits: yavalath was created by an AI
jacek: mostly on how it was created
Astrobytes: ^
Astrobytes: That and the other ones.
reCurse: No, you said "researcher bots"
MSmits: oh, the creator did do some research on it
MSmits: and published that
reCurse: I see
jacek: i remember he made mcts bot with 45k iterations in 10 seconds
MSmits: struc t talked to him
MSmits: he didnt even know all center hexes are solved
MSmits: just the 1 in the center
MSmits: so we're ahead in research
jacek: publish a paper on that
MSmits: it's not much of a feat though
Astrobytes: I told him to do that already jacek
MSmits: not like solving checkers and such
reCurse: Didn't stop a lot of them /snark
MSmits: true
MSmits: maybe i should just share how i do the rollouts
MSmits: thats much more interesting
MSmits: because yavalath needs such heavy rollouts for mcts to work
MSmits: the solving of the 6 hexes around the center is just turning on meta mcts and wait. A specificly designed solver could do it in an hour if it is good
MSmits: Does anyone have any idea why mcts solver is such a great way to solve games in a bot btw? I always assumed a good negamax would be more efficient, but it really isn't
jacek: negamax requires good eval or idea which position is good or bad
reCurse: Not sure what you mean
MSmits: sure, but i managed with 0 rollout EPT also
MSmits: 0 depth
jacek: :shrug_tone1:
MSmits: reCurse on expansion, the game might be solved
MSmits: then you backpropagate that solved value
MSmits: thats mcts solver
MSmits: it works just as well as negamax
reCurse: Why wouldn't it?
MSmits: i would expect the overhead from the whole mcts algorithm and rollouts would reduce the solving power i guess
MSmits: which would mean you play good moves but not necessarily solve fast
reCurse: Oh you mean perf wise
MSmits: yes
MSmits: my experience is that it solves really well
reCurse: That's incredibly specific
MSmits: and it always surprises me
MSmits: quite a few bots do a "WIN" or "LOSS"output and when they are negamax they usually dont beat mcts solver
reCurse: Lack of structured search maybe
MSmits: look at mine when trying onitama, it is often done 15 plies ahead when karliso is 3-4 plies later
MSmits: yeah probably
reCurse: Seems likely it would be just as fine if implemented as a tree
MSmits: probably says more about why mcts is good
reCurse: But then they would be quite similar, not sure calling them negamax or mcts is accurate at all
MSmits: well it's a solver guided by mcts
MSmits: isnt it already implemented as a tree?
reCurse: There's no tree in negamax
MSmits: you're using the same mcts expanded nodes, except you slap a "solved" property
MSmits: ahh ok
MSmits: true
jacek: oO
MSmits: noticed in connect4 also, me and darkhorse solve 20-30 plies before the end
MSmits: tric trac does quite well with his negamax, but does not always match
reCurse: Negamax is not made for solving
MSmits: neither is mcts, thats why it surprises me
reCurse: It's made to find guaranteed best move at depth bound
reCurse: No mcts is made for solving
reCurse: Just not the way you think
MSmits: hmm
MSmits: you mean because it is best-first?
reCurse: Structured search
reCurse: Negamax is just a dumb iterator
MSmits: true, but structured could be anything. It's structured to avoid exploring bad branches
reCurse: Not made for exploiting
reCurse: That's why you rely on all those tricks to simulate a structured search
jacek: if you want to solve things, look on proof numbers
MSmits: yeah PNS
MSmits: i did look into that
MSmits: but you dont use that inside of a bot, because when you fail you have nothing :)
reCurse: Negamax doesn't know and keep any information it just enumerates
MSmits: still works quite well in many cases
reCurse: Sure
reCurse: But that's why it's not adapted to solving imo
MSmits: they use it as a benchmark in papers about solving
MSmits: as kind of a worst way to do it I guess
reCurse: It's a good baseline
reCurse: Just like random move
MSmits: right
MSmits: the trash people publish sometimes. I swear I read one that said: "our agent did not beat the random agent"
MSmits: forgot where this was
MSmits: but jeez
Astrobytes: There are many ridiculous papers out there.
MSmits: yeah
reCurse: I make it a rule whenever I open a paper I do a quick scan and try to pick up bullshit
reCurse: Saves me a lot of time
reCurse: Usually found in the results section
jacek: i just look for experimental results
jacek: if its only pure theory, meh.
MSmits: the problem is that sometimes they try something, like a NN for a game and then conclude that it didnt work, which may give people the general idea it's not feasible
Astrobytes: Standard way to check out a paper from any field :)
reCurse: Any flaw I find in methodology results in a tab close
reCurse: That's fine though
jacek: every game is NN friendly, you just need to find right inputs
MSmits: right
eulerscheZahl: you have to print those papers first
reCurse: But usually they claim breakthrough and then you look at the actual claim and it's meh
jacek: maybe you read paper on breakthrough?
reCurse: ...
jacek: :)
MSmits: thats what i hate about that game
Astrobytes: Actually, now I think of it - the date. Always check the date...
MSmits: pick a better name
MSmits: google doesnt know what i mean
MSmits: when i search
eulerscheZahl: now I can't find it anymore. someone adviced to print a certain style guide. just so you can burn it afterwards as a symbolic gesture
MSmits: lol
eulerscheZahl: and then proceeded to describe the own style guide
MSmits: i vaguely remember reading something like that
eulerscheZahl: with point on which i strongly disagree (use spaces, not tabs. and indent by 8)
eulerscheZahl: by 8 )
MSmits: 8 what?
eulerscheZahl: i think it was some linux style guide
jacek: 8)
MSmits: 8 spaces !?
eulerscheZahl: yes
MSmits: why?
eulerscheZahl: as i said: i disagree
MSmits: yes, but why?
MSmits: why 8?
eulerscheZahl: readability
MSmits: but it's not more readable with 8
MSmits: you will have a few layers deep, 3-4 is common enough
MSmits: thats 32 characters already
reCurse: 8? You heretical demon.
MSmits: I dislike 1, but 2,3 or 4 is fine
eulerscheZahl: 2 is too less. but 8 is total overkill
MSmits: tab is fine
reCurse: No.
MSmits: You do 1 reCurse?
reCurse: 4 spaces
reCurse: Tabs are :door:
MSmits: how many spaces is a tab?
reCurse: Which is exactly why they're out
jacek: yes
jacek: AutomatonNN how many spaces are in tab
AutomatonNN: because that is a problem
MSmits: oh you mean it's up to the interpretation of your program?
MSmits: and you dont like that?
reCurse: Makes indentation impossible
reCurse: Or aligning
MSmits: not sure, if all tabs are the same why is it not aligned?
reCurse: Because you're assuming everything that needs alignment is precisely on a tab boundary
reCurse: Variable length words tends to disagree
reCurse: Which is why it's nonsense
MSmits: hmm ok... But i only tend to tab words, functions, conditional statements etc.
MSmits: not words sry
MSmits: just the normal loopy, conditional, function stuff
MSmits: thats all aligned with tabs
MSmits: what kind of stuff are you spacing?
reCurse: Constants, arguments, etc.
MSmits: ohh i always space that
reCurse: Say you want to align the parameters coming after a (
reCurse: On a different line
reCurse: Well, can't do that with tabs, sorry.
reCurse: Just one example
MSmits: ahh right,
MSmits: i never do that
MSmits: i have long ass lines
MSmits: for params :P
reCurse: Constraints over nothing
MSmits: but i get your point now
eulerscheZahl: but what's wrong with tabs?
reCurse: ...
eulerscheZahl: i want to indent by 4, so i configure a tab that way
MSmits: someone else will open your code in a different IDE
eulerscheZahl: someone else has a different taste but no need to reformat the code
reCurse: That's made false whenever someone uses any space
MSmits: do different IDEs have different tab sizes?
reCurse: And trust me it will happen
eulerscheZahl: exactly. i see it as a feature that the same code can look differently
MSmits: reCurse's carefully aligned params will look like spaghetti
eulerscheZahl: yeah, a mix of spaces and tabs is deadly
reCurse: Customization is not desirable
MSmits: well I think this is the big difference when you're a solo coder. Noone ever sees my code. You would not believe the crap i get away with
reCurse: Then the variable tab size doesn't really hold does it
Astrobytes: Do you tap 4 times or do you have a hotkey though...
reCurse: You use any of the dozens of decent text editors out there and have a tab output 4 spaces
reCurse: The issue is not about the number of taps
MSmits: yeah i guess that would be fine
reCurse: Unlike what that SV show tried to do
eulerscheZahl: we should use more vertical tabs for paragraphs
MSmits: now i know what the big thing was about coders using spaces making more money than coders using tabs
Astrobytes: Ah right. I thought you were saying something else. My tabs output 4 spaces.
MSmits: i thought they were using less space
MSmits: but they're just using 4 spaces instead of a tab
reCurse: Pretty stupid study tbh
MSmits: obviously you get :money_mouth: that way
reCurse: But it achieved its clickbait purpose
MSmits: yes
Astrobytes: Someone did a study on that? smh
MSmits: you just ask a bunch of coders whether they use tabs or spaces and ask or guess their salary
Astrobytes: I guarantee it's a load of bollocks.
MSmits: well it might be true, but still not have the right conclusions drawn from it
MSmits: those space users may just be older on average, like a space generation vs a tab generation
MSmits: younger people make less
Astrobytes: I haven't read it so I won't comment further, but it sounds suspect.
jacek: actually i dont know if i use spaces or tabs at work o.O
jacek: i just write function or loop, write { and do enter afterwards and it indents autoamtically
MSmits: haha
mzbear: https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/
MSmits: is age horizontal?
MSmits: doesnt say
MSmits: oh yeah if you scroll
mzbear: most likely related to programming language specific cultures, though, and not individual preference
MSmits: ah right
MSmits: at least they took the experience/age variable into account
reCurse: If I had to make a wild guess, it probably has to do with the arguments I mentioned generally applied in big companies where you have to coordinate a bunch of mo...coders together.
mzbear: although they claim the effect exists in every language specific subgroup too, hmm. i didn't actually read before linking, lol
reCurse: Big companies tend to pay more.
reCurse: So there you go.
MSmits: makes sense
Astrobytes: Yes, I'm surprised that wasn't in the article, they already accounted for country
MSmits: so tabs vs spaces is a contentious issue
MSmits: is it the same with comments vs descriptive functon names
reCurse: There's easier
reCurse: Casing
VizGhar: i press tab and it prints 4 spaces :)
eulerscheZahl: pfft, comments who wants to plant grass in the code?
reCurse: There you go
MSmits: it really turns me away when i find a gith page where there's 1 line of code, 3 line of comments, 2 empty lines and another line of code
Astrobytes: There're good comments and bad comments
Flashback813: how would i go about fixing the "your code did not read all available input before printing an instruction" warning
eulerscheZahl: i like those XML comments in C# that pop up for autocompletion
VizGhar: Just javadoc is fine (if ...)
eulerscheZahl: and that allow you to extract some documentation
darkhorse64: my favorite comment is to have C code along my AVX intrinsics. Beauty & the beast
jacek: Flashback813 do you read all the inputs before outputting the solution
eulerscheZahl: but that type of comment // gets X public int getX()
MSmits: Flashback813 either you dont read all the input or you produce output before finishing reading the input, or you produce 2 outputs in a row, or sometimes you dont output at all
eulerscheZahl: meh, more clutter than anything else
Astrobytes: That's understandable darkhorse64
Flashback813: alright thanks. Let's hope I can fix it easily
darkhorse64: No, it's not :grinning:
Astrobytes: lol
MSmits: most likely there are just situations where some conditional statement lets you output twice
MSmits: happens to me all the time
VizGhar: switch : case ? :P
MSmits: usually i am just in a hurry, add a bunch of lines and forgot an absolete output statement
MSmits: obsolete
darkhorse64: I absolute you
MSmits: the warning is just a confusing message, you dont immediately think of this
MSmits: thanks
jacek: warnings are for losers
MSmits: thanks also
darkhorse64: ban directly
MSmits: btw, i now have nodes in connect 4 that go 21 plies deep
MSmits: just from letting the meta mcts go with exploration parameter 2
MSmits: not interfering with it
MSmits: it's definitely easier to solve than uttt and the like
jacek: uh huh
darkhorse64: You have even more when your solver says WIN 25 plies before the end, no ?
MSmits: hmm, how do yo umean
MSmits: i use this solver inside of my meta mcts also, it reports a solved node when it solves immediatel
MSmits: happens a lot in early game already on a blunder
darkhorse64: I mean that it goes even deeper than you think
MSmits: hmm, I think what you mean is that it has depth from the end to the middle and the beginning to the middle. When they meet up the game starts to solve quickly
MSmits: but thats not any time soon
darkhorse64: No news from the C4 author ? There are few multis with so much testing
MSmits: he fixed the last bugs i think
MSmits: but its a WIP
MSmits: he needs to put it up for approval
MSmits: not sure if you can do that early, do you have to wait out the WIP?
darkhorse64: Yes, we have
MSmits: oh ok, you should let him know, i dont know the process
MSmits: this is the first time i bother with any contribution really
MSmits: http://chat.codingame.com/pastebin/f1b340d2-f86e-459e-b18c-5a5d0e90037d
VizGhar: huh? you can put multi to approval right away
struct: yeah
struct: it doesnt need to be in WIP
MSmits: ah ok
MSmits: hey, mind if i floated my idea for a my design document for a game?
MSmits: not going to code this
MSmits: it just needs to be good enough to pass
darkhorse64: In WIP, there is no way to approve/refuse a multi. Corner moves away from perfect balancing
MSmits: it has before, to 55%, then went back down
jacek: but author can change it to nonWIP
VizGhar: darkhorse64 true... jacek true... MSmits im curious about that game... but dont have time either
darkhorse64: You have a project for a game, MSmits ?
MSmits: I have 2 assingments
MSmits: unity demo (you tried it, its done)
MSmits: and a design document for a game i dont have to code
Astrobytes: Why didn't you do the design doc for your unity game?
MSmits: this is an existing game
jacek: no need to make it? make design for cyberpunk 2088
MSmits: the unity game
MSmits: it needs to be somewhat original
MSmits: and it doesnt have to be within my reach
MSmits: could be a triple A game if i want it to b e
MSmits: its just a creative exercise
MSmits: so i was thinking
MSmits: I use a yavalath shaped board, maybe larger maybe smaller
MSmits: but hex
MSmits: multiple players try to make 5 in a row
jacek: yavalath already is hex
MSmits: yes
Astrobytes: Oh right. Brane based game then. With hexes.
MSmits: then they also have cards
MSmits: the cards control gravity on the board (6 directions)
MSmits: you can play 1 hex and 1 card on your turn
VizGhar: Make a football ball board :) 5 and 6 sided shapes... you will be most original board designer ever
MSmits: there's also explosion cards where you can explode one of your opponents'hexes or your own
MSmits: shooting the surrounding hexes as far as possible
Astrobytes: Meh. Not enough supergravity.
MSmits: and maybe like a chain bomb thingy
MSmits: lol
MSmits: teacher said i would need to put more fun into the game
MSmits: hence the explosions and changes in gravity
MSmits: more randomness etc.
jacek: make funeral game. it already has fun in it
MSmits: whats that?
jacek: a pun
MSmits: ohh
Astrobytes: funeral contains 'fun' as a substring
MSmits: got it
reCurse: Now you wish you didn't
MSmits: mostly i understand jacek's trollpuns, not this time though :P
Astrobytes: That was pretty good for one of jaceks tbh.
MSmits: but think this will do the trick and give me a passing grade if i write it well?
VizGhar: if you play around you can also have 'real fun'
MSmits: yeah it was fine
Astrobytes: lol VizGhar
MSmits: :)
Astrobytes: Seems legit enough MSmits
jacek: good for one of jaceks? are others bad?
Astrobytes: But I'm no expert
Astrobytes: I didn't say one of 'the jaceks'
MSmits: it only has to be ok really... I'm probably going to get a really high grade for the demo
MSmits: the other students just pimped their roll a ball tutorial
Astrobytes: Meh. Aim high.
MSmits: time permitting
darkhorse64: MSmits game wrecked me
MSmits: :)
Astrobytes: Can you bot it?
MSmits: you mean this design document?
Astrobytes: No. your actual game.
MSmits: it has AI
MSmits: you play vs AI
MSmits: not vs other humans
Astrobytes: Can you send/receive requests I mean, so you can write a bot for it.
MSmits: i didnt want to get into multiplayer and such, seems hard
MSmits: oh no, unfortunately not
MSmits: basically i just gave it 1000 iterations *10 per level
MSmits: so beginner is 1000 "sims"
MSmits: master AI is 1 million sims
MSmits: negamax sims
jacek: negamax sims? w00t
MSmits: i mean calls of the function i guess
Astrobytes: A million negamaxes??
MSmits: not sure how to define
MSmits: it's a recursive function, it's called a million times total per turn
jacek: depth limit would be more natural
Astrobytes: ^
MSmits: well but then it wouldnt get deeper nearer the endgame
jacek: so time
MSmits: currently it does depth 6 at the start, depth 12 at around halfway
Astrobytes: Iterative deepening?
MSmits: yes, but what if you run it on a bad pc, then it'd be easier to beat
MSmits: it has that
Astrobytes: fix your timestep issues
MSmits: nah, i like the limits to the negamax calls
MSmits: it's similar to the difficulty a human would have with more or less branching and depth
MSmits: with less branching a human can look deeper also
MSmits: i had to set a minimum on wait time though, otherwise it would instantly make a move sometimes
MSmits: thats confusing, it almost seems like he's cheating and you dont know its your turn again
reCurse: Basic UX
MSmits: yeah, i suppose it's that
darkhorse64: Yeah when it replies instantly, I know I'm dead in a few moves
MSmits: but i am supposed to run into basic things, this is a basic game design course :)
Astrobytes: Do you output "thinking..."
MSmits: darkhorse64 lol, indeed
MSmits: nah, i did think of that, but i just stopped at some point Astrobytes. The demo is good enough
reCurse: That wasn't a criticism
MSmits: i meant i drew the line somewhere, it would be cool to have thinking...
MSmits: and also as darkhorse64 suggested, a list of moves and such
Astrobytes: no reCurse means his 'basic UX' comment wasn't a criticism
MSmits: and maybe some hints to show which hexes are insta loss etc.
MSmits: ohh
MSmits: i knew that
MSmits: but it's indeed basic UX
reCurse: It's funny I often think I need a personal translator
Astrobytes: I'm here most nights.
MSmits: lol
MSmits: did you read jesse Schell reCurse?
reCurse: ?
MSmits: supposed to be a game design guru
reCurse: Never heard of
Astrobytes: He's spot on though. Imagine if all game AI (gaming games, not botting) implemented full-blown AI players
MSmits: The art of game design
MSmits: he has these lenses, perspectives with which to look at designing games
Astrobytes: You'd not play that game for long.
reCurse: At the risk of sounding dismissive, what did he make?
MSmits: i think it would be really entertaining for you to read
MSmits: let me look it up
MSmits: http://chat.codingame.com/pastebin/cb1ea2f2-f312-4ebb-b4ce-a484729c371e
MSmits: thats what it says on his wiki
reCurse: game design... guru?
Astrobytes: "In addition to his other achievements, Jesse has also been a writer, director, performer, juggler, comedian, and circus artist for both Freihofer's Mime Circus and the Juggler's Guild" - I am sold.
MSmits: well as in teacher/writer
MSmits: some people are good at teaching, less at doing
reCurse: Not particularly impressed
MSmits: you might like the book anyway, i did
reCurse: Maybe
MSmits: The art of game design
MSmits: its basically our course material
reCurse: I just have too much to do and read and watch and whatever so I tend to filter a lot
MSmits: sure
MSmits: just suggesting it because it's your line of work and it seems to be popular
reCurse: An attempt at expressing extreme cynicism has been successfully deflected.
reCurse: But thanks
Astrobytes: lol
Astrobytes: Oh I see, taking the traditional game creation approach and applying to 'video games'.
MSmits: :)
MSmits: yes its not just video games
MSmits: he also talks about board games and whatnot
reCurse: Ok I have to let a bit slip: would be my line of work if I was indie or something
MSmits: hmm thats a part of it, but his book is also just about what makes games great etc.
MSmits: philosophical in places
Astrobytes: heh, reCurse giving us some insight there.
MSmits: doesnt really matter if it is AAA or not
jacek: why i think of india whenever i read indie
MSmits: I know that one
Astrobytes: . . .
reCurse: Oh I feel the need to clarify my gripe is much more about the state of the market than the company
MSmits: anyway, i wasn't trying to peddle this book. I was just pleasantly surprised reading it. Course material is usually boring to me
MSmits: reCurse I'm pretty sure you told us this before, but why the market? I'll probably remember if you tell a little more
reCurse: Oh boy, the can of worms.
Astrobytes: I guess it's the same issue that plagues all forms of entertainment, monetization. Moar content, moar powerups, moar badges, moar behind-the-scenes-extras,
MSmits: yes, i just need 1 worm probably
reCurse: Trying to find a way to summarize it in one sentence
MSmits: oh right, so micro transactions for more features?
reCurse: It's broader than that
MSmits: eternal crunch?
reCurse: Let's see
reCurse: The enormous majority of the industry has forgotten what gaming is about.
reCurse: There.
MSmits: do you mean the big companies or also indie?
Astrobytes: Fun?
reCurse: And it's all thanks to it being massively profitable.
reCurse: But I'm making a living off it so what right do I have to say anything
struct: Mobile games is even worse
Astrobytes: Quite a lot of rights to talk about it if you're in the industry imo.
MSmits: yes
reCurse: Yeah but what I'm against is also what pays me.
reCurse: So short of being a hypocrite
reCurse: No right
MSmits: it's like how google employees talk about their algorithm ruining societies even though they make money off of it
MSmits: its good they talk about it
MSmits: because they know
Astrobytes: I'm pretty sure one or more of us here has been in a job they fundamentally disagree with in some aspect(s).
Astrobytes: It's not a crime to make a living.
MSmits: right
reCurse: That's not what I'm saying
MSmits: you wouldn't be making any change if you quit your job and then started talking about it. I think it's better that a lot of people in the business think like you and stay
reCurse: That would be like complaining about capitalism while sipping your starbucks chai latte
reCurse: Have more self-respect than that
MSmits: capitalism isnt the problem though, game devs made money before, making money is generally a good motivation to produce quality
MSmits: the problem is free to play stuff to lure people in
MSmits: that didnt exist before
MSmits: and pay to win
reCurse: Making money is not a motivation for quality at all
reCurse: What
reCurse: Sorry that's nonsense
MSmits: the idea of what i said is that if you make good stuff, people buy it :P
reCurse: lol
MSmits: it's not *that* far fetched
MSmits: but currently the visibility of your product is more important than the quality
reCurse: That's something I used to believe
reCurse: Not anymore
reCurse: That's bullshit sorry
Astrobytes: Making money is making money.
MSmits: i think people still dont buy crap
MSmits: the problem is that excellent stuff is no longer made
reCurse: It's only true for a niche of people
reCurse: Quality instantly degrades when you step out of that niche
Astrobytes: Well a lot of people make a lot of money out of selling it to people MSmits.
reCurse: That happened for gaming the same way it happened for most forms of entertainment
MSmits: what i mean is, relatively they sell mediocre games. But not total crap
MSmits: quality still matters to some degree
reCurse: There is zero incentive for quality stuff.
reCurse: When it happens it's in spite of.
MSmits: so when two games are otherwise the same and one of them has quality, why would people buy the other?
reCurse: Because most people don't work that way
reCurse: That's naive
MSmits: hmm
reCurse: Look at how twitch is trendsetting now
reCurse: Gives you a lot of insight
reCurse: On how things actually work
MSmits: btw how short term are we talking about, last time i seriously gamed is a few years ago
MSmits: I still had fun with games like Witcher 3 and such
reCurse: That's a recent development
reCurse: But just a continuation really
MSmits: ah well i cant argue if we're talking about something thats really recent
reCurse: A lot of marketing now is about buying the right influencers
reCurse: Quality? lol
Astrobytes: The Diablo marketplace thing was my warning signal, but I digress.
Astrobytes: "Influencers" - yep. There you go.
reCurse: Only needs to be good enough
reCurse: The bare minimum most people will be fine with
reCurse: Anything else is a waste
Astrobytes: We even have CG "influencers" - see the last contest numbers.
MSmits: I have no problem agreeing the importance of quality dropped, but it's not completely black and white is it? There must be some degree of importance. Even if it is little
reCurse: Of course but I need to set the tone here
MSmits: ah ok
reCurse: Quality sells is a myth
mzbear: much of gaming these days is content driven, and players don't buy games because of the game mechanics but because of the content, and how it aligns with their fantasies etc
MSmits: the packaging
reCurse: ^ Starting to get somewhere
Astrobytes: In all industries reCurse, not just in games.
reCurse: I know
reCurse: I also said all entertainment
reCurse: Just gaming the most recent
MSmits: I guess i am having trouble with the concept because it does not at all apply to me personally
reCurse: Or is it streaming? I dunno
Astrobytes: Yeah, I know you know. But even beyond entertainment.
MSmits: pretty much out of touch with most of the degradation of society, not having a smartphone either
MSmits: pretty depressing
reCurse: Yeah no shit
MSmits: was that 1 worm
MSmits: ?
reCurse: You let them out
MSmits: yeah yeah
Astrobytes: Just functional product with minimal cost and maximum income. And yes mzbear, it's the same way that TV adverts for products work.
reCurse: So I just try to find whatever niche where I can have fun, push boundaries and apply quality.
reCurse: But gaming is not my line of work.
MSmits: good
reCurse: Let's be real.
reCurse: *game design
MSmits: line of interest maybe
Astrobytes: You buy X product because the advert sells you your fantasy. Or what it thinks your fantasy should be.
reCurse: Killed thanks to it
MSmits: :(
reCurse: Ok I lied
struct: Did you work on any triple A game re curse?
MSmits: he sure did
Heiwu: hi guys! could someone pls help translating "%" to ascii in python? i do f"{ord(char):b}" and get 100101 but codingame (chuck norris) is expecting 0100101. why do they add the 0 to the left? other test cases (Strings "C" and "CC" do work (their binary coded strings start with a 1 and have 7 bit). should i add a leading zero in front of the result string if it only has 6 bit?
reCurse: Yeah I did
reCurse: Well still am
struct: Heiwu you must pad the binary
struct: to have 7 bits
reCurse: I'm just quite exhausted with the theory when knowing how it goes
reCurse: I'm all for originality though
reCurse: There's the occasional game that brings the spark, just getting rarer
MSmits: ah you migth still like the book then :)
MSmits: maybe one day, when you're done racking in the $$$, you will want to be indie
Heiwu: @strukt ok thx i'll try
Heiwu: @struct ok thx i'll try
MSmits: my colleague IT teacher used to make 3 times as much as he does now, he quit voluntarily
reCurse: I'd rather have a very rough, dictated design than one of those polished gambling addictions
MSmits: Cs teacher i mean
MSmits: or whatever it is
struct: gambling is heavily promoted
struct: Its sad
reCurse: Disguising addiction as engagement
reCurse: Makes my blood boil
Astrobytes: There come certain points in life when you have to distill what you like and what you're good at and filter out the bullshit, and make decisions based around that.
reCurse: Where 'putting a controller down' is a sign of something bad
Astrobytes: The gambling thing drives me nuts.
reCurse: Got really angry with a designer who said that once
reCurse: :P
MSmits: even in my country, they nationalized lotteries to protect people from gambling addicition and then proceeded to cause a huge jump in gambling addiction
reCurse: Professionally of course
Astrobytes: Passive aggressive email?
Kokoz: Does anyone knows what theme does the site IDE uses? I want to get it for myself :D
Astrobytes: MSmits: in the UK we deregulated the gambling industry...
MSmits: we did the opposite here and it was bad
MSmits: the state is making its own people addicted to gambling
Astrobytes: It's terrible here. There is a casino in the town where I live. No shops, a few takeaways nearby, but a pub and casino...
MSmits: thats bad yeah
Astrobytes: (in the same vicinity I mean - there are other shops around :P )
MSmits: of course, you need to buy some food before you go gambling
struct: Kokoz check https://microsoft.github.io/monaco-editor/
MSmits: btw, about covid... not going back to school on 19th of jan probably :(
MSmits: the lockdown was scheduled to end then
MSmits: but doubtful
jacek: as a child that information would be great for me
struct: Well here they decided to close almost everything except schools
MSmits: will probably be months of online teaching
Astrobytes: But back on topic, gaming becoming just another way of gambling is indeed one of the grimmest things to happen in recent times.
struct: They say the problem is not schools
BlaiseEbuth: Yeah ! More holydays !
Astrobytes: Yeah, expect to be away for a while MSmits.
MSmits: i am
MSmits: struct it will be soon, with new covid variants
MSmits: students will spread this *fast*
jacek: thos brits
MSmits: the old variant was being spread reasonably well in schools during lockdown
Astrobytes: No jacek: 'that English government'
MSmits: the only reason schools didnt seem that bad is because everything else was open, but when you lockdown everything but schools, schools become the bottleneck
Astrobytes: You know they had a scheme over the summer: "Eat out to help out". Vouchers for people to go visit restaurants...
MSmits: dumb
MSmits: better to have let the virus die out even more. It was almost gone really, very few cases in july
MSmits: would have bought a few weeks
Astrobytes: days matter wrt pandemics.
Astrobytes: Anyway, enough pandemic crap.
jacek: lets play plague inc
Astrobytes: Or the beach management game that BlaiseEbuth plays... Plage Inc.
BlaiseEbuth: :3
zhoubou: That sounds a lot like our word for beach
MSmits: which is close to bleach, which is what you drink to cure covid
MSmits: full circle
MSmits: hope i dont have to add a joke disclaimer here
zhoubou: Still can't believe people actually did that though
VizGhar: :D
Astrobytes: lol, I don't think so MSmits
MSmits: are there cases of people doing it?
Astrobytes: zhoubou it looks like the pronunciation is the same as the French
MSmits: I know people called authorities to ask
zhoubou: I heard there were a lot. May be misinformation
VizGhar: well, mothers in USA killed many kids this way a few years bac :(
Astrobytes: I believe there were a few real cases.
VizGhar: because you know "detox"
Astrobytes: Ah yes, the 'autism cure'
VizGhar: Idk... but tide pods were quite mess too
MSmits: maybe they should have tried it themselves first
MSmits: before poisoining their kids
zhoubou: Astrobytes Oh it is almost the same, yeah re: beach pronunciation
Astrobytes: People will believe anything if you indoctrinate them enough and they pay you money for the privilege MSmits.
MSmits: seems real
MSmits: yeah, i knew people believe stupid stuff... but to also have enough courage to try it when others say it kills you....
MSmits: it's not just stupidity, it's also courage
MSmits: or at least fearlessness if courage sounds too positive
Stilgart: would be better to read/see bleach instead :/
Astrobytes: I think lack of judgment separates courage from stupidity.
MSmits: sounds like a reasonable definition in this case
Astrobytes: Oh hey. Final score: 1685192238 | sims: 0
MSmits: did people also put UV lights up the butt/?
MSmits: didnt he say that too?
MSmits: what is that Astrobytes?
Astrobytes: Up the arse? I thought it was in the throat.
MSmits: i dunno, inside the body, can be various ways
MSmits: but not an expert really
Astrobytes: offline samegame solver MSmits. I strongly suspect I have created a bug.
MSmits: yeah
BlaiseEbuth: As a developper, that's your job Astrobytes...
Stilgart: Astrobytes: monocolor samegame ? :p
MSmits: ahhhh thats it
Astrobytes: It was working fine earlier...
MSmits: you don't see color
Astrobytes: lol
jacek: colorblind samegame
MSmits: be more racist
Astrobytes: you bastards :D
MSmits: eh colorist or whatever
Astrobytes: My code is not colorblind, I'll have you know.
MSmits: mine is, it only uses numbers
Astrobytes: well yeah
MSmits: there's the 0 ball and the 1 ball and the 2 ball
Astrobytes: ball?
MSmits: i dont even remember if they were round or square tbh
jacek: hes shapeblind
Astrobytes: heh heh
MSmits: from your question i assume they were square
MSmits: lol
VizGhar: :D
MSmits: i had a crappy day at work today
MSmits: had to do surveillance at a digital test
Astrobytes: And for the record MSmits: I see all colors perfectly fine, I just have difficulty differentiating between particular variations of certain combinations of colours.
MSmits: some computers took a full hour to log students in =/
MSmits: Astrobytes ohh right you mean your eyes, wasnt even referring to that
MSmits: that would be mean
MSmits: would not make fun of someone's disability
Astrobytes: Mean? Nah, everyone takes the piss for the colourblindness. I don't care :D
MSmits: right jacek? I never did that to you either
Astrobytes: Disability!
jacek: mhm
MSmits: hey, i said I was *not* making fun :P
Stilgart: Automaton2000: what is the color of a turtle ?
Automaton2000: i am just wondering if you can do
Astrobytes: An hour to log in tho', for an actual exam?
MSmits: yeah
MSmits: well we switched a couple times
MSmits: so in the end the worst off student had to wait 30 mins total
MSmits: then she got to the end of her test
MSmits: and it said,you have 10 nins to finish your work
MSmits: computer is rebooting for an update
MSmits: when she still had 2 questions to answer
Stilgart: windows for the lose
Astrobytes: Jeez
MSmits: thankfully she could continue after reboot
Astrobytes: Oh ok
Astrobytes: Still not great for ones concentration
MSmits: it was pretty awful though, doing this job for 15 years now, never had technical problems this bad
Stilgart: I got it a few times :(
VizGhar: o.O mg... My students were taking test right during Google Big Crash :D funny event too, since we have everything in google services (classroom, mail, docs...)
Astrobytes: I feel pretty bad for kids working through this past and continuing year
MSmits: VizGhar i was teaching during crash also
MSmits: but no test
MSmits: they just started complaining about the school's internet and all that
MSmits: but this time it was not the schools fault
Astrobytes: Stilgart: You also teach?
MSmits: it was actual google...
VizGhar: sucks :|
Stilgart: Astrobytes: yeap
MSmits: we also do everything with google for students
MSmits: with colleagues we use microsoft for some reason
MSmits: no idea why it had to be different
Astrobytes: Stilgart: what level?
BlaiseEbuth: A right punishment for google's users ! :imp:
Stilgart: engineering school (bac+3/4)
VizGhar: Yeah... well our licences for Microsoft expired and it looks like we will go for some linux distro
MSmits: whats the 3/4?
Stilgart: 3 and 4
MSmits: linux?? what kind of school is this that you can switch to linux
MSmits: you mean 3rd/4th year?
Astrobytes: Nice. And why are you not tagged in the forum post about 'Community regular events'?
BlaiseEbuth: It's the hogwarts number
Stilgart: 9 less, actually
Astrobytes: No that's 9 3/4
MSmits: Astrobytes would know, it's in his country
VizGhar: MSmits I honestly don't think it will happen :)
Astrobytes: I hate Harry Potter. There's actually a plaque on platform 9 that says Platform 9 3/4
Stilgart: Astrobytes: maybe because I forgot about CG's forum twice every week
MSmits: aw come on, thats cool Astrobytes :)
Astrobytes: At Kings Cross station that is
MSmits: did many people bang their heads against it?
MSmits: bodyslammed it and such?
MSmits: i mean if they drink bleach...
Astrobytes: Stilgart: Well, it was only posted today so... you should add yourself to the discussion.
Stilgart: Astrobytes: ho, this thread
BlaiseEbuth: :popcorn:
Astrobytes: Stilgart: Yes, I thought you might enjoy it.
Astrobytes: MSmits: Probably.
**MSmits goes to youtube
VizGhar: Can somebody tell me what is last quest for Optimization path?
Stilgart: Astrobytes: Discord => nope
Stilgart: I tried, but never got it working on my work station :(
Astrobytes: I just use the browser version
MSmits: https://www.youtube.com/watch?v=tAfi0X-cJag
Stilgart: same here, my OS will never be supported anyway
Stilgart: but I got blocked somewhere :(
Astrobytes: VizGhar: Top 2% of code golf lb?
Stilgart: I should talk about it to mouton5000
Stilgart: he has at least to project that can be ported to CG
Astrobytes: Stilgart: Well, the conversation will apparently be open here as well as discord so just post in the forum thread if you can't get on to discord.
VizGhar: Yeah it's mentioned in the forum thread
Astrobytes: I'm sure a benevolent user will bring across relevant points made on discord to the forum
BlaiseEbuth: benewhat ?
Astrobytes: (as in not BlaiseEbuth :P )
BlaiseEbuth: 'f course not
Astrobytes: :rofl:
Stilgart: anyway, i'd like to see an optimization contest
BlaiseEbuth: Yeah TGD2 !
Stilgart: why not a shortest code contest
**BlaiseEbuth throw 55 C chars on Stilgart.
blasterpoard: a*craft, but every char loses you 1 point?
Stilgart: (with one big puzzle to solve)
Stilgart: BlaiseEbuth: my trauma is beautiful
darkhorse64: Why not give first prize to dbdr and skip contest ?
Astrobytes: hahaha
Astrobytes: anyone seen dbdr btw?
Stilgart: darkhorse64: not so sure about it
Stilgart: but I might need to provide a referee myself
darkhorse64: pardouin ?
darkhorse64: the master of random
Stilgart: not hard to counter that
Stilgart: in limited time with not so much room to cheat, dwarfie would perform well
darkhorse64: More seriously, I'd like an optim contest. I root for dwarfie
Stilgart: Astrobytes: ho, and to be honest, having a complete student team for the next contest is already a challenge :(
Stilgart: so I am not "interested in having [...] something specific" :(
Astrobytes: Stilgart: yes, I can understand that.
I dislike golfing a bit but optim is fine with me otherwise. Or anything. I'm pleased CG has at least opened a conversation about community events at least.
reCurse: :+1:
Astrobytes: It's a start.
zhoubou: What kind of combo of depth and turn per depth would you use for Code vs Zombies? I'm currently going 5 depth with 4 moves per depth and failing 6th test case with timeout. Also, I'm seeing 30% of time is wasted on calculating distances.
BlaiseEbuth: use distance²
zhoubou: I thought about storing distances, but how do I know zombie didn't turn somewhere else?
zhoubou: Or did I misunderstand you?
Astrobytes: instead of sqrt, just take the squared euclidean dist
BlaiseEbuth: ^
BlaiseEbuth: sqrt is slow, you can compare squared distances
zhoubou: That makes sense, thanks!
struct: zhoubou I search until game ends
struct: either no zombies or no humans
zhoubou: Now that I know what can be done, my goal post has been moved :)
Astrobytes: Every day's a school day on CG
Astrobytes: Well, a few per week at least.
BlaiseEbuth: Every day's St-Patrick's day !
Astrobytes: But where are all the Irish people?
BlaiseEbuth: It's not about Ireland, it's about beer !
Astrobytes: :beers:
BlaiseEbuth: :beers:
karliso: Did any of you guys played AOE3?
reCurse: Very briefly
reCurse: AOE2 however
karliso: Will you play aoe4?
reCurse: Unlikely but we'll see
Astrobytes: Didn't play much. My friend swears by AOE3 but he's younger than me so... go figure
reCurse: AOE2 is timeless
karliso: I wasted my youth playing AOE3.
Heiwu: "homes" =)
Astrobytes: aw crap, I have to sleep. Very early rise tomorrow, not tired but not gonna risk it.
Astrobytes: gn all
MSmits: gn
BogiBruh: test
BogiBruh: is the site down
BogiBruh: lol
Heiwu: [F5]
DaveMoran: its goin slow for me
DaveMoran: cant load any practice problems
Heiwu: yeah that also occures from time to time
Heiwu: i can't play a testcase. so bedtime for me it is =)
DaveMoran: haha thats one way to handle it
Heiwu: " Oups An error occurred (#75): "Verification process has elapsed"."
Heiwu: gn8
DaveMoran: peace
APJames: anyone on coders strike back?
Zenoscave: just a few people APJames