I'd love to see a variation of this where chat adds a rule after each game, just to see how they try to adapt to their flaws.
@Ciurk4 ай бұрын
ooh
@simonpaga42324 ай бұрын
and an option to remove a rule instead of adding
@Chidl1564 ай бұрын
@@simonpaga4232 nah, too easy
@2stral4 ай бұрын
i second this
@shirothefish96884 ай бұрын
second this, but they can only start with 4 rules.
@kooskoos12344 ай бұрын
I love how chatfish constantly sets up forks, and then it just… doesn’t take pieces
@paladin27264 ай бұрын
chatfish will beat stockfish one day
@Omw4704 ай бұрын
Our grandchildren will think Stockfish was named after chatfish
@paladin27264 ай бұрын
@@Omw470and the eval bar would use chatfish point system
@avaraportti18734 ай бұрын
It might if puts its own stockfish up its butt
@MindcraftMC4 ай бұрын
No
@HuntingKingYT4 ай бұрын
@@Omw470stockfish is the stock version
@lucaslennan33563 ай бұрын
Would love to see a version where you treat it like a Rogue-lite and every time it loses chat has the opportunity to modify the rules.
@GreenLemonGames3 ай бұрын
I was thinking about this too! Could even be an interesting standalone website/game concept
@shurialvaro3 ай бұрын
@@GreenLemonGames Now i really like that idea
@Benjilovescats3 ай бұрын
@@GreenLemonGames hey i have my own chess bot and i wanted to test out on yours is there anywhere i can download your code?
@m4rcyonstation933 ай бұрын
@@GreenLemonGamesIF YOU MAKE THIS MY LIFE WILL BE YOURS
@MidnightDoom7773 ай бұрын
@@GreenLemonGames that would actually be really cool
@rodrigoqteixeira4 ай бұрын
Tips: make sure it checks 2 square pawn pushes, it's not normal for it to always push 1. make drawing evaluation the secound smallest value possible, losing -infinity and winning infinity. make sure to check for mates rather than losses. That way you can mate in 2. make the fork rule ignore protected pieces. Give a big reward for promoting.
@Fudgeball3604 ай бұрын
I agree with everything except for the last one, you could tinker with it a bit to make it so it checks if it won’t be taken before promoting, and then run system to promote
@rodrigoqteixeira4 ай бұрын
@@Fudgeball360 if the optimal move is to take it before promoting, the reward wont be given because minimax. But maybe the points could only be given if the promoted piece is not attacked.
@I3endoubles3 ай бұрын
I think it's pushing 1 because it has a + for defending pieces. Once there's a few pawns on the 3rd rank, it starts doing the double move.
@tomtravis8583 ай бұрын
@@Fudgeball360 There's no point to check if it can be taken, minimax + material evaluation already does that.
@dannyboy13503 ай бұрын
what if the bot is losing? then it should evaluate a draw as good.
@ABlueThing4 ай бұрын
Checking is +5 and having pawn that can promote safely is +6, so it will only promote if it's a check where it's being attacked
@butterdogoficcial2 ай бұрын
>sets up a fork >doesn't take any piece >leaves
@AirmaskM4 ай бұрын
Make it so once it gets around 1500 elo you start seeing if it can do basic mates and make it play matches against real people
@Syonico4 ай бұрын
the problem with that is: that's defined as cheating under almost every chess website. ever. since you're making an account for a non-existent player, and having an AI play on that account, it's against most site's rules
@trollface808crashout4 ай бұрын
@@Syonico it will probably be against people in chat
@W0lfCL4 ай бұрын
@@SyonicoI think lichess allows bot accounts and puts the corresponding tag next to their names
@ZafeHaven4 ай бұрын
@@W0lfCL They do but idk if you can play against them in a normal ranked match
@thunderfox1014 ай бұрын
@@ZafeHaven neuro sama does it I believe, I don't see why chatfish couldn't play against chat
@OTucanChannel4 ай бұрын
Honestly surprised chat made such good choices for this one!
@theominouspigeon4 ай бұрын
chdss
@samuelthecamel4 ай бұрын
I'm gonna guess that the checkmate/stalemate problem is caused by Chatfish looking at moves after checkmate/stalemate when the game should be over. Either that or your code is super messed up somewhere
@Efeadam31124 ай бұрын
Checkmate,promotion, knight fork and the value its given when check should be fixed
@mathmagician81914 ай бұрын
13:47 classic engine move right there, ignoring the pinned piece's attacks
@StarNova94 ай бұрын
This stream was really fun, and I think we made some good rules this time. Honestly didn't expect the bot to get so far
@АндрейНовиков-д7у4 ай бұрын
Chatfish videos are so good! Keep going
@StickyCat3984 ай бұрын
I like that you talk about chatfish as if he’s your son that you’re disappointed in
@MemeAnt4 ай бұрын
You should do chatfish v1 vs chatfish v2
@Nf3IsTheBestOpening4 ай бұрын
we were saved from migues awful rule
@thefirstnoguez4 ай бұрын
nf3= and also stockfish agrees with me on 18:10
@Nf3IsTheBestOpening4 ай бұрын
@@thefirstnoguez 😠
@2tothe4th4 ай бұрын
@@Nf3IsTheBestOpeningtrue
@ar_chbtw4 ай бұрын
chat vs chatfish?
@edwardjarvis34424 ай бұрын
I explained what was going on here to chat gpt4 and I asked it for the 10 best rules, here is what it came up with. It would be interesting to see this in action: This is an interesting challenge! Here are 10 strategic rules for the chess bot's evaluation system, assuming a depth of three and the standard evaluation where material counts (pawns = 1, knights/bishops = 3, rooks = 5, queens = 9, etc.). These rules aim to enhance the evaluation beyond simple material balance by including positional and tactical factors: 1. Central Control +1 for each pawn or piece that controls a central square (e4, e5, d4, d5). Rationale: Control of the center leads to better mobility and flexibility for future moves. 2. King Safety -1 for each square near the king (within 2 squares) that is attacked by an enemy piece. +0.5 if your move increases king safety (e.g., castling or placing a pawn/blocker). Rationale: Keeping the king safe is crucial; an exposed king often leads to checkmate threats. 3. Piece Activity +0.5 for each piece that moves from its starting position to an open, active square (e.g., rooks on open files, knights in advanced outposts). Rationale: Active pieces are more valuable in applying pressure on the opponent. 4. Fork Threats +0.5 if a move creates a fork threat. +1.5 if the fork includes a high-value piece (queen, rook, or king). Rationale: Forks are powerful tactical opportunities that can win material or disrupt the opponent’s position. 5. Passed Pawns +1 for each passed pawn. +2 if the passed pawn reaches the 6th rank or beyond. Rationale: Passed pawns are a major endgame advantage, and advancing them increases the promotion threat. 6. Pawn Structure -0.5 for each isolated or doubled pawn in your pawn structure. +0.5 for a pawn chain that extends at least two pawns forward (e.g., a pawn on d5 supported by a pawn on e4). Rationale: Strong pawn structures support piece mobility and king safety, while weaknesses like isolated or doubled pawns can be exploited. 7. Open Files for Rooks +0.5 if a rook moves to an open file or half-open file (no enemy pawns on the file). +1 if the rook on the open file can pressure an enemy weakness (pawn or piece). Rationale: Rooks on open files have better range and influence on the board, especially against weak targets. 8. Piece Coordination +1 if two or more pieces (especially knights, bishops, or rooks) coordinate on the same square to attack or defend. +0.5 for moves that increase coordination around the opponent’s king. Rationale: Well-coordinated pieces are much stronger in attack and defense, particularly near critical areas like the opponent’s king. 9. Space Advantage +0.5 for each additional rank that a pawn or piece controls beyond the 4th rank (5th rank or above for White; 4th rank or below for Black). -0.5 if the opponent controls more space than you do beyond the halfway point. Rationale: Space control allows for better piece maneuverability and restricts the opponent's movement. 10. Threat to High-Value Piece +1 for moves that attack or threaten a high-value piece (queen or rook). +2 if the attack limits the opponent's mobility (e.g., pinning a piece to the king or trapping it). Rationale: Threatening high-value pieces or limiting their movement can force the opponent into defensive or passive positions.
@Smitology4 ай бұрын
rule 3 sounds somewhat hard to define (openness, activeness, etc)
@Nullsp4ce4 ай бұрын
rule 3 is a ok, the word activeness is ambiguous but is followed by examples like open file (no opponent pawn on file) and outposts. it's also limited to moves from starting squares what I think the problem is that rule 2 is self referential and 4's fork 'threat' won't be realized until the next move is searched and true fork is found. that's a bit slow
@theominouspigeon4 ай бұрын
released the sequel already wow
@iqv1244 ай бұрын
> why do i keep adding this symbol before every sentence
@NuttyJamesGMD4 ай бұрын
> greentext > refuses to elaborate > leaves
@iqv1244 ай бұрын
> drags back > force feeds mayo
@thepizzagod4203 ай бұрын
@@iqv124 > wirtual sliding on mayonaise
@iqv1243 ай бұрын
@@thepizzagod420 > frictionless, but it stains you > lick it? > Y/N
@ТимоФейк3 ай бұрын
3:12 It's pronounced as Безымянный палец. Hope I've helped you
@eatingyoshi44034 ай бұрын
40:14 might be the funniest part, chatfish 2.0 promotes because it is scared of a fork because it doesn't have enough depth to realize that its rook is protecting the pawn.
@dongyang86544 ай бұрын
We need more chatfish
@awkwardmammal33103 ай бұрын
To have it promote more, could have +1 for each material advantage over the opponent
@TessaLucy4 ай бұрын
I wonder how good a depth 3 engine could ever be
@icaro82644 ай бұрын
999 for en pessant was clearly what made the bot good
@sharanimations17914 ай бұрын
i love this series
@_Tectonic3 ай бұрын
how i would do it option 1: each piece attacking an opponents piece = the amount of points of the piece (for example attacking a bishop with 2 pieces = +6 points) each piece attacking your piece = negative the amount of points of the piece (for example opponent attacking your bishop with 2 pieces = -6 points) taking an opponent's piece = the amount of points of the piece * the amount attacking it + 1 (for example if 2 pieces are attacking a rook and u take with one of them = +11 points) checkmate = +infinity checkmate from opponent = -infinity stalemate = the amount more points the opponent has then you * 2 (for example, if your opponent has a king and a queen but you just have a king and stalemate happens, +18 points) king counts as 20 points so checking the king = 20 points option 2: checkmate = +infinity checkmate from opponent = -infinity +points for the amount more material you have then the opponent (for example, if you have 13 more points of material than your opponent, +13 points) check = +20 per piece attacking the king
@mcmonkey263 ай бұрын
if you’re attacking an opponents piece with two pieces then you wouldnt want tk take it becausr thats less points
@_Tectonic3 ай бұрын
@@mcmonkey26 i fixed it so now it won’t do that
@Studio_salesmen4 ай бұрын
Is there anywhere where we can play chatfish? I would love to!
@eunsoolee60234 ай бұрын
We need a game between the chatfishes!!!
@nester73154 ай бұрын
I'd added smth like + 0.2 * (your points - opponent's ones) (tho you may make it with 1 and the base rule).
@BeepirBypr4 ай бұрын
one of these days theyll learn to make the pawn promote
@DJ_Level_34 ай бұрын
I want to play against ChatFish now
@dobromir68654 ай бұрын
Bro, it looks like you have 2 trivial bugs in your bot: 1) Evaluation is not symmetric right now, is it? Just apply the same rules to your opponent's position and subtract from your own score. 2) Infinity doesn't add up. Use a high, but finite value for the king (or checkmate), it might help your bot finish 'em at depths bigger than 1. I'm not a python programmer, maybe it is actually special cased and I just don't know about it, but comparing infinities rubs me the wrong way. I'd love to see a rematch with the same evaluation rules, but engine fixed
@GreenLemonGames4 ай бұрын
There are problems, but not the ones that you listed. The evaluation is not symmetric because I am coding in *exactly* what chat says. And the infinite eval is quite normal for a checkmate - the problem is that it is incorrectly identitying certain positions as checkmate.
@serafimr.36484 ай бұрын
@@GreenLemonGameshow do you programm this bots in unity, what asset do y use?
@2tothe4th4 ай бұрын
We love Chatfish
@oussama71324 ай бұрын
Im genuinely surprised chat decided to vote no for en passant. It's not even funny
@tungsten8or4 ай бұрын
chatfish 3 should have a depth of 69
@helmetmcbaron4 ай бұрын
Wouldnt change anything
@finminder29284 ай бұрын
Rather than resetting the rules for catfish parties three just add and adjust rules in the current version.
@FriskTemmieGoogle3 ай бұрын
you should probably put a link to your twitch in the description. People tend to be lazy, and won't search for it
@alansmithee62732 ай бұрын
You didn't tell the bot about the concept of pins, but it must naturally be including them in its calculations, right? If it's looking at a tree of all the opponent's possible moves, a pinned pawn capturing your queen isn't in that tree because it's not a possible move. It doesn't know what a pin is, but it naturally exploits them.
@qiuinting4 ай бұрын
I thought it was a mixture of ChatGPT, and stockfish😂
@WonderLike_u4 ай бұрын
zara picks 30% of stockfish move at middle and 75% at end game
@arunnath4454 ай бұрын
Whats ur rating lemon games?
@cherylchui45104 ай бұрын
pov chatfish 1 vs chatfish 2
@serafimr.36484 ай бұрын
How he is programming bot in unity? What asset is he using?
@GreenLemonGames4 ай бұрын
No assets. I built it on top of my game, Deckmate, which I've been working on for a couple of years
@gengar9nn4 ай бұрын
can you put it on lichess?
@Tzizenorec4 ай бұрын
I notice that 5, 6, 7 and 8 are all the same rule. Rather redundant there.
@Makowako_4 ай бұрын
Great video
@Pure_Vessel_4 ай бұрын
if winProgressAvailable = true: Move
@SteveeTheSteve3 ай бұрын
how can i fight chat fish
@ThatNerdGuy04 ай бұрын
I’m disappointed by the lack of bricked pp on missed en passant
@BamBoy5683 ай бұрын
You should make the polls 75 percent or more to make the rule
@Tehehei4 ай бұрын
WHY IS IT BETTER THEN ME"!!
@mahito_maffin4 ай бұрын
Chatfish playing better than me lol
@flleaf2 ай бұрын
Chess Bot Advanced
@alexphenex84 ай бұрын
Why is the majority against en passant? Do they not know it's forced in normal chess games?
@kiwiace46134 ай бұрын
you are a God
@VMapper4 ай бұрын
38:38 THAT MY COMMENT
@helmetmcbaron4 ай бұрын
Why does that matter?
@Xpnvh4 ай бұрын
Bro the thumbnail 🤣
@Deleted_Eevee3 ай бұрын
0:55 that’s illegal
@sahildas.4 ай бұрын
I'd like to see the source code
@shaharporat5074 ай бұрын
3:22 thats not en passant lol
@GreenLemonGames4 ай бұрын
Oops, I forgot to actually move the pawn forward for the screenshot 😂
@shaharporat5074 ай бұрын
@@GreenLemonGameslol it's ok I'm surprised I'm the first to notice
@OTucanChannel4 ай бұрын
13:10 Guess next iteration just needs bonus points vor taking free rooks
@iqv1244 ай бұрын
> and please make more more chatfish vids
@Itz_Sophia194 ай бұрын
CHATFISH2
@rodrigoqteixeira4 ай бұрын
PART 2 PART 2 PART 2 PART 2
@Inactive123f4 ай бұрын
Why does chatfish have a higher elo than i do…
@akselisaira57814 ай бұрын
Chatfish 1000 elo :)
@sonicwaveinfinitymiddwelle85554 ай бұрын
can't wait it to beat me in the next video
@AtPurri4 ай бұрын
Good video
@helenussy4 ай бұрын
It was better tthan i expectedd mrrp~
@theominouspigeon4 ай бұрын
mrrp
@ImNetheN4 ай бұрын
mrrp :33
@Nonfinity0X4 ай бұрын
nya :3
@z_buzzard4 ай бұрын
:33
@eroly-vl7nz4 ай бұрын
Mrrp
@SamTheDev4 ай бұрын
whats ur elo
@soulsofspirit97294 ай бұрын
Wow a first comment that doesn’t say “first”
@SamTheDev4 ай бұрын
@@soulsofspirit9729 ty
@RealestPerson.4 ай бұрын
1
@rzyrandol58483 ай бұрын
where is the code?
@focus.s24 ай бұрын
make chatfish 1 fight chatfish 2
@helmetmcbaron4 ай бұрын
It would be a draw because the dumb rules implimented means the bot gets more points by dragging out the game or repeating moves
@NotYaBoyOT4 ай бұрын
real
@yttyw85314 ай бұрын
Just finished watching video about first one
@AidanStricklin4 ай бұрын
Idea: what if you program it so that it gets +1000000000 points for the best move played
@helmetmcbaron4 ай бұрын
That would be rewarding it based on random chance stockfish "best move" isnt the best move there are potentially multiple best moves the first time it gets a reward for "best move" as a result of this will mean it will play that move in every single game after it because it got it so many points before itll expect it to be good only to be a blunder. (Theres no way for catfish to learn what stockfish believes is the best move since not even stockfish agrees with itself in many situations as to what the best move is you can test this by opening multiple instances of Stockfish and youll see theyll suggest slightly different best moves) For example for one game it turns out queen takes a pawn that is free and turns out to be a best move according to stockfish itll learn that moving the queen from that square to the other square to take a pawn for future games is so good that it should prioritise doing that in every game meaning it will repeatedly blunder its queen taking a pawn to repeat the scenario from before where it was rewarded so much for doing so like an addict looking for the next high
@Tyranitar.4 ай бұрын
what
@helmetmcbaron4 ай бұрын
@@AidanStricklin this is dumb on so many levels
@AtPurri4 ай бұрын
Add a rule where if a bishop can capture a rook it gets 10000 points
@ten84684 ай бұрын
Formulated this way it will prevent the bot from ever capturing a rook. Same problem as is here with the promotion: it's rewarded more from being able to that than from the resulting position, so it doesn't ever do the move.
@AtPurri4 ай бұрын
@@ten8468yeah i realised that like an hour after i posted this comment, agreed
@helmetmcbaron4 ай бұрын
@@AtPurriand you still decided to leave your foolishness on full Display instead of deleting it so that the comment section is less crowded with useless comments
@AtPurri4 ай бұрын
@@helmetmcbaron man stop speaking like youre a god, its not that serious my guy
@Arsenniy4 ай бұрын
nice
@emre_ez4 ай бұрын
The fact that en passant was rejected makes me lose my hope in humanity
@G4m3sy4 ай бұрын
Im not gay
@JustGreendude45-vu4hg4 ай бұрын
W Mathis 😊.
@5eyoshi4 ай бұрын
Here from YTS
@vabka-77084 ай бұрын
"Безыменный палец", why are you struggling with pronounciation? Its so easy and straightforward \s
@capybarachess-14 ай бұрын
No en passant):
@jamesco49424 ай бұрын
I fucking love chat fish so much ❤❤❤❤❤ please make a chat fish series