Skip to content

nicholasdejesse/MegaKnight

Repository files navigation

MegaKnight

MegaKnight is a chess engine that plays at the level of an intermediate player. Written in C#, it features both an easy-to-use GUI build and a UCI compatible console build.

Features

  • User interface: a simple GUI built in MonoGame, with hints for legal moves
  • Compatability with other GUIs: MegaKnight includes a console build compatible with the Universal Chess Interface (UCI), allowing it to be used with other GUIs or benchmarked with programs like Fastchess.
  • Move validation: ensures all moves made are legal
  • Engine play: analyzes the current board state and plays the best possible move

Getting Started

Prerequisites

  1. Download and install the .NET framework.

Installation

  1. Clone the repository and navigate into its directory.

    cd MegaKnight
  2. Build the GUI version:

    dotnet build MegaKnight.csproj -c GUI -o [OUTPUT DIRECTORY]

    Alternatively, build the console version:

    dotnet build MegaKnight.csproj -c CONSOLE -o [OUTPUT DIRECTORY]
  3. Run the .exe file.

    start MegaKnight.exe

    Alternatively, for the console build, you may also run the DLL file.

    dotnet MegaKnight.dll

Roadmap

MegaKnight is currently in active development. Some upcoming features include:

  • Adding better pruning techniques to increase engine performance
  • Rewriting move generation to be faster
  • Updating the GUI to include more functionality, like undoing moves, restarting the game, and switching sides
  • Implement an opening book

Acknowledgements

About

A chess bot in C#, with GUI rendered with MonoGame.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages