chess.com personality bots research

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

chess.com personality bots research

Post by maksimKorzh »

Hi guys

I've been researching several general questions related to chess.com personality bots.
1. Does engine run on front or back end?
2. What engine are they built on top of?
3. What settings were used to tune personalities?
4. How interesting to play with them?

Answering first question was probably the most trivial - switching of internet connection
didn't prevented engine to response hence it's running on the front end, but this
didn't yet satisfy me, so I've started inspecting requests within browser's developer tools network tab. There were lot's of
requests... I was expecting some sort of the REST API being available (imagine how cool it
could be to play with bots via API using HTTP requests!) but didn't find any.

Instead I saw this like URL endpoints being requested:
https://www.chess.com/bundles/app/js/ve ... 70d7b6.bin
So... we have some "komodo-lite" located in "jschessengine" folder. I'm not aware of a used
technology here, maybe it's a web assembly maybe not so if someone knows what it is please tell it to me)

The rest of experiment was to actually try to play with available bots (you need to pay to play with any of them).
The very first thing that is clear that bots are using different opening books with a different quality and length of opening lines.
When it comes to actual search I could distinguish between defensive/attacking style - I might be horribly wrong but
it feels like more/less aggressively tuned LMR - again like if someone knows it for sure please tell it to me)
On the other hand I guess either material weights/PST are tuned differently or maybe some other additional eval params.
Also from time to time especially with weak bots it seems like eval is randomized from time to time, I might be wrong though.

Finally - how interesting to play with them. Well, it's hard to say probably because all the time I was enjoying the work
of developers working on this project and tried to imagine how it could be done technically.

QUESTIONS:

To chess players:
Now due to the lack of understanding regarding the last point I'd like to ask chess players
whether you enjoy playing versus bots in general and chess.com bots in particular or not.
The reason behind why I ask that is simple - I'm now thinking about possible adding of
personality bots into my javascript engine WukongJS but before that I'd like to figure out
how requested this bot feature could be.

To engine developers:
I know that we're more likely about to be spending time on improving playing strength
and don't really care much about this like bot features but maybe someone has tried
something similar? Or may be these bots are just a commercial trick to attract new
players for potentially paid subscription based accounts?

So simply saying - does the work on features intended to potentially satisfy chess players make sense
if we're talking about free open source projects? Or all these "user pleasing" modes/settings are just
commercial tricks.

I would appreciate any feedback because currently apart from obvious strength improvement for my
engine I'm also thinking about some additional features but not sure how requested they are.

Thanks in advance!
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: chess.com personality bots research

Post by maksimKorzh »

So no one cares about those bots??
kinderchocolate
Posts: 454
Joined: Mon Nov 01, 2010 6:55 am
Full name: Ted Wong

Re: chess.com personality bots research

Post by kinderchocolate »

Nobody knows.
User avatar
PeterO
Posts: 215
Joined: Sun Jul 31, 2016 6:35 pm

Re: chess.com personality bots research

Post by PeterO »

Hi Maksim,

I am very intersted in playin this bots. They have to be in my Elo range. I have about 1900 points.
So there should be 3 bots: with 1800 Elo (relaxing game-when i am tired), with 1900 Elo - challenge and with 2000 Elo - when i am very motivated.

I am also interested in „PERSONALITIES“ (Karpov, Kasparov, Fischer-Style“.
I am also looking for a VEEEEEEEEEERRRRRRRY aggressive engine - like „Dissiden Aggressior“ - IN MY ELO-RANGE!!

I would prefer to play the engines on LiChess.

Peter
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: chess.com personality bots research

Post by maksimKorzh »

PeterO wrote: Sun Jan 17, 2021 2:39 pm Hi Maksim,

I am very intersted in playin this bots. They have to be in my Elo range. I have about 1900 points.
So there should be 3 bots: with 1800 Elo (relaxing game-when i am tired), with 1900 Elo - challenge and with 2000 Elo - when i am very motivated.

I am also interested in „PERSONALITIES“ (Karpov, Kasparov, Fischer-Style“.
I am also looking for a VEEEEEEEEEERRRRRRRY aggressive engine - like „Dissiden Aggressior“ - IN MY ELO-RANGE!!

I would prefer to play the engines on LiChess.

Peter
Hi Peter, thanks for your feedback, very interesting.
All clear apart the fact you prefer play engines on liCHess - why not to play in the own GUI online?

Can you please try to play a couple of games versus my javascript engine and give a feedback?
https://maksimkorzh.github.io/wukongJS/wukong.html
Current development version with latest optimization should be around 2000 Elo

I would deeply appreciate your detailed feedback.
Thanks in advance!
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: chess.com personality bots research

Post by lkaufman »

maksimKorzh wrote: Sat Jan 16, 2021 9:05 pm Hi guys

I've been researching several general questions related to chess.com personality bots.
1. Does engine run on front or back end?
2. What engine are they built on top of?
3. What settings were used to tune personalities?
4. How interesting to play with them?

Answering first question was probably the most trivial - switching of internet connection
didn't prevented engine to response hence it's running on the front end, but this
didn't yet satisfy me, so I've started inspecting requests within browser's developer tools network tab. There were lot's of
requests... I was expecting some sort of the REST API being available (imagine how cool it
could be to play with bots via API using HTTP requests!) but didn't find any.

Instead I saw this like URL endpoints being requested:
https://www.chess.com/bundles/app/js/ve ... 70d7b6.bin
So... we have some "komodo-lite" located in "jschessengine" folder. I'm not aware of a used
technology here, maybe it's a web assembly maybe not so if someone knows what it is please tell it to me)

The rest of experiment was to actually try to play with available bots (you need to pay to play with any of them).
The very first thing that is clear that bots are using different opening books with a different quality and length of opening lines.
When it comes to actual search I could distinguish between defensive/attacking style - I might be horribly wrong but
it feels like more/less aggressively tuned LMR - again like if someone knows it for sure please tell it to me)
On the other hand I guess either material weights/PST are tuned differently or maybe some other additional eval params.
Also from time to time especially with weak bots it seems like eval is randomized from time to time, I might be wrong though.

Finally - how interesting to play with them. Well, it's hard to say probably because all the time I was enjoying the work
of developers working on this project and tried to imagine how it could be done technically.

QUESTIONS:

To chess players:
Now due to the lack of understanding regarding the last point I'd like to ask chess players
whether you enjoy playing versus bots in general and chess.com bots in particular or not.
The reason behind why I ask that is simple - I'm now thinking about possible adding of
personality bots into my javascript engine WukongJS but before that I'd like to figure out
how requested this bot feature could be.

To engine developers:
I know that we're more likely about to be spending time on improving playing strength
and don't really care much about this like bot features but maybe someone has tried
something similar? Or may be these bots are just a commercial trick to attract new
players for potentially paid subscription based accounts?

So simply saying - does the work on features intended to potentially satisfy chess players make sense
if we're talking about free open source projects? Or all these "user pleasing" modes/settings are just
commercial tricks.

I would appreciate any feedback because currently apart from obvious strength improvement for my
engine I'm also thinking about some additional features but not sure how requested they are.

Thanks in advance!
The bots are based on Komodo using the Skill levels to control strength and various parameter settings to modify playing style. However I believe that the bots rated below about 2400 are using tiny NNs (like Dragon, but aimed to emulate amateurs, not to play super-strong). I think that the ratings are reasonable if you are playing quickly, something like 5' + 5" speed, but if you take your time the ratings are unrealistically high.
Komodo rules!
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: chess.com personality bots research

Post by maksimKorzh »

lkaufman wrote: Sun Jan 17, 2021 8:18 pm
maksimKorzh wrote: Sat Jan 16, 2021 9:05 pm Hi guys

I've been researching several general questions related to chess.com personality bots.
1. Does engine run on front or back end?
2. What engine are they built on top of?
3. What settings were used to tune personalities?
4. How interesting to play with them?

Answering first question was probably the most trivial - switching of internet connection
didn't prevented engine to response hence it's running on the front end, but this
didn't yet satisfy me, so I've started inspecting requests within browser's developer tools network tab. There were lot's of
requests... I was expecting some sort of the REST API being available (imagine how cool it
could be to play with bots via API using HTTP requests!) but didn't find any.

Instead I saw this like URL endpoints being requested:
https://www.chess.com/bundles/app/js/ve ... 70d7b6.bin
So... we have some "komodo-lite" located in "jschessengine" folder. I'm not aware of a used
technology here, maybe it's a web assembly maybe not so if someone knows what it is please tell it to me)

The rest of experiment was to actually try to play with available bots (you need to pay to play with any of them).
The very first thing that is clear that bots are using different opening books with a different quality and length of opening lines.
When it comes to actual search I could distinguish between defensive/attacking style - I might be horribly wrong but
it feels like more/less aggressively tuned LMR - again like if someone knows it for sure please tell it to me)
On the other hand I guess either material weights/PST are tuned differently or maybe some other additional eval params.
Also from time to time especially with weak bots it seems like eval is randomized from time to time, I might be wrong though.

Finally - how interesting to play with them. Well, it's hard to say probably because all the time I was enjoying the work
of developers working on this project and tried to imagine how it could be done technically.

QUESTIONS:

To chess players:
Now due to the lack of understanding regarding the last point I'd like to ask chess players
whether you enjoy playing versus bots in general and chess.com bots in particular or not.
The reason behind why I ask that is simple - I'm now thinking about possible adding of
personality bots into my javascript engine WukongJS but before that I'd like to figure out
how requested this bot feature could be.

To engine developers:
I know that we're more likely about to be spending time on improving playing strength
and don't really care much about this like bot features but maybe someone has tried
something similar? Or may be these bots are just a commercial trick to attract new
players for potentially paid subscription based accounts?

So simply saying - does the work on features intended to potentially satisfy chess players make sense
if we're talking about free open source projects? Or all these "user pleasing" modes/settings are just
commercial tricks.

I would appreciate any feedback because currently apart from obvious strength improvement for my
engine I'm also thinking about some additional features but not sure how requested they are.

Thanks in advance!
The bots are based on Komodo using the Skill levels to control strength and various parameter settings to modify playing style. However I believe that the bots rated below about 2400 are using tiny NNs (like Dragon, but aimed to emulate amateurs, not to play super-strong). I think that the ratings are reasonable if you are playing quickly, something like 5' + 5" speed, but if you take your time the ratings are unrealistically high.
Very interesting, thank you! I'm surprised to know that NNs are used for bot as well.
All of NNs are trained by Dietrich Kappe I suppose?
Did you run tests to rate bots, e.g. 300 games with different bots/skills versions in the tournament or it's just a rough estimate regarding
rating based on human testing?
Didn't know komodo team collaborates with chess.com, cool, or are you a single company now?
Sorry for my curiosity, I'm just researching how people making money on chess programming)
Before I thought that it's possible only if you've created 3000+ engine but these bots are very basic as you said...

Larry, I'm really curious to know your personal opinion regarding the following:
Does it make sense trying to create "bots" for my online JS engine which is pretty basic at the moment (no more than 2000 Elo)
As an alternative to monsters like chess.com and similar?
I guess not but still want to know what you think.
I mean I would never ever be even close the the level of Komodo or whatever other top-engine team,
so does mean that I'm doomed to non-commercial chess programming only?
User avatar
M ANSARI
Posts: 3707
Joined: Thu Mar 16, 2006 7:10 pm

Re: chess.com personality bots research

Post by M ANSARI »

I have yet to see any computer bot play anything like a human. Even the 2100 elo bots can play the opening like a 1500 elo player but then tactically they start playing like a 3000 elo player and then if there is a simplified endgame they go back to being 1500 elo player. I don't think its the bots fault ... it is just that humans are incredibly weak tactically ... yet very strong positionally!
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: chess.com personality bots research

Post by maksimKorzh »

M ANSARI wrote: Sun Jan 17, 2021 10:06 pm I have yet to see any computer bot play anything like a human. Even the 2100 elo bots can play the opening like a 1500 elo player but then tactically they start playing like a 3000 elo player and then if there is a simplified endgame they go back to being 1500 elo player. I don't think its the bots fault ... it is just that humans are incredibly weak tactically ... yet very strong positionally!
Even top engines doesn't seem to provide this like functionality.
The behavior you describe is derived from alpha-beta's search nature.
I think opening books and endgame tables can "normalize" the playing strength.
User avatar
PeterO
Posts: 215
Joined: Sun Jul 31, 2016 6:35 pm

Re: chess.com personality bots research

Post by PeterO »

Hi Maksim,

I prefer playing on Lichess because I use the wooden „Millennium Exclusive Board“ to play with. I dont want to look at a monitor.
I want to play on a real board.

Peter