Creating a Chess-Playing Computer Program

CSEF · 2013 Mathematics & Software Honorable_mention Award

Overview

Objectives/Goals The goal of this project is to create a computer program that plays a relatively strong game of chess using programming techniques used by the top engines in use today. Methods/Materials Godot uses bitboards (64-bit numbers representing a chessboard) to implement board representation. When searching for moves, the Godot uses the most common methods of the day, including alpha-beta pruning, principal variation searching, history heuristics, iterative deepening, quiescent searching, static exchange evaluation, and null move pruning. The program evaluates positions by taking into account many factors that are typically an indication of a strong position. Godot can evaluate tens of thousands of positions per second. Godot also has an opening book based on a large database of thousands of very high-quality games. At the time of this writing, Godotâ##s opening database has a little over 252,000 positions pre-programmed into it. The program is based on other chess engines, especially open-source ones such as Stockfish, Carballo, and Winglet. Results Despite being based on other programs, Godot has a distinctive "style" of play that has been repeatedly described as appearing "creative". Godot has achieved an Elo ranking online of above 2200 at 1-minute chess. It has also defeated multiple FIDE-titled players. Though certainly not nearly as strong as commercial chess engines, Godot certainly plays a very respectable game of chess. Godot can defeat 99.89% of humans at one-minute chess.

Summary statement

Creating from scratch a chess program that can defeat over 99% of humans and can independently play online against others.

Help received

Online computer chess community provided technical support.

Awards (1)

  • Honorable Mention

Competition history

  • CSEF 2013 Mathematics & Software · Entry S1402

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google