Skip to content

Releases: megalodon-chess/megalodon

Megalodon 1.1.0

01 Jul 02:26
Compare
Choose a tag to compare

This release adds opening book functionality to Megalodon. This is currently toggleable through the UCI option OwnBook. By default, it is set to false. In order to successful use this functionality though, it is required to have a openings.txt file in the same directory that you run Megalodon. The file must be formatted such that on each new line there is a sequence of moves notated with the UCI format, nothing else. We have provided an example openings.txt file in the openings folder.

Megalodon 1.0.0

14 Apr 18:33
Compare
Choose a tag to compare

Introducing Megalodon v1.0.0

Megalodon is a UCI chess engine with features like alpha-beta search, evaluation functions, and transposition tables.
Version 1.0.0 plays at an estimated 1600 ELO on Lichess. View it's profile here.

Features

  • Bitboard move generation
  • Minimax search with alpha-beta pruning
  • Iterative deepening
  • Evaluation on material, pawns, knights, queens, and kings.
  • Transposition table
  • Zobrist hashing
  • UCI protocol

Speed Stats

Tested on Intel i7-9700K 3.6GHz at starting chess position.

  • Move generation at depth 6: 119,060,324 nodes, 20.8 million NPS
  • Search for 2 seconds: Depth 5, 165,804 nodes, 565,884 nps
  • Search to depth 6: 2,036,286 nodes, 566,736 nps, 3,592 ms

UCI Options

Use these options to customize Megalodon's behavior.

Hash

This is the size of Megalodon's internal table, in megabytes. The longer you wish to run a search, the larger this value should be. The default value of 256 can hold 89 million positions, which is good for more than one hour of analysis.

EvalMaterial, EvalPawnStruct, EvalSpace, EvalKnights, EvalRooks, EvalQueens, EvalKings

These are weights (percent) of each evaluation category. You can use these to change Megalodon's behavior.

Goals

Goals set for v1.0.0

  • ELO: 1200
  • Nodes per second: 30000
  • Bitboard move generation
  • Breadth first search (kind of)
  • Minimax move picking with alpha-beta pruning
  • Prune lowest N% branches (late move reductions)

Goals for v2.0.0

  • 2000 ELO
  • 1 million NPS
  • Late move reductions and null move pruning
  • Monte carlo tree search
  • More customization options
  • Multithreaded search
  • Syzygy tablebase support (hopefully)
  • Neural networks (hopefully)
  • Variants (hopefully)

Changes from v0.4.3

  • Small optimizations
  • Bug fixes
  • Hash table capacity was increased by 60%

Megalodon 0.4.3

11 Apr 23:58
Compare
Choose a tag to compare

This release contains a transposition table. It has a default size of 256 MB, and stores about 50 million positions.
Consider increasing this size for a deep search.

It plays almost 300 ELO stronger than the previous release.
This is due to a much deeper search in most positions.

Bench: 765969

Megalodon 0.4.2

10 Apr 03:23
Compare
Choose a tag to compare

This release features improved evaluation functions.
New evaluation categories include queens, rooks, pawn attacks, and weights.

Megalodon 0.4.1

08 Apr 15:45
Compare
Choose a tag to compare

This release contains many bug fixes.
The move generation is perfect when compared to these results.

50 move draw has been implemented.
There are many projects going on about search, multithreading, eval, and Monte Carlo Tree Search.
Those may be merged shortly.

Bench: 2196682

Megalodon 0.4.0

06 Apr 05:10
Compare
Choose a tag to compare

This release contains many bug fixes in move generation.
Thanks to Guenther Simon (@rwbc) for reporting bugs.

The speed of everything was increased by about 5 times!
This was achieved by adding the -O3 flag when compiling, which allows g++ to do optimization.

The v0.4.x releases will be focused on fixing bugs and evaluation algorithms.

Megalodon 0.3.2

01 Apr 02:06
Compare
Choose a tag to compare

There are many bug fixes in this release.
A new queen checkmate algorithm was added, and Megalodon will now use that algorithm instead of a search in queen endgames.

Megalodon 0.3.1

31 Mar 21:03
Compare
Choose a tag to compare

This release has move generation improvements. The new algorithms reach 4.5 million nps, which is mostly due to using arrays instead of vectors.
There are also small evaluation weight changes.

The search function also runs in a different thread now, so the search can be stopped at any time with stop.
Megalodon plays at an estimated 1000 ELO.

There will be no more Windows builds provided starting from this release.

Megalodon 0.3.0

31 Mar 02:45
Compare
Choose a tag to compare

This release features very fast move generation algorithms.
The move generation searches at 3.5 million NPS, a 50% improvement on 2.4 million in v0.2.6
The accuracy was also greatly improved, and agrees with the Chess module in python.

There are also minor evaluation changes.

Megalodon 0.2.6

30 Mar 23:05
Compare
Choose a tag to compare

This release features many evaluation categories, including pawn structure, knights, kings, and space.
You can tune the weights with UCI options.

We will also start hosting a Sharktest server in a few days.
This allows you to use your CPU power to tune Megalodon's evaluation.