Skip to content

Commit

Permalink
Merge pull request #108 from sfleischman105/Beta-Branch
Browse files Browse the repository at this point in the history
Update READMEs
  • Loading branch information
sfleischman105 authored Apr 5, 2018
2 parents 8cd8116 + 4300ad1 commit 0f324d5
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 59 deletions.
32 changes: 7 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,23 @@
# Pleco

Pleco is a chess Engine & Library inspired by Stockfish, written entirely in Rust.
Pleco is a chess Engine & Library derived from Stockfish, written entirely in Rust.

[![Pleco crate](https://img.shields.io/crates/v/pleco.svg)](https://crates.io/crates/pleco)
[![Pleco crate](https://img.shields.io/crates/v/pleco_engine.svg)](https://crates.io/crates/pleco_engine)
[![Build Status](https://api.travis-ci.org/sfleischman105/Pleco.svg?branch=master)](https://travis-ci.org/sfleischman105/Pleco)


This project is split into two crates, `pleco`, which contains the library functionality, and `pleco_engine`, which contains the
UCI (Universal Chess Interface) compatible Engine & AI.
UCI (Universal Chess Interface) compatible engine.

The overall goal for this project is to utilize the efficiency of Rust to create a Chess AI matching the speed of modern chess engines.
For the engine, the majority of the code is a direct port of Stockfish's C++ code. See [their website](https://stockfishchess.org/) for
more information about the engine. As such, the credit for all of the advanced algorithms used for searching, evaluation,
and many others, go directly to the maintainers and authors of Stockfish. This project is simply for speed comparisons
between the two languages, as well as for educational purposes.

- [Documentation](https://docs.rs/pleco), [crates.io](https://crates.io/crates/pleco) for library functionality
- [Documentation](https://docs.rs/pleco_engine), [crates.io](https://crates.io/crates/pleco_engine) for UCI Engine and Advanced Searching functionality.

Planned & Implemented features
-------


The Library aims to have the following features upon completion
- [x] Bitboard Representation of Piece Locations:
- [x] Ability for concurrent Board State access, for use by parallel searchers
- [x] Full Move-generation Capabilities, including generation of pseudo-legal moves
- [x] Statically computed lookup-tables (including Magic Bitboards)
- [x] Zobrist Hashing
- [ ] PGN Parsing

The AI Bot aims to have the following features:
- [x] Multi-threaded search using a shared hash-table
- [x] Queiscience-search
- [x] Iterative Deepening
- [x] Aspiration Windows
- [x] Futility Pruning
- [x] Transposition Tables
- [x] Killer Moves
- [ ] Null Move Heuristic
- [Documentation](https://docs.rs/pleco_engine), [crates.io](https://crates.io/crates/pleco_engine) for the Engine.

Standalone Installation and Use
-------
Expand Down
16 changes: 9 additions & 7 deletions pleco/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
# Pleco

Pleco is a Chess Library inspired by Stockfish, written entirely in Rust.

This project aims to utilize the efficiency of Rust to create a Chess Library & AI with the speed of modern chess engines.

Pleco is a Chess Library, containing the building blocks of the chess engine [Stockfish](https://stockfishchess.org/),
re-written entirely in Rust.

[![Pleco crate](https://img.shields.io/crates/v/pleco.svg)](https://crates.io/crates/pleco)
[![Build Status](https://api.travis-ci.org/sfleischman105/Pleco.svg?branch=Beta-Branch)](https://travis-ci.org/sfleischman105/Pleco)

This project is split into two crates, `pleco` (the library you are currently in), which contains the library functionality, and `pleco_engine`, which contains the
UCI (Universal Chess Interface) compatible Engine & AI.
This project is split into two crates, `pleco` (the library you are currently in), which contains the library functionality,
and `pleco_engine`, which contains the UCI (Universal Chess Interface) compatible Engine & AI.

The overall goal of pleco is to recreate the Stockfish engine in rust, for comparison and
educational purposes. As such, the majority of the algorithms used here are a direct port of Stockfish's, and the
credit for the majority of the code go directly to the maintainers and authors of Stockfish.

- [Documentation](https://docs.rs/pleco)
- [crates.io](https://crates.io/crates/pleco)

For the chess engine implemented using the features provided by `pleco`,
For the chess engine implemented using this library provided by `pleco`,
see [pleco_engine](https://github.com/sfleischman105/Pleco/tree/master/pleco_engine).

Features
Expand Down
3 changes: 2 additions & 1 deletion pleco/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//! A blazingly fast Chess Library.
//! A Rust re-write of the basic building blocks of the [Stockfish](https://stockfishchess.org/)
//! chess engine.
//!
//! This package is separated into two parts. Firstly, the board representation & associated functions
//! (the current crate, `pleco`), and secondly, the AI implementations using these chess foundations,
Expand Down
26 changes: 6 additions & 20 deletions pleco_engine/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
# Pleco Engine

Pleco Engine is a chess Engine inspired by Stockfish, written entirely in Rust.

This project aims to utilize the efficiency of Rust to create a Chess Bot with the speed of modern chess engines.

Pleco Engine is a Rust re-write of the [Stockfish](https://stockfishchess.org/) chess engine.

[![Pleco crate](https://img.shields.io/crates/v/pleco_engine.svg)](https://crates.io/crates/pleco_engine)
[![Build Status](https://api.travis-ci.org/sfleischman105/Pleco.svg?branch=master)](https://travis-ci.org/sfleischman105/Pleco)
Expand All @@ -12,25 +9,14 @@ This project aims to utilize the efficiency of Rust to create a Chess Bot with t
This project is split into two crates, `pleco_engine` (the current folder), which contains the
UCI (Universal Chess Interface) compatible Engine & AI, and `pleco`, which contains the library functionality.

The overall goal for this project is to utilize the efficiency of Rust to create a Chess AI matching the speed of modern chess engines.
The overall goal of pleco is to recreate the Stockfish engine in rust, for comparison and
educational purposes. As such, the majority of the algorithms used here are a direct port of stockfish's, and the
credit for all of the advanced algorithms used for searching, evaluation, and many others, go directly to the
maintainers and authors of Stockfish.

- [Documentation](https://docs.rs/pleco_engine)
- [crates.io](https://crates.io/crates/pleco_engine)

Planned & Implemented features
-------


The AI aims to have the following features:
- [x] Multi-threaded search using a shared hash-table
- [x] Queiscience-search
- [x] Iterative Deepening
- [x] Aspiration Windows
- [x] Futility Pruning
- [x] Transposition Tables
- [x] Killer Moves
- [ ] Null Move Heuristic

Standalone Installation and Use
-------

Expand Down Expand Up @@ -63,7 +49,7 @@ Contributing
Any and all contributions are welcome! Open up a PR to contribute some improvements. Look at the Issues tab to see what needs some help.



License
-------
Pleco is distributed under the terms of the MIT license. See LICENSE-MIT for details. Opening a pull requests is assumed to signal agreement with these licensing terms.
8 changes: 2 additions & 6 deletions pleco_engine/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
//! A rust-based UCI compatible chess AI.
//! A Rust re-write of the Stockfish chess engine.
//!
//! This crate is not intended to be used by other crates as a dependency, as it's a mostly useful as a direct
//! executable.
//!
//! If you are interested in using the direct chess library functions (The Boards, move generation, etc), please
//! checkout the core library, `pleco`, available on [on crates.io](https://crates.io/crates/pleco).
//!
//! # Usage as a Dependency
//!
//! This crate is [on crates.io](https://crates.io/crates/pleco_engine) and can be
//! used by adding `pleco_engine` to the dependencies in your project's `Cargo.toml`.
//!

#![cfg_attr(feature="clippy", feature(plugin))]
#![cfg_attr(feature="clippy", plugin(clippy))]
#![cfg_attr(feature="clippy", allow(inline_always))]
Expand Down

0 comments on commit 0f324d5

Please sign in to comment.