#programming
1 messages · Page 201 of 1
use it to output playful taunts
Hmmm
possible but not worth
you gotta make sure the bot can get in the other bot's mental game
move 1: bongcloud
my go to
move 1 bongcloud
move 2 forfeit because i forgot what we're doing and am now bored
start with what you minimally know you need
and then every time you encounter something you cant do
add new instruction

then its probably fine
i would just write a sample program at that point that demonstrates all the functionality you're concerned about having
and then review and see if you can merge or remove some instructions after all

true
nope not when you simply make the correct move every time
i only use my if_ macro
were you the one saying the best chess engine is a random bot that just repeats matches until it wins
that sounds like some garbage i would say but i dont think that was me for once
that was Sam I think if you're referring to #programming message
Hmm
absurdity is the only thing i know
wtf
666420
theres no way my tokens are this low
that was fast

definitely
and that surely will not change when chay returns from milk and cigarettes either
instruction set does not need:
sub neg
draw again 
Hmm some value with str
chess API isn't ready for when my bot tries to call Uno
as you can see, no addition required

sorry the opposite
ye whatever 3am
if i give my bot more time can it at least find a checkmate
or is it actually a logic bug
Hmmm that why ure high
$10 on it being a logic bug
i like to do 3 operations instead of having subtraction mhm
i guess trade efficiency for tokens
faustian bargain
well its not too hard to fiddle with when i write the assembler
i can just make macros
does token count after or before people are out here expanding they macros
lmfao
at this point you might as well be staring at exactly how it's evaluating every single board state
printed out
hi shiro
and then created a threefold repetition by repeating the same moves
?
like
i dont understandf=
maybe it's the repetition that is the issue
it's not trying to draw but some other bug causing a 3x repeat
in these circumstances
maybe it's got decision paralysis
maybe it's accidentally ignoring all the moves that would lead to it getting checkmate
oh hi sorry lol
i
i wonder if i have the sign on the checkmate reward backward 
i still think it's seeing some weird ass board state between the required final moves and just aborting mission and ends up repeating
i mean, it was -1 last time i checked
i kept thining it was crazy random chance that i've been mated so often by a bot that makes random moves
stalemate was a 1
especially when i have way more material
checkmate -1 and stalemate 1 doesn't sound particularly prudent to have set but i dunno
but yeah sounds like it simply cannot perceive moves that would let it win unless there is no other option
so it instead tries to go for a draw
because at least that's half points
expand le search
every move takes 40 minutes
nah
yeah shiro's dumb
my code doesnt reward draws
and its complicated ok
im not using alpha beta pruning or minimax
maybe it's australian units
i don't know exactly what either of those are i just went with the implementation that seemed right
i wonder which category it would fall into
elected to lead not to read 
maybe it's a guide on how to ensure you draw no matter what
no there was no guide 
there is next to no info on this method outside of academia
i cant understand the research papers
"minimize the maximum loss" yeah that sounds about right
so im just making shit up
publish your own on arxiv once you're done
tempting
frontier research
i cant figure out this checkmate problem
i prune moves that would then let the enemy make big gains in a counterattack
like
if its one move from checkmate
it must see that
that should explode the evaluation in a good way
i feel like you should take a pomodoro style sitter
so its intentionally not choosing to mate
seems like the kind of thing you go to take a dump and realize the stupidest shit of all time is sitting there uncommented in your eval
if mine can get checkmate in 1 turn then it just removes all other moves available for pondering
shiro so dumb
yo if we winning it's over
i love chess naming
t so intelligent

i would love to prove it.
i like to play the landlord's surcharge opening and then immediately lead into a classic milwaukee meatshield defense
soon
2 weeks later:
nono soon
3 weeks later:
before next dev stream
i honestly think the API is bug free
(4 months later)
Hmmmmm
confidence is key
good enough for you to use, clearly
i do hope chayleaf doesn't fuck up my parameter storage method though
i can't see anything i think should be removed
hi t
Yo
Good job @stray dragon
thank you
i need to fix the checkmate issue badly
but after that i need to do some parameter fitting on the exploration rate
captcha are so funny these days
i personally love how the tractor just says
FARM
?
not even batman
well let me know i can always add more text to this image since it's already pretty deep fried since i used it for v3 voice a billion years ago
it has gotten significantly worse
om
kek
lol
These are fun but the google one is just annoying. Saying so many times wrong or try again.
i don't get that usually because google has so much information on me they just know it's me
What browser you use
$0 is 0, write to $0 is no-op
* = 64 bit address in 0-15 register (4 bits)
$ = 64 bit 0-15 register (4 bits)
x = LEB128 immediate
instrs:
ldr $ x
lda $ *
st * $
xor $ $
and $ $
or $ $
add $ $
mul $ $
divmod $ $ $
shl $ $
shr $ $
not $
rand $
bra x
brp $ x
brz $ x
legal_moves $ $
zobrist_key $
draw
move $
ye these were the instrs i settled on for a first-go
dont need to know what these mean yet 
firefox and chromium depending on what i'm doing
i should reinstall zen again but zen gave me trouble on twitch for no reason and i havent reinstalled it on this new install
so far i need at least 5 bits for all of the instructions so i may as well pad out my count to 32 instructions
which means 12 instructions to spare
Firefox in mobile is just..... Slow but not much and there's this "website" my brother uses for college work but in firefox the videos just couldn't play but it works in chrome.
i decided on 16 registers
its just palying the same moves every game
Typo
actually in hindsight i might remove add and mul and replace it with fma
ff mobile can use adblocker which is kinda nice
mobile i generally use chrome but if you ask me what <x> i use im never ever ever going to answer what i use on my phone unless that's specified lol
i swapped it to brave actually recently
Yeah and there's brave. Which has a powerful buildin ad blocker. So you don't need anything
Same. Today
he figured out the perfect strategy
no further adjustments required
the clanker's gambit
Also it is normal to have a decrease in typing accuracy after you cut your nails?
i don't trim my fingernails because i compulsively bite them off 

@real sierra i have chess api specific instructions at the bottom, is there anything else i should be aware of to add to my list
they stay trimmed naturally cuz of that
"naturally"...
what's more natural than gnawing them off like some sort of beast
what's draw intended to do?
instantly draw
offer draw, surely your chess api have this ability right

1 instr saved

shiro has removed all draw related functionality from both his brain and the api
move would be done via chess_push(move); chess_done();
yes but
but yea
that's too many token for
what is the api for legal moves
konisocute
Move *chess_get_legal_moves(Board *board, int *len_moves)
and how does Move look
typedef struct {
BitBoard from; /*!< A BitBoard representing the origin of the move*/
BitBoard to; /*!< A BitBorad representing the target of the move*/
uint8_t promotion; /*!< Will be one of the BISHOP, KNIGHT, ROOK, QUEEN constants above, or 0 if not required*/
bool capture; /*!< True if this move captures a piece*/
bool castle; /*!< True if this move is castling*/
} Move;
are the bitboards scary because they're 64 bits

chess_is_white_turn might be helpful

assuming you intend to search board positions at all
that's usually done with chess_make_move and chess_undo_move which make moves on your local copy of the board
i have not decided yet, that will be decided when the competition starts
the board returned to you from the API is a copy
yes im aware
but there will only be 1 board
hence it only needs to be freed once in the vm loop 
either that or i can just gc all boards after move

your copy wont be updated with the opponent's moves, so you'll either need to get the new board after you submit your move or use chess_get_opponent_move to see how they responded

yes, which is why you fetch and free board in loop
the board struct is opaque so you cant just call free on it

i think you have it figured out and i just dont understand
so i trust

chess goes in, chess comes out, you can't explain that
chess_get_time_millis and/or chess_get_elapsed_time_millis
for seeing how much time you have left on the clock

make moves fast and win
i like
well i think you have everything then
look at these very realistically selected moves 
my engine decided that was the line to explore
only searches 4 moves ahead smh
fixed my scoring formula a bit
now i gotta fine tune it
the parameters i had before were pretty bad i think
nevermind its optimising for losing again
please stop losing
10 year old package on gh had an AUR post but it's no longer up
package still works seemingly
clone it and make a pkgbuild
works fine
now the question is do i actually put this ON the AUR because i feel like that's a huge pain in the ass to sign up for
Play with number hmmm
What about
wut dis
Make car from this app

Forgot X i will using y
"yeah this line is so good, ive been searching for like 8000 nodes and cant find anything better"
(c2c4 is mate)
❓
EXPLAINNNNNNN
c2c4 literally wins the game
and it knows this
or it would stop trying it
but it plays c2c1
Hmm
C2c4 is good why c2c1 hmm bot doesn't want
Maybe its top2
Oh its c1 no way its top2
heres the moves it checks in this position
it will check moves more often if it likes them
That explains everything
Where value of each move
How does it pick
whichever node it checks the most often is the one it's supposed to pick
Tuning
Is c2c1 even there
you'll see it checked this move about 10000 times
with that knowledge it picked:
brilliant
Clearly counter broken
I forgot to reset mem .json anyway
i dont know whats happening here

ive read the code for this stuff like 20 times over
Then the one who checks the counters is broken
This looks fixable with breakpoints
Let me test on my portable device
ok you know what
i think its a bug with the api
i think thats actually what it is
nothing else makes sense anymore
but this also doesnt make sense
Fixable with breakpoints in 10 min maximum
surely
Check if counter is right
Check if the guy checking counters is right
Check if whoever goes next transforms last guys result correctly
Etc
And only if the bot part is all right we go to api part
yeah i think its the api that's broken
i think the checkmate position is registering as a stalemate
After 5 years I will play chess again thank you @real sierra
OH
I GET IT
WOW
thats sneaky
how do i fix that
since checkmates have no moves following them
after the first time exploring it
it is just never chosen again
i mean
it's selected
but not simulated so it doesnt count
yea
i might have to store that info in this special case
if a node has no legal moves after it, it is either a checkmate for white, checkmate for black, or stalemate
i can store this and then push it up the tree
dont know how to adjust the scoring for this though
there might be an easier way
gamble it
No moves = 1/3 mate, do it 
And if its mate for you then its illegal and gets filtered or smth?
I mean if you lose after it its illegal
Maybe i dont know how your bot works and speak nonsense
i think i can just add a flag
we simulate every node at least once
so if we go to expand this node and it has no legal moves
we set a flag indicating what kind of end state it is (checkmate white/checkmate black/stalemate)
Wait so your bot analyzes further moves too? So it gets legal moves for those moves too?
So you can call get_legal_moves for further moves too somehow?
and then i guess if this node is picked again uhhh idk
yes, i do explore a few moves deep
I thought get_legal_moves only gives one current set and thats it
it does
but then i can make those moves on a local copy of the board
and get the next set of legal moves that the opponent would have
How do you explore if you dont know legal moves after 1st move
repeat to desired depth
Separately from api?
part of api
So i can ask api "hey what are legal moves in this theoretical board i just imagined rn"?
yes 
And give it the board
Alright then im doing useless shit 
I thought it only gives one move
Then making bot without adjusting it to work with your api right away is useless
api is neat
the usual workflow is
- get the current board being played from the api
- get the legal moves for this board
- choose some interesting moves from these, and use
make_moveto "play" them on a local copy of the board - get legal moves for this new board and explore more
- ...
Like what structure of board do i give it or what structure of moves it returns
lol
you'll notice the documentation is slightly improved
hope this helps
t t t t t t t t t t
yes i see it

i already downloaded and am looking at it
oh ok
shiro shiro shiro shiro shiro shiro shiro shiro shiro shiro shiro shiro
happy birthday
Is this enough chrome tabs
(89)

Almost 16 gigs will full
it's never enough
I dont get what your bots do now if they can get legal moves for any boars
they do better than a random move picker
or in shiro's case, on par
Whos par
i found the reason it doesnt checkmate
once i fix this you're donezo
I got bored wallpaper any one a
Had
suggestion?
i'm already donezo because I CAN'T RUN IT!!!
legal moves does not tell you what the best move is
it's so over
there is not enough time in the universe to play every chess game possible and find the single best set of moves
and our bots get a minute each for the entire game
the challenge is finding the best move you can in limited time
A minute??????
@tender river
are u awake yet
yes, one minute
You gotta pin it somewhere 💀
I has been moving in completely wrong direction the whole time
it will be more obvious when the challenge officially starts and the API is made public 
im sure people will be talking about it here lots too
you're allowed to work in teams after all
Will it have chat log with messages from my bot
Can i at least draw a heart when my bot inevitably loses to a team of god programmer neurotic neurons

technically yes
i didnt add it to the api but since the UCI protocol is just plaintext you could do something like
printf("info string <3<3<3<3<3\n");
Yeah i did that for arena
yeah
i dont think cute chess (what i switched to instead of arena) shows those messages though :(
you could always try to move pieces into a heart shape, that'd be cute
- 1 minute on the bot's side for the whole game
- 1024 tokens of code allowed (not including the API)
- no non-standard imports like stockfish allowed
- any language you want
think that's about it for the rules
any*
wait what
Hmmmm
i can just add stockfish?
no i mean
The neuro's opening (all pawns forward 1)
time to cheat
any* language you want
oh
and
theres a few other rules for keeping my pc intact and preventing people taking easy ways out of the token limit
We can combine cpp, python this one
you could
Yes
im scared of the vm
i've seen rust as well
it could be crazy strong
same
im not sure my rng tree is gonna win over it
evaluation function too strong
thats the beauty of this method
you dont need an evaluation function
the game is the evaluation function
the issue with it is that you need deeper searches and struggle to prune things
error: cannot install while Rust is installed
pruning is basically impossible for me
evaluation function is simply better
deeper searches are easy though
a sort of natural pruning happens
where its less of pruning and more "we'll get to these later if this branch turns out to be shit"
ah right
it goes deep immediately and then tries to pick better paths that it finds
i go to a site called wallhaven for my wallpapers and put like hundreds of them in a folder that alternates on each monitor every 10 mins
half and half
underexplored paths do get a small bonus
Nah. I'm back to chrome again. Idk why every time i switch to something i always come back to chrome.
Well at least I use nextdns in chrome settings to block ads.
Something about chrome..... Maybe I'm just used to it.
but how much that is, that's something i have to tune somehow
i see
oops
tsocute
wrong reply
valsoyono shut up
Whar
avg crates moment
shut UP

you are cute tho
what the heck t
t is malding
q t
~/my_project $ cargo run
Finished dev profile [unoptimized + debuginfo] target(s) in 0.02s
Running target/debug/my_project
False
it's so over
False 
fn main() {
let condition = false;
if condition {
println!("True");
} else {
println!("False");
}
}
i think this prints False
Also shiro you use different dns like cloudflare or default one?
i'm not even tired
it's comfy after 15 years
i remember when chrome came out and passed acid3 w/ 100 points
IE 8 was current and sucked just as much as ever
i wonder why
Good job
default
ive considered switching but whatever
thank you 100
i use googol dns because screw it
the best chatter as always
well for some traffic anyways

8.8.8.8 and 8.8.4.4 got me through high school with my parents thinking they were blocking "inappropriate" content from me the whole time using openDNS but i just went right around it and never said anything
Lmao
i have done 1.1.1.1/1.0.0.1 before, both are better than letting ur ISP decide really
Even with cloudflare malware dns. It's just a bad list.
the false positives were insane
what have i done to deserve this
t have you increased your RAM recently
Idk everytime i use google or cloudflare. Ever ever it's night time my ping always goes up to 120 and 18 ping.
So default is best for me
no it's still at 192gb
damn
my default dns is best for me. Maybe because it's the nearest of them all.
Nearest*
Fuck autocorrect
strange, i guess you may not interact with a lot of stuff within cf's net
1.1.1.1 that's got me beat unless your ISP is intentionally fucking with the routing on traffic requesting a custom dns
*Ing
err 8.8.8.8*
1.1.1.1 is cf 
ive never once seen 8.8.8.8 result in a slowdown anywhere ive been in the US at least thoguh
Speaking of that. My ISP disabled option to change dns in router settings lmao.
64 bytes from 9.9.9.9: icmp_seq=3 ttl=53 time=148 ms
64 bytes from 9.9.9.9: icmp_seq=5 ttl=53 time=171 ms
64 bytes from 9.9.9.9: icmp_seq=6 ttl=53 time=76.8 ms
64 bytes from 9.9.9.9: icmp_seq=7 ttl=53 time=76.4 ms
time to VPN it and go dark
that's gross
they ever take away my choice of dns i'm gonna be behind 7 proxies immediately
Well i can simply put dns in android settings

Hmmmm
Thank God I use dns in wifi level
Soo fast
Image is saved
Image is saved
I did dns speed benchmark and cloudflare is faster than my default dns but idk
Google is second, third is default dns
Hmm
Good
ok why the fuck you need that much speed
it's capped by my computer's port actually
Nearly 300mib/s
i just wish it were symmetrical
think ill swap to 360 dns
seems pretty good, only 1.1 seconds before it resolves a domain xd
oh
Discord things
that's gotta be a discord image compression thing yeah the image is large enough to have the text
reee
Where did you do this test.
Experience the only web-based DNS Speed Test. Find the fastest DNS server for your location without any installations or downloads.
this nextDNS seems to test well for me, never heard of them though
Hm. Sometimes it's Opendns and openBLD and cloudflare.
cloudflare should always be consistently up there
somewhere between like 10-20% of all net traffic goes through cf at some point
Flashstart?Huh
they are like a school internet filtering product lmao
i guess just general internet security ting
how fast does it calculate legal moves
api comes back with legal moves after 5-7 business days (shiro has to get tony to input them)
i havent profiled it but it's less than a millisecond i believe
see? told you
Hm too fast
So i can call it 1500-3000 times each turn for 40-20 turns if my bot does nothing other than calling it hmmm
If we round it to 1 millisecond
the only reason my dumb ass hasn't sprung for the 10g they started offering here is that i physically cannot consoom that ttraffic rn
"engineered for game changers" is wild
without upgrading my network interface
I think 100mbps is like "enough" speed for most people. Or i am wrong
it's where i feel "comfortable" as in im not complaining about speed unless i start downloading something huge
thoughts on macos 26
honestly for "most" people they need like
20 mbps per person in household probably since there's a chance everyone wants to stream crap at once
that's about it
average person probably has no idea what their internet speed even is
i saw a screenshot of it
what happens for me is that it says macos and then
but im going for checkmates now
Mem fix
what was the issue
Before my plan was 20mbps and it's not unlimited data. It's like 250gb capped and it's sooo annoying.
Now it's 40mbps and unlimited. It's sooo much better for me.
the idea is that you pick a node in the game tree, generate nodes below it, and then play a fake game from all of those to the very end
honestly unlimited is probably the most worth thing for anyone really
how many of those games you win tells you how good the move you just made was
and you propogate that info up the tree
the problem with checkmate is that there are no legal moves after it
What !!!!!
even if it's not outright fast at least you wont get capped which is frankly unbelievable to even still exist anywhere but the most capacity choked locations on literally earth
so you never send any data back
long march
i knew there was something causing the decision to checkmate to even be considered valid due to something stopping it
that's crazy that it was specifically that lol
Once you reach that 250gb cap. It lowers your internet speed to 2mbps.
the greed of humanity knows no end
chsse
Vedal
now give it a vtuber model as mascot and call it a day
What did it play against
a bot that makes random moves
I wanted mine to be heart shaped 
it does force that
looks nicer I can't lie
they kind of did it right this time
also you can forcibly remove menu items
no more core sync menu item
the whole os is more customizable now
What is this "fake game"?
Is it making random moves from some point?
but they removed the launchpad, app folders, and safari compact mode
spotlight is much better in return
as a system macOS is a solid platform and i'll never say otherwise
the fact that the mach kernel lives on in such a (relatively) large ecosystem is fun and exciting
since i despise apple in every other way other than that + their sillycon isn't bad, i can't use it tho
we have spotlight soley instead of launchpad
it does actually get the job done honestly
you can just search for an app
quite easy
i've preferred that method for years now
hit the window key (or w/e the mac version is) and just start typing
My phone doesn't use 4g network
i have alt + space on arch for KRunner which essentially does that
i still usually just hit window key which pulls up what is essentially what i think launchpad was and also lets me search
liquid (gl)ass
launchpad was this
Can confirm that
You need to hit Super first tho
i just use a hot corner on my gnomes
get_board() returns a copy of the real board
you can use make_move() and undo_move() to play and un-play moves on this board, without playing them on the real board
Gnome me full of pain d-bus failef
gnome edition
so you can basically move the pieces around on the board
F
was genuinely useful
and then run get_legal_moves or get_in_checkmate etc
idk why something like that can't be literally just an option to the user
funyun
yezzir
im getting some performance stats on my bot at last
Are these a part of api too?

put it in a tournament against the random bot
Hmm
Damn i gotta check that header file before asking more questions
test is my bot
example_bot is enemy
example_bot is random
new activity monitor icon does look nice
holy rolled
i use btop tho
elo dif 267 
wait so that result is +268 elo in test favor?

sheesh
Sent live video
btop is just better than builtin activity monitor
How bot is working
But after going deep into the node you have to unroll all those moves every time
Hmm good
its not perfect
it still makes some dumb moves
especially on low time
but it can find mates now
which is huge
based btop enjoyer
homebrew being a thing on mac is probably the one thing that would make it not too bad for me
i actually use homebrew a ton on my other laptop that i have mint 22.2 on
Score of example_bot vs test: 3 - 20 - 0 [0.130]
... example_bot playing White: 1 - 11 - 0 [0.083] 12
... example_bot playing Black: 2 - 9 - 0 [0.182] 11
... White vs Black: 10 - 13 - 0 [0.435] 23
Elo difference: -329.6 +/- nan, LOS: 0.0 %, DrawRatio: 0.0 %
SPRT: llr 0 (0.0%), lbound -inf, ubound inf
24 of 100 games finished.
Player: example_bot
"Loss: Black mates": 11
"Loss: White mates": 9
"No result": 1
"Win: Black makes an illegal move: d8e7": 1
"Win: Black mates": 1
"Win: White makes an illegal move: d1b3": 1
Player: test
"Loss: Black makes an illegal move: d8e7": 1
"Loss: Black mates": 1
"Loss: White makes an illegal move: d1b3": 1
"No result": 1
"Win: Black mates": 11
"Win: White mates": 9
but what would happen if i purchased a mac is that i would slap linux on it probably
Oh shit actually nice
Play random moves see which has more wins
But how many moves does it have to make?
Isnt it a lot a lot
True
simulating a full chess game spamming moves is pretty trivial unless the engine making the moves is heavy which this one should not be at all yaknow
headless too
he's literally me
ive seen that thing go start to finish without spending a second of its time
And your bot is do the same but 5000 times for each move
can it search up the number of Rs in strawberry
you might have AGI on ur hands here
How is it not perfect
If you pick move that has most wins every time
Oh its because many of those wins are gotten after opponent plays super bad move
And it can be that most of calculated wins are just from one single move when your opponent gave up his queen for example
2 players = can never guarantee your move is the best possible one given all future board states because if you're playing against me for example it's gonna be a shitshow
Now if i try to make it too and then improve it - it feels like stealing from shiro 
well unless the only possible future state after your move is mate
but then you dont need much of a search
if you do, make sure you spent 8 hours with it drawing every game to ensure an authentic reproduction
i havent checked every possible outcome, so i can never be sure a move is the best
Oh so its not every possible
the idea is to repeatedly try moves that i haven't tried much until i am more certain they are bad
over time or just that game
hooray
but i can reuse part of the tree
Does bot die between turns like in arena or no?
Can i calculate while opponent calculates

functionally
does each running bot in a match have their own sandbox
Give each one a core
can i just have my bot ultron out and rm -rf the other bot


But if bot doesnt die between turns you have to control it somehow
What if i do it sneakily
overloading CPU during opponents turn
the method to submit your move blocks until it is your turn again and your bot must be single-threaded 
i thought about this
Cant i overload cpu without submitting moves
ASYNCCCCCCCCCCCCCCCCCCCCCCCcc
No i mean
I submit a move, then do mega calculations until chess game tells me its my turn
?
is there going to be a forced opening
there will likely be some pre-played opening books
played the same amount by both sides for symmetry
i know that like the tournaments where stockfish is busy winning they have to use specific openings
yea ok
i dont think we need to worry about stockfish dunking on everyone
but if you wanted to know specifically which openings im planning on using
i dont know and also dont think its a good idea to disclose
but that's what i wanted to do >:(
well i mean
Huh
Are openings that important?
if you want i can always lie and give you a random move book
yes
lmao
How long does an opening last?
How many turns
i mean ideally it can handle any opening right
there isn't an official rule for it
there's some rules of thumb though
it's usually the first 4-5 moves
awa
I saw some "books" in arena and they are like 3mb files
And how are you going to hardcode an opening even
What if opponent breaks it
You just abandon it?
How do you check if it's broken
Its like million tokens something
you can find "books" which are just giant collections of chess games
World largest chess database
i dont know how bots hard code openings but you probably shouldn't for this contest
the game will play an opening automatically before giving the bots control
then the bots play from that position
after that game, they play the same opening but switch sides, for fairness
that ensure that even if an opening is "harder" for white or black, it doesn't affect the outcome
they get an opening specified and follow it (mostly) sometimes they deviate based on analysis
so it's like a less forced version of what you're saying
iirc cute chess has two options for openings
you can give it a polyglot file i saw
omg bred
i have big news
i found why my bot was scared of checkmates, it fixed 
either the board is configured so the "first" move the engine sees is x plies into an opening book
now it wins almost every round vs random bot

i found these polyglots in a quick search earlier
or you can just pass the openings as extra info to the bot
oh god the names look so sussy
nice viruses

probably doing this one
https://www.virustotal.com/gui/file/66108f63c7410a0a264a951a309c9ed5eb25b6c6d82314d4cc03c2036d5dee38
https://www.virustotal.com/gui/file/c7fd8292fc90f3c544eb8db4c773a8b332213bfb54ca7230b1ee419496597912
https://www.virustotal.com/gui/file/cc713e701b0e2f1425dfcfa0f10661249d99c029f130c8d78caa2bb502dcbe22
there we got what we call some form of relative assurance ig
but they are archives so
Opening premade
Get legal moves premade
Virtual board premade

win_chess() please
so how does the token counting work for non compiled, you just toss the source file into the lexer and check token count or
can i ultra dummy minify
based on this
but with whatever spell chay is casting on it
we've discovered a few shortcomings with this particular version so
yeah
chayleaf is addressing those
hopefully chayleaf's token counter doesn't say my bot is 1500 tokens or something
i would cry
disqualified
Its not just tokens its also time usage
# Why Tree-sitter
Tree-sitter has relatively efficient parsing and has support for many languages without the need to create and maintain individual parsers or lexers.```
yes but now im downloading 400 tree sitters instead of parsers/lexers bruh
the part they dont tell you is that the tree sitters are inexplicably incompatible with each other if you change by a single subversion on any of them
upgrading the dependencies on this project is impossible, full stop

well at least in exchange it's orders of magnitude slower than the ones it compared itself to as well
no no then i cant be sure they did it carefully
tcount 1.339 s ± 0.125 s
scc 49.9 ms ± 1.6 ms
tokei 79.9 ms ± 5.3 ms
cloc 1.331 s ± 0.016 s```
my bot is stockfish 2
he's cracked
(3am)
its fine
command line git just leaves my head no matter how much i use it
i gave up and learned github site instead
Downloaded atty v0.2.14
<7 BILLION TREE SITTERS>
Downloaded linux-raw-sys v0.3.3
Downloaded tree-sitter-ocaml v0.19.0
Downloaded tree-sitter-typescript v0.19.0
Downloaded globset v0.4.6
Downloaded 86 crates (12.0MiB) in 5.76s (largest was `tree-sitter-typescript` at 3.4MiB)
☠️
damn i thought that would like
compress
at all
for some reason







no surrender






