From CG community
Jump to navigation Jump to search

Default avatar.png Mbeits: am failing test 4 and 5 any clues

Uljahn: оО

Default avatar.png ChampionCoder: Can you guys give your feedback:

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

Default avatar.png ChampionCoder: No I designed it such that only 5 emojis shall be there

Default avatar.png ChampionCoder: So no prolem

Default avatar.png 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:

Default avatar.png SelimEmin: why if else not workin

Default avatar.png Arunas29: try elseif

Default avatar.png SelimEmin: in javascript

NoiselessBrocolli_c9f0: fantastic

Default avatar.png NapSter: hey all

jacek: darn. it works, but why?

jacek: more and more software developments becomes blackbox

Kitkat260: morning

SwagColoredKitteh: hey o/

Default avatar.png bbblash: i am not a bot

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?

Default avatar.png kralys: hello

PurCHES5: @LordDavvytheProgrammer


Uljahn: just RTFM ezpz, Automaton2000

Automaton2000: if you are going to do it then

Default avatar.png dawidePl: wtf

LordDavvytheProgrammer: ok i need help for this put my brain cant understand this for some reason im using C#


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: the pseudo code is


struct: yrd

struct: yes*

LordDavvytheProgrammer: this is my code that i done


Default avatar.png 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


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:

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: 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:

Default avatar.png 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"

Default avatar.png Flashback813: I saw that but I can't figure how the argument and entity types work

Default avatar.png 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

Default avatar.png 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 :-)

Default avatar.png Flashback813: I didn't know it had to be .equals() and I was doing ==

Default avatar.png Flashback813: and coding in the wrong spot

jacek: java?

Default avatar.png Flashback813: Yes

Default avatar.png 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?

Default avatar.png Angecide: more specifically, I wanna use the pext instruction

reCurse: It's possible but you need to use #pragma to enable the instruction set

Default avatar.png Angecide: how can I do this?

reCurse: #pragma GCC target "avx2,bmi2"

Default avatar.png Angecide: ahhh

Default avatar.png Angecide: I will try

Default avatar.png Angecide: yep that's it, thanks a lot

reCurse: :+1:

Default avatar.png 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")

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

reCurse: Optimize and instruction set is 2 different things

Default avatar.png 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

Default avatar.png unknownbeast: hey ya'all

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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.

Default avatar.png unknownbeast: tbh i m not quite sure

Default avatar.png 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

Default avatar.png 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

Default avatar.png unknownbeast: Unsure about my goals right now

reCurse: Then that's where to start

Default avatar.png unknownbeast: thinking on it

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

Default avatar.png 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

Default avatar.png Darvy: hola

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

Default avatar.png JonasNicolaysen: a

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

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


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


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

Default avatar.png 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

Default avatar.png 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


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: 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?

Default avatar.png zhoubou: Marketing?

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?

Default avatar.png 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

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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


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.

Default avatar.png 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²

Default avatar.png zhoubou: I thought about storing distances, but how do I know zombie didn't turn somewhere else?

Default avatar.png zhoubou: Or did I misunderstand you?

Astrobytes: instead of sqrt, just take the squared euclidean dist

BlaiseEbuth: ^

Default avatar.png zhoubou: Ah I see

BlaiseEbuth: sqrt is slow, you can compare squared distances

Default avatar.png zhoubou: That makes sense, thanks!

struct: zhoubou I search until game ends

Default avatar.png zhoubou: Oh ok

struct: either no zombies or no humans

Default avatar.png 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

Default avatar.png APJames: anyone on coders strike back?

Zenoscave: just a few people APJames