ChesSkelet: micro chess program - 363 Bytes

The place for codemasters or beginners to talk about programming any language for the Spectrum.
User avatar
Sokurah
Manic Miner
Posts: 287
Joined: Tue Nov 14, 2017 10:38 am
Contact:

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Sokurah »

ParadigmShifter wrote: Wed Feb 28, 2024 3:04 am Surely they make the wire wide enough for a 0 not to get jammed. It's bends and kinks in the wire that makes the 1s get stuck. That's like electronics 101
:lol:
Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
My games for the Spectrum: Dingo, The Speccies, The Speccies 2, Vallation & Sqij.
Twitter: Sokurah
Wall_Axe
Manic Miner
Posts: 500
Joined: Mon Nov 13, 2017 11:13 pm

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Wall_Axe »

Lol that would be cool to see the code on the screen actually... even if it's just dots.

It would be funny to change the colour of the byte when it is being executed. :)
User avatar
arkannoyed
Manic Miner
Posts: 438
Joined: Mon Feb 05, 2018 9:56 am
Location: Northamptonshire

Re: ChesSkelet: micro chess program - 363 Bytes

Post by arkannoyed »

Unfortunately I’d mapped white on white ATTRs over the code so it couldn’t be seen, that could be removed. It was just a proof of concept really, as the code needed to be refactored a lot to fit where there was space around the board. Lots of jr xx instructions added.
Wall_Axe
Manic Miner
Posts: 500
Joined: Mon Nov 13, 2017 11:13 pm

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Wall_Axe »

Lol didn't think of strategically locating the code around the board :)
Supamax
Drutt
Posts: 23
Joined: Mon Oct 03, 2022 3:18 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Supamax »

Which is the last version and where can it be downloaded from?
User avatar
arkannoyed
Manic Miner
Posts: 438
Joined: Mon Feb 05, 2018 9:56 am
Location: Northamptonshire

Re: ChesSkelet: micro chess program - 363 Bytes

Post by arkannoyed »

What C192K? Should be on this site for the 504 byte version.
Supamax
Drutt
Posts: 23
Joined: Mon Oct 03, 2022 3:18 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Supamax »

arkannoyed wrote: Thu Feb 29, 2024 7:22 am What C192K? Should be on this site for the 504 byte version.
Could you kindly write the actual webpage address of the program, and a direct download link?
Thanks a lot.
User avatar
arkannoyed
Manic Miner
Posts: 438
Joined: Mon Feb 05, 2018 9:56 am
Location: Northamptonshire

Re: ChesSkelet: micro chess program - 363 Bytes

Post by arkannoyed »

Supamax
Drutt
Posts: 23
Joined: Mon Oct 03, 2022 3:18 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Supamax »

arkannoyed wrote: Thu Feb 29, 2024 7:22 pm https://spectrumcomputing.co.uk/entry/3 ... Chess_2019

The .tap and source code are there
Thanks.
No, I was meaning the latest release of ChesSkelet.
I have v0.811 and saw somewhere that the latest release is v1.006, but I cannot find the file anywhere.

EDIT
ok, I found it here:
viewtopic.php?p=134904#p134904
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

I´m so sorry. I thought this thread was dead, so I have not looked into it for some time. I´ll take the time to reply to you all.

Regarding the site, I recently created a domain for my silly stuff, so now you can find Chesskeket under:
http://chesskelet.borialabs.com/

The whole thing is frozen now. Latest status is:
30/10/2022
Tiny version: v1.006, 269 Bytes (25% smaller).
Full version: 352 bytes: castling implementation enhanced.

I´ll get back to this in a separate message.

Alex

Supamax wrote: Tue Feb 27, 2024 3:36 pm The main links are not reachable anymore:

http://chesskelet.x10host.com/
http://chesskelet.epizy.com/

The last release I have is v0.811.
Is there a newer one?
Is it possible to have a .tap file of it, instead of a .sna? :)
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

Hi Wall_Axe,

I did some work the recursive code for better search, but I never really finished or published anything. My aim was just to make the tiniest thing.
Regarding the tape timing, the funny thing is that I don´t even have a Spectrum anymore. I used to have the Spectrum+ (Spanish version of it) but that was some time ago. I see that some other folk provided some insight. I need to read that...

Lol on the RAM idea :-)

Alex
Wall_Axe wrote: Wed Feb 28, 2024 2:21 am So the a.i. only compares one move. Considering you have about 42,000 bytes left you could implement min max algorithm :) to make it really hard - lol

Out of interest how long does it take to load 350 bytes from tape?

I suppose you could put code in the screen memory as most of the screen is unused, therefore not using any more actual ram :) lol
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

Hi P.S.,

From my understanding, you are right on all of your observations. I think think other coders already did a great job in writing minimal negamax and other variants, so as you guessed, that was out of my scope.

Alex
ParadigmShifter wrote: Wed Feb 28, 2024 2:42 am Was about 11 seconds or so for me to save a 363 byte block of random data. Most of that was the 2 lead ins and the header. Attribs are 768 bytes so less than half the time for that probably. (0s take longer to load than 1s which is weird since the 1s - being more pointy - must get stuck in the wires more when loading, the 0s being round can just roll down them?).

You don't need to use a lot of memory for minimax many 80s chess computers only had 4 or 8K of RAM. You can backtrack moves instead of storing them and if you know the order moves are generated in you can just use an index for the best move so far.

Negamax uses even less code memory

function negamax(node, depth, color) is
if depth = 0 or node is a terminal node then
return color × the heuristic value of node
value := −∞
for each child of node do
value := max(value, −negamax(child, depth − 1, −color))
return value

I think the idea is to make a chess game using as few bytes as possible in the machine code payload though so you just do the least thing to get it working. Nothing stopping them from using all the available RAM though - probably not needed for the above reasons. So implementing a proper search for decent moves is probably too large for their liking. I think the aim is to outdo the 1K ZX81 chess program for nerdiness ;)

Modern chess engines use megabytes of memory on hash tables of course to make searches quicker.
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

U still alive! :-)
arkannoyed wrote: Wed Feb 28, 2024 9:04 am I did exactly that in an experimental version of c2k19.
I’ll see if I can find it, though I think it’s probably here on an old thread.
It ran from the screen with ATTRs just concealing its location around the boards surroundings.
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

Hi,

Just posted an update 3 o 4 messages prior to this. You can find it here now.

http://chesskelet.borialabs.com/

Alex
Supamax wrote: Thu Feb 29, 2024 11:04 pm Thanks.
No, I was meaning the latest release of ChesSkelet.
I have v0.811 and saw somewhere that the latest release is v1.006, but I cannot find the file anywhere.

EDIT
ok, I found it here:
viewtopic.php?p=134904#p134904
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

And now, some more fun stuff on Chesskelet.

During 2022 and 2023 I spent some time working on a Guinness World Record request, which, by the way, was not an easy job. Never thought of it, but a friend kept insisting and insisting, and I finally thought: why not? It took me some time to convince GWR to create the record in the first place and to accept Chesskelet as a suitable candidate afterwards. And, at the end, they only accepted the "full" version, mostly because the tiny was more a "chess-like" game than a chess. The full version has the special moves for human player and that made it a better candidate.

You can find the record here:
https://www.guinnessworldrecords.com/wo ... -programme

Obviously, it's never making it into the physical book. There must be around 20K records registered, so they only select interesting stuff like "farthest olive pit spit distance"...you know.

As part of the multiple witnesses and documentation that I had to provide to GWR, there are some videos where i´m presenting the program in a public venue. It actually happened in a chess club in Madrid suburbs. Unfortunately all my speech is in spanish, but it has subtitles.

Here is my presentation:


Here is a game Chesskelet vs. Psion Chess (can you imagine? Chesskelet vs. Psion Chess in a big screen being witnessed by ~50 people?)


Here is the same game with my comments in "native" english:


So if you don´t have anything to do while at the loo, you can have a look at these.

It was all a lot of fun. I´m wondering if someone will ever take the time to beat it...my heart is divided. On one side, I hope not, on the other I´d like to see how far this can get...

Enjoy!
Alex
User avatar
ParadigmShifter
Manic Miner
Posts: 671
Joined: Sat Sep 09, 2023 4:55 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by ParadigmShifter »

Did they give you free Guinness?

EDIT: My uncle used to work for Guinness... whenever an employee was in hospital for any reason they used to give them a bottle of Guinness to put on the bedside table in the hospital which is probably where the myth that "Guinness is good for you" originated from lol ;)

EDIT2: And the various ad campaigns probably helped as well... do a search for "Guinness is good for you" to see some top quality adverts which definitely would not be allowed now lol
Supamax
Drutt
Posts: 23
Joined: Mon Oct 03, 2022 3:18 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Supamax »

reeagbo wrote: Mon Mar 04, 2024 10:33 am I´m so sorry. I thought this thread was dead, so I have not looked into it for some time. I´ll take the time to reply to you all.

Regarding the site, I recently created a domain for my silly stuff, so now you can find Chesskeket under:
http://chesskelet.borialabs.com/

[...]

Alex
Hi Alex :),
thanks.
I already found the above address, but I cannot access (I get Error 403) the Snapshots section:
http://borialabs.free.nf/chesskelet/snapshots

Could you kindly fix it?
Massimo
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

If you visit the website now, it should be fine. Note that the snapshots link is slightly different, so the one below is not valid anymore.

Álex
Supamax wrote: Tue Mar 05, 2024 1:14 am Hi Alex :),
thanks.
I already found the above address, but I cannot access (I get Error 403) the Snapshots section:
http://borialabs.free.nf/chesskelet/snapshots

Could you kindly fix it?
Massimo
reeagbo
Dizzy
Posts: 61
Joined: Mon Apr 29, 2019 9:11 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by reeagbo »

I wish they had, but the only thing you get for free is the diploma. Any other merch needs to be paid.
I can imagine "how healthy" Guinness can get, specially with high quantities... ;-)

Alex
ParadigmShifter wrote: Mon Mar 04, 2024 11:11 am Did they give you free Guinness?

EDIT: My uncle used to work for Guinness... whenever an employee was in hospital for any reason they used to give them a bottle of Guinness to put on the bedside table in the hospital which is probably where the myth that "Guinness is good for you" originated from lol ;)

EDIT2: And the various ad campaigns probably helped as well... do a search for "Guinness is good for you" to see some top quality adverts which definitely would not be allowed now lol
flange
Drutt
Posts: 49
Joined: Tue Dec 12, 2023 5:27 pm

Re: ChesSkelet: micro chess program - 363 Bytes

Post by flange »

ParadigmShifter wrote: Mon Mar 04, 2024 11:11 am Did they give you free Guinness?

EDIT: My uncle used to work for Guinness... whenever an employee was in hospital for any reason they used to give them a bottle of Guinness to put on the bedside table in the hospital which is probably where the myth that "Guinness is good for you" originated from lol ;)

EDIT2: And the various ad campaigns probably helped as well... do a search for "Guinness is good for you" to see some top quality adverts which definitely would not be allowed now lol
Back in the 40's-50's some doctors recommended Guinness or Jubilee stout for any one suffering with anaemia and strangely enough for women during pregnancy.

Loved the presentation by the way, Reeagbo. :D
Supamax
Drutt
Posts: 23
Joined: Mon Oct 03, 2022 3:18 am

Re: ChesSkelet: micro chess program - 363 Bytes

Post by Supamax »

reeagbo wrote: Tue Mar 05, 2024 8:01 am If you visit the website now, it should be fine. Note that the snapshots link is slightly different, so the one below is not valid anymore.
Now it's working, thanks! :)
Post Reply