If you test the first version of Maverick (v 0.05) you’ll soon find out it cannot mate at fast time controls with rook and king vs. a lone king. Quite shocking! Despite gnawing its way through 9 million positions per second, the mate is too deep for an engine without hash tables. So it just […]
Author Archive for: Steve
About Steve Maughan
I’ve loved computer chess ever since I was given a Chess Challenger 9 for my birthday back in 1981. Up to that point I had been obsessed with chess. But once I started to play against the computer I was sucked into the world of computer chess. Over the years I’ve created quite a few 2-player board game, including Connect4, backgammon, Edge Reversi and Monarch Chess.
My day job is running a small consultancy (Cozmix Inc.) which specializes in helping companies design their sales forces. We also help design sales territories. While I’m certainly not a programming Rockstar, I designed and wrote all of the software we use.
I live in Central Florida and have a beautiful wife (Stephanie), and two wonderful daughters (Evie and Pippa).
Entries by Steve Maughan
Since Maverick is now playing chess I really need a testing framework. Testing has always been important but I think Fabian Letouzey really “turned some heads” when he started making rapid progress with Fruit back in 2004. His secret turned out to be making decisions about engine parameters and potential improvements based on cold hard […]
You can download the first release of Maverick on the Download page. I decided to make this release as Maverick seems to be stable. But don’t expect anything special. I’d estimate the strength to be about 1700 ELO on the CCRL scale (which us about 300 ELO weaker than Monarch, my previous engine). I wouldn’t […]
I really like the UCI protocol. I know there are diehard fans of Winboard out there, but for me I like the cleanness of UCI. One of the aim I have for Maverick is to support as much of the protocol as possible. In Monarch the UCI code was stable but it was a bit […]
It’s been a while since I last posted. I’ve been busy getting all of the UCI plumbing in place. Maverick is almost at the stage it can play a game of chess. I’ve created the basic search routines – complete with alpha-beta, quiescent search and root search. Some early tests show quite a speed-up compared […]
When humans chess players evaluate a sequence of moves they often mentally “swap off” the pieces at the end of a variation. For example if a proficient chess player took a quick look at the following position they would see Nxd5 wins a pawn: Black can recapture with his knight but white would recapture again […]
As I’ve explained in previous posts, a perft routine is a great way to debug a move generator. If you can correctly calculate the leaf node count for a variety of positions you are (almost) certain to have eradicated all the bug in your move generator. But what about the quiescent search? Unlike the regular […]
I had planned to have a reasonably solid evaluation function in Maverick from “day 1”. It looks as if I’ll need to backtrack a little. I had imagined I’d put all of the gubbins of the evaluation function (e.g. attack tables) in the “board” structure. However, the drawback to this approach is the need […]
I’ve been thinking about Piece-Square tables. They’re not the most exciting part of computer chess but they seem quite important (based on Ed Schroder’s experiments), so I thought I’d put some time into thinking about reasonable values. I’ve created a simple spreadsheet in Excel to help create them. You can download it here (Piece-Square-Tables.xlsx). It […]
I’m up to my chops in evaluation code. As I’ve said in previous posts the engines I’ve written in the past have had basic evaluation function. I want Maverick to be different. I’m using a number of good resources to inspire me. The first is a book by Hans Berliner The System: A World Champion’s […]