Dear chess programmer,
We like to introduce a programmer code, a pledge to be transparent about the origin of your chess engine and ask you to subscribe via this form in case you agree.
We will maintain a list on this page of chess programmers who subscribed to the code.
Your email address will be held strictly confidential and only used for verification purposes in case there is doubt on your identity.
Thanks so much for your support of this initiative.
Ed Schröder
June 13, 2012
___________________________________________________
Due to the recent turbulence regarding Houdini and Fire I re-activate the Programmer Code of Honor giving the new generation of chess programmers the possibility to present their engines and subscribe to the principles of fair competition as stipulated on this page.
Thanks so much for your attention.
Ed Schröder
September 25, 2020
List of programmers who subscribed to the code
Name | Program(s) | Status | Your comments | |
1 | Ed Schröder | Original | Started in 1980 in BASIC with DIM B(64) creating an array for a chess board and did not know how to proceed. | |
2 | Julien Marcel | Original | Numerous ideas taken from books, CCC forum, Bruce Moreland's website and CPW wiki. | |
3 | Reinhard Scharnagl | Original | Some ideas might be inspired be reading chess and AI literature. | |
4 | Lucas Braesch | Inspired | Inspirations from: Fruit, Stockfish, Umko. Details in source code comments. | |
5 | Heiner Marxen | Chest | Original | I did not record where I picked up ideas. I never picked up (copied) any code. |
6 | Roberto Munter | Derivative | Derived from Ippolit series, but in the meantime I have changed many parts and added other code and original ideas. | |
7 | Miguel A. Ballicora | Original | ||
8 | Dan Honeycutt | Original | I document where stuff came from in the program comments rather than the readme. I have most of them but I won't swear that I have them all. Bruja is source on request and Cupcake is open source so anyone interested in originality can check for themselves. | |
9 | Charles Roberson | Original | The inspiration comes from several books. AI books: Artificial Intelligence by Patrick Henry Winston; The Handbook of Artificial Intelligence by Barr, Figenbaum & Cohen; The Art of Computer Programming by Knuth; various ICGA publications, and more. Numerous conversations with others in the field including Bob Hyatt, Brian Richardson, James Swafford, Vincent Diepeveen, Gian-Carlo Pascutto, Shay Bushinsky, Amir Ban, GM Boris Alterman, Andrew Williams, James Robertson, Rudolf Huber, Stefan Meyer-Kahlen, GM Sergey Kudrin and many more. | |
10 | Marcel van Kervinck | Original | I find it difficult to extract concepts from just looking at code, which is why I hardly ever do that. In the meantime, I see nothing wrong with allowing others to reuse open source game playing code in tournaments as long as 1. sufficient differentiation is demonstrated, and 2. equal attribution is given to the original authors (even if modified). Additional permission would not be needed in case of GPL or BSD-style license. If such a program wins, then the prize and recognition should be shared with all contributors. | |
11 | Gerd Isenberg | HansDamf | Original | |
12 | Dan Homan | Original | Source code provided with my program under GPL. Many ideas from many places as described in readme.txt and in the individual source code files. Many ideas come from the old rgcc, ccc, chess programming wiki, etc discussions.... some of these (usually specific ideas) are documented in the code, for others (usually common things, I think) the specific origin of the idea to me is lost in time (development on-and-off over 15 years). | |
13 | Nicu Ionita | Original | The search is initial inspired from some ideas from Stockfish. Many ideas from CCC forum and Chessprogramming Wiki. At code level absolutely new as it's written in Haskell. | |
14 | Álvaro Begué | Original | Several ideas collected from the ICGA journal, and a couple from conversations with other programmers at WCCC events. | |
15 | Yves Lejeail | Original | My engine is in VB.net.I started from scratch. Most of the algorithms were from Bruce Moreland (alpha beta, quiescence,...). It take me years to tune the search in order to have a not too weak engine, although it is not very strong. LMR and NullMove seems to work, as well as extensions in case of checks in the main search, and checks in the first plies of quiescence. I have not TT, but some kinds of History Tables which are depth dependent. I tend to try original ideas but they usually don't work. I do not record very well the improvements between versions. | |
16 | Richard Pijl | Original | ||
17 | Matthew Brades | FruitFly | Derivative | Derived from Fruit 2.1 - but I think this is public knowledge. |
18 | Thomas Petzke | Original | Written 100% from scratch, not using any public available code. Gaviota EG probing code was included temporarily to verify the internal node recognizer. | |
19 | Steve Maughan | Original | Monarch is 100% original at the code level. It really doesn't have anything special in it. It's just a basic vanilla Alpha Beta with all the normal trimmings (killers, null move etc). | |
20 | Original | Many ideas obviously inspired by the chess literature, but all code is original (except Nalimov probing code which is used with permission of Eugene Nalimov and Andrew Kadatch). | ||
21 | Vlad Stamate | Original | My inspiration and knowledge came from Talkchess discussions as well as ChessWiki and open source chess programs: crafty, stockfish, gnuchess, etc. I document all the sources of inspiration (no copied code) in the readme accompanying my engine. | |
22 | Ben-Hur Carlos | Original | Many ideas taken from Stockfish, Sloopy, Robbo and Gull. The code is completely written by myself with the exception of MT (random number generator), Magic Move Generator (By Praddu), some optimized bitCount and bitScan code snipets. | |
23 | Sune Fischer | Inspired | Frenzee is a rotated bitboard engine. Every single line of code is handwritten by me there is no copy/paste from any other source. I feel it is my design, my ideas, my engine. However, I have over the years looked at other programs, like Crafty, Beowulf, Phalanx and other such oldies. If one were to look at the engine with the same scrutiny as was the case for Rybka then similarities would no doubt be detected. The move generator has something in common with Crafty, since it is a rotated incremental bitboard engine.
Many of the eval terms are also public knowledge. I estimate that the original ideas in Frenzee probably amount to 100-200 points. The rest of its strength comes from implementing and tuning publicly known ideas or variations thereof such as PVS, nullmove, LMR, check extension, hashing and so forth. | |
24 | Richard Allbert | Original | Jabba is written in C# - I've used many ideas from many other OS programs, as well as the CPW and the Talkchess forum extensively. I use them in thesame way I use for example www.cplusplus.com/reference/clibrary. Heaviest influence came from Bruce Moreland's programming pages, and the comments in the crafty code documentation.
Having a 2200 engine on FICS playing 1000's of games is rewarding. My other reason is meeting people involved - such as at the CPT tournament hosted by Richard Pijl, or vis the online tournaments. | |
25 | Will Singleton | Original | ||
26 | Engin Üstün | Original | its original from starting on, first using rotated bitboards, and later changed that with pradu's Magic Bitboards. Of course some ideas are inspired and took from other open sources too. own hard worked over many years ago, never copied any lines from other. but only the code of nalimov for tablebase access is included to the source with permission. | |
27 | Jonatan Pettersson | Original | Written from scratch and has open source. A few instances of code inspired from other people's work (in particular SEE logic), but in those cases has mentions of the originators. | |
28 | Bálint Pfliegel | WhiskySoda | Derivative | Portfish is the .Net port of Stockfish, so it is means to be an exact replica of Stockfish on the source level. Technically it employs solutions which are more natural or has to be formulated differently under .Net (object broker concept).
WhiskySoda is my original engine, it is heavily inspired by Stockfish/Portfish and GarboChess. Bitboard operations, FEN parsing, randoms, polyglot book handling are taken over from Portfish, search inspired by Garbo. It currently has a very basic eval, I will definitely use a lot of inspirations there from literature and other engines if there will be time to continue. |
29 | Steve Webber | Raptor | Original | |
30 | Matthias Gemuh | Original | I looked at source code TSCP, ExChess, and Crafty before starting from scratch. Only other code seen again since then are code snippets in fora. | |
31 | Steve Maughan | Original | My new engine based on magic bitboards and a novel move dictionary approach. It's 100% unique. | |
32 | Thomas Mayer | Original | Most ideas inside, if not my own, were taken out of books, inspired by discussions on several forums or the result of conversations via eMail or directly at several computer chess tournaments. There never was any code copying, except the Nalimov access code and the code that is responsible to capture commands while thinking (taken from ExChess, Dan might remember the conversation long ago - afaik he has taken that from Bob who got this from Tim Mann, at least that is the info I have in mind) | |
33 | Luca Lissandrello | Original | The book was created by Colin Frayn (Beowulf), I have just modified and extended. I had his permission. | |
34 | Edsel Apostol Sam Hamilton | Original | Hannibal is original at the source code level. Many of the ideas are adapted from various open source engines and the knowledge repositories like chess programming wiki, and forums like CCC, and the Winboard forum. The only non-original code in Hannibal is the set of hash keys necessary for Polyglot book support. | |
35 | Emilio Díaz | Derivative | Secondchess is derived from Pam Nguyen's firstchess. Its goal is to add a couple of features missing in firstchess (castle, ep) and some simple enhance in evaluation and search, and keep the original idea of firstchess of being a pedagogical tool for beginners. | |
36 | Stan Arts | Stan's Chess | Original | My venture into chessprogramming started around the year 2000 and has very much been from the ground up/never left it. Starting with a 1, 2.. 3 and eventually 4 ply nested loops pseudo legal mover. ..If you put it in check, it might put you in check..too! And trade kings.
To Stan's chess. A buggy but working alpha/beta(ish) program. To Neurosis. A slow but semi serious effort with which atleast some points were won at the lower ends of the rankings at OTB tournaments halfway the 2000-2010 decade. Entirely weak, strange and original but..don't tell any of the strong proggie people..way more fun. |
37 | Andrés Manzanares
| Original | Initially inspired by TSCP, but eventually completely rewritten implementing my own design and ideas. Many ideas taken from Talkchess, Chesswiki and various open-source engines. | |
38 | Michael Sherwin | Original | First taught myself to program in 80386 assembler and wrote a completely table driven PERFT called Godzilla. Then made a chess program in C called Carnivor, while teaching myself to program in C. Then decided to go BITBOARD and wrote RomiChess completely from my own head except for a couple of utility routines I got from Crafty and basic Alpha-Beta from books. I believe that it was Charles Roberson that said, RomiChess was the most original chess program that he had seen in a very long time. | |
39 | Joost Buijs | Original | The first version of Nightmare was written in assembler for the 8080 processor during the fall of 1977 and the spring of 1978. It was mainly inspired by the book 'Chess Skill in Man and Machine' by P.W. Frey and by the book 'The Heuristic Programming Approach' by J.R. Slagle.
The current v7.8x is a modern bitboard oriented engine, it is entirely written from scratch although the magic code is derived from Pradu Kannan's work and the Nalimov tablebasecode is used with permission from Eugene Nalimov and Andrew Kadatch.
Nightmare is Windows only, it has an incomplete UCI implementation with most things hard coded, this is the main reason why I never cared to release it. I hope to address this weakness in the upcoming version 8.0 which is partly finished. | |
40 | Pawel Koziol | Derivative | Rodent is a GPL program, started from codebase of Sungorus by Pablo Vazquez. It uses ideas from Fruit (eval, via Toga Log User Manual), Stockfish (some search parameters, most notably LMR reduction size) DiscoCheck, (hanging pieces eval), Crafty (material imbalance table) and a couple of others, mentioned in comments.
What I consider original is some work on evaluation function (pawn chains etc.), but it has been inspired by CCC posts of Lyudmil Tsvetkov and Carl Langan.
My goal is *not* to create an original engine to enter competitions, but to give end users the opportunity to change engine's playing style and strength. | |
41 | Steven Edwards | Original | My C++ program Symbolic is entirely original other than parts derived from my earlier original programs. While the Symbolic source is private, I have released sections of it for others to use. I also have released the full source of my ANSI C tablebase generator, my ANSI C SANKit, my Pascal program CookieCat, my C++ Audrino program Myopic and my Common Lisp CIL Chess In Lisp program. These are all original works with no source copied from any other author. I give credit for some ideas to Slate and Atkin for their on their Chess 4.x program and to Wilkins for his Paradise program. | |
42 | Stefano Gemma | Satana | Original | I've other chess engine: Drago, Raffaela and Freccia, all original works. |
43 | Fabio Gobbato | Original | Many ideas find in chessprogramming and forums. | |
44 | Roland Stuckardt | Original | ||
New | Entries | Since | September 25, 2020 | |
45 | Marcel Vanthoor | Original | This engine is completely original from scratch in the Rust Programming Language, but it uses many well-known concepts.
| |
46 | Tony Soares | Derivative | This engine is based on VICE, I started making modifications to the 1.0 version, added magic bitboard and many search and eval features, still had the same name but it was private, that was ~2013, then in 2016 I started with the code base from VICE 1.0 but with just plain alphabeta(no null move, no tt, etc..) and PSQT from CPW for the eval, magic bitboard, still there are many thing from VICE in the code, sure there will be some refactoring to get better/fast code | |
47 | Vivien Clauzon | Inspired | Inspired by -- but original at code level -- Stockfish, Rubi, Xiphos, Ethereal, Texel, Winter, Topple, Demolito, Defenchess, Amoeba, Arasan, and probably many others. | |
48 | Ian Kennedy | Original | Originally written pre-internet in early 90s. No other source has been consulted. Mostly written based on the Computer Chess Compendium book and the Donninger ICCA journal article on PVS. | |
49 | Andrew Grant | Inspired | Inspired by -- but original at code level -- the many open-source giants in chess programming, Ethereal aims to refine existing ideas into a well documented educational tool.
| |
50 | David Carteau | Original | Orion is a 100% original work with one notable exception : v0.7 uses the Syzygy support library provided by Jon Dart (https://github.com/jdart1/Fathom). All implemented concepts are well-known and not specific to any engines. Orion has also for particularity to use a legal move generator, which does not seem to be widely the case. Note that StockFish's evaluation outputs are used since Orion v0.4 as targets to tune the engine evaluation parameters. A big thank you to Jonatan Pettersson (http://mediocrechess.blogspot.com/) and Thomas Petzke (http://macechess.blogspot.com/), authors of Mediocre and iCE, for having shared their passion and thoughts on their respective blogs ! | |
51 | Terje Kirstihagen | Derivative | Comments: Weiss is written using VICE as a base, and otherwise inspired mainly by Ethereal and Stockfish.
| |
52 | Maksim Korzh | Inspired | Inspired by VICE I'm now developing my own engine covered in YouTube series. | |
53 | Richard Delorme | Original | I pick up ideas from the chess programming wiki, original articles, and from talkchess discussion. I then do my own implementation in the D language. I probably use too many ideas from other people to mention them all, so I mention none. | |
54 | Ronald Friederich | Inspired | Written from scratch, original at the code level, with the exception of the fathom library. First inspiration was Van den Herik's thesis in the 80's on computer chess. Concrete inspiration from Stockfish, Maverick, Xiphos, Ethereal, Crafty and others, the Rebel website, CSVN and CCRL/other rating sites. | |
55 | Steve Griffin | Original | I wrote Raven with a lot of help from the ##chessprogramming IRC channel on freenode, the Chess Programming Wiki, and studying how other engines implented ideas. Some parts of the source (e.g king safety table, endgames with 5 or fewer pieces) were provided by other engine authors and are used with their express permission. I also use a library for magic move generation which is fully credited to its author according to the license in the source code. | |
56 | Fabian von der Warth | Inspired | FabChess - while written from scratch - has been inspired very much by all the great ideas and information contained in the chess programming wiki and other open source engines such as Ethereal, Asymptote and Weiss. | |
57 | Morgan Houppin | Inspired | Started in November 2019 from scratch, I implemented Stockfish's bitboard representation three months later. Search techniques inspired by Stockfish, Fruit and Strelka. | |
58 | Eugene Kotlov | Original | Just a hobby. | |
59 | Daniel Anulliero | Derivative | Isa si derived from Pham Nguyen's FirstChess. I've learned and added many things from Cpw , Bruce, pages , and with the help from the Ccc forum. | |
60 | Toni Helminen | Original | Sapeli is 100% original. Even magics are generated not copied. It is written for speed. I have different code for White/Black for branch prediction reasons. That obviously has affected the overall design of the program. The main focus was making Sapeli a nice little Linux/Unix program that works without much fuss. But at least it's unique. | |
61 | Bob Hyatt | Original | This has always been the way I have worked on CC. | |
62 | Connor W McMonigle | Original | Seer is written completely from scratch. The numerous search heuristics implemented in Seer originate, primarily, from the chess programming wiki. A few other ideas are the result of experimentation with variants of search heuristics found in several top engines. | |
63 | Alcides Schulz | Inspired | Inspired by many open source engines but original at code level. | |
64 | Ofek Shochat | Inspired | Alpha zero abd lc0 methods, but with a hybrid search and no bits of code is derived off of it. | |
65 | Adam Treat | Inspired | Allie is original except for including Ankan's GPU NN backend which originated in the Lc0 project, Fathom for TB, and magic bitboards from Andrew Grant/Ethereal. She was heavily inspired by the A0, Lc0, and Ethereal chess engines. | |
66 | Colin Jenkins | Inspired | A hand-coded Javascript chess engine inspired by Fabien Letouzey's Fruit 2.1. | |
67 | Andreas Matthies | Inspired | Started completely from scratch. In the history of development I got inspired by
| |
68 | Amanj Sherwany | Original | Original? Inspired by? I can't tell really, I read the Chess Programming Wiki, used many ideas from it, I have watched VICE videos, and looked into the source code of many open source projects. I am sure I have taken many ideas from many places.
| |
69 | Aryan | Inspired | ||
70 | Jeremy Wright | Inspired | I'm not an experienced chess programmer or even an experienced chess player. While I have written all of the code in Mantissa myself, almost all of the ideas contained within I've learned from the chess programming wiki or from reading the source of more mature engines. There is no specific engine that Mantissa is emulating, but there are no novel, revolutionary ideas to be found within her (yet). I hope one day to become experienced enough to give something new back to the chess programming community.
| |
71 | Thomas Jahn | Original | Leorik is written from scratch in C#. I try to implement ideas my own way as much as possible and I never look at the source code of other engines with the purpose of re implementing what I find.
| |
72 | Elias Nilsson | Affinity Chess | Original | Some concepts are taken from other engines with permission. They will be re-written into completely own algorithms in future releases. |
73 | Alessandro Iavicoli | Original | Started in 2013 as hobby, it became soon an addiction. Written entirely from scratch. Currently is (in my knowledge) the only chess engine written in the Ada programming language. It implements many unique and original features, or existing features in an original way. AdaChess is the engine used to calculate the statistical data in the perft-result page in the chessprogramming wiki. Inspired by LaMoSca (an italian tutorial) and TSCP, later by Faile, Fruit, Glaurung. AdaChess is GPL, source available for free download. | |
74 | Ernesto Torres | Derived | I hereby declare that the origin of my program is derived from Danasah 5.07 but original at code level in the meantime. Furthermore Nawito is inspired by Rebel, Fruit and the CPW. | |
75 | Shaheryar Sohail | Inspired | StockNemo is a chess engine that is inspired by Stockfish. Though, nearly all of its code differs from Stockfish. While a lot of features may be original ideas from other engine authors, the implementation is significantly different and original. | |
76 | John Stanback | Original | ||
77 |