Hi all
Because I wanted to play against CSTal and have some chance to beat it created a weakening wrapper - all AI under my directions.
zip file: https://murena.io/s/WXb2C3bemZbGtcJ.
1. wrapper.c is main code. I used Windows/mingw gcc to compile it:
gcc wrapper.c -o wrapper.exe -O2 -static -static-libgcc -static-libstdc++ -lm
2. wrapper.pdf explains code and how to use it.
Install wrapper.exe as a normal UCI engine.
Only did limited testing to calibrate - so it can be tuned more. But it works and produces results close to a weakened stockfish.
The code can weaken any engine by changing the engine name in wrapper.c and calibrating again.
I hope some of you find it useful and improve it further.
Playing against a weaker CSTal
Moderator: Ras
-
chesstal
- Posts: 6
- Joined: Mon Jul 27, 2026 8:09 am
- Full name: Adam Brown
-
Rebel
- Posts: 7620
- Joined: Thu Aug 18, 2011 12:04 pm
- Full name: Ed Schröder
Re: Playing against a weaker CSTal
I have read your PDF, it's a good system and indeed will work for many Stockfish versions also.
90% of coding is debugging, the other 10% is writing bugs.
-
Rowen
- Posts: 132
- Joined: Tue Nov 15, 2016 1:19 pm
- Location: Cheshire, England
Re: Playing against a weaker CSTal
Hichesstal wrote: ↑Mon Jul 27, 2026 10:00 am Hi all
Because I wanted to play against CSTal and have some chance to beat it created a weakening wrapper - all AI under my directions.
zip file: https://murena.io/s/WXb2C3bemZbGtcJ.
1. wrapper.c is main code. I used Windows/mingw gcc to compile it:
gcc wrapper.c -o wrapper.exe -O2 -static -static-libgcc -static-libstdc++ -lm
2. wrapper.pdf explains code and how to use it.
Install wrapper.exe as a normal UCI engine.
Only did limited testing to calibrate - so it can be tuned more. But it works and produces results close to a weakened stockfish.
The code can weaken any engine by changing the engine name in wrapper.c and calibrating again.
I hope some of you find it useful and improve it further.
Is someone able to release a compiled version of this please?
-
chesstal
- Posts: 6
- Joined: Mon Jul 27, 2026 8:09 am
- Full name: Adam Brown
Re: Playing against a weaker CSTal
Hi Rowen
I didnt include the exe because of all the false virus problems Martin reported with Myracle. Anyway I have uploaded the exe : https://murena.io/s/5Q9fw7qtKT4DejM
It works on my windows machine. Hope it works for you.
Also tuning is optional - you can use wrapper with any engine by changing the engine name with the UCI option and using the default weakening values in the code.
-
chesstal
- Posts: 6
- Joined: Mon Jul 27, 2026 8:09 am
- Full name: Adam Brown
Re: Playing against a weaker CSTal
Thanks for the comments Ed.
If you are interested I ran the same test with Rebel-EAS-3.0-AVX2 and the CSTal calibration.
1400: -0 Elo
1550: +23 Elo
1700: -17 Elo
1850: +49 Elo
2000: -12 Elo
2150: +2 Elo
2300: -7 Elo
2450: -51 Elo
2600: +21 Elo
So the default calibration weakens your engine well.
-
chesstal
- Posts: 6
- Joined: Mon Jul 27, 2026 8:09 am
- Full name: Adam Brown
Re: Playing against a weaker CSTal
Hi all
I have updated wrapper and the new version is - https://murena.io/s/T78mEoHnkePtPN6
This version uses data files so wrapper.c doesnt need to change for different engines - also added data for plentychess and reckless. the revised document explains the changes.
I have updated wrapper and the new version is - https://murena.io/s/T78mEoHnkePtPN6
This version uses data files so wrapper.c doesnt need to change for different engines - also added data for plentychess and reckless. the revised document explains the changes.
-
chesstal
- Posts: 6
- Joined: Mon Jul 27, 2026 8:09 am
- Full name: Adam Brown
Re: Playing against a weaker CSTal
Hi all
For anyone following Steve Maughan's excellent AI generated engines this is the data file for Opus55chess24hrs to use with wrapper.
# Opus55chess24hrs calibration
Depth1Elo 1400
Depth2Elo 1550
1400 55
1550 100
1700 700
1850 1550
2000 3450
2150 4200
2300 5200
2450 8850
2600 15700
| Target | Error |
+---------+--------+
| 1400 | +226 |
| 1550 | +72 |
| 1700 | -2 |
| 1850 | -4 |
| 2000 | +4 |
| 2150 | -12 |
| 2300 | +2 |
| 2450 | -2 |
| 2600 | 0 |
The engine is too strong below 1700.
For anyone following Steve Maughan's excellent AI generated engines this is the data file for Opus55chess24hrs to use with wrapper.
# Opus55chess24hrs calibration
Depth1Elo 1400
Depth2Elo 1550
1400 55
1550 100
1700 700
1850 1550
2000 3450
2150 4200
2300 5200
2450 8850
2600 15700
| Target | Error |
+---------+--------+
| 1400 | +226 |
| 1550 | +72 |
| 1700 | -2 |
| 1850 | -4 |
| 2000 | +4 |
| 2150 | -12 |
| 2300 | +2 |
| 2450 | -2 |
| 2600 | 0 |
The engine is too strong below 1700.
-
chesstal
- Posts: 6
- Joined: Mon Jul 27, 2026 8:09 am
- Full name: Adam Brown
Re: Playing against a weaker CSTal
Thanks to Chris for generously giving us CSTal 3. This is the calibration data file for wrapper.
# CSTal 3 node calibration
Depth1Elo 1430
Depth2Elo 1850
1400 55
1550 100
1700 220
1850 300
2000 300
2150 350
2300 2200
2450 2850
2600 5200
Calibration results
+--------+-------+
| Target | Error |
+--------+-------+
| 1400 | +33 |
| 1550 | +30 |
| 1700 | +42 |
| 1850 | -28 |
| 2000 | +34 |
| 2150 | -8 |
| 2300 | +33 |
| 2450 | -14 |
| 2600 | -19 |
+--------+-------+
# CSTal 3 node calibration
Depth1Elo 1430
Depth2Elo 1850
1400 55
1550 100
1700 220
1850 300
2000 300
2150 350
2300 2200
2450 2850
2600 5200
Calibration results
+--------+-------+
| Target | Error |
+--------+-------+
| 1400 | +33 |
| 1550 | +30 |
| 1700 | +42 |
| 1850 | -28 |
| 2000 | +34 |
| 2150 | -8 |
| 2300 | +33 |
| 2450 | -14 |
| 2600 | -19 |
+--------+-------+