Coder Social home page Coder Social logo

medegw01 / raccoonchesssigma Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 9.21 MB

UCI Chess Engine, AI, and Library

Home Page: http://rcsigma.org/

License: MIT License

TypeScript 99.23% JavaScript 0.77%
chess-engine chess-ai chess-library raccoon

raccoonchesssigma's People

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

ziban

raccoonchesssigma's Issues

[FEATURE]: Add file call tree to Architectue

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice if there is a way to visualize the file/function calls. Something to complement the architectural Diagram

Is your feature request related to a problem? Please describe it

I want to contribute but can't figure which function calls which or what file uses the specific file.

Additional context

Check out the following tools for generating such diagrams:

How will you/everyone benefit from this feature?

This feature would make it easier to understand this project

Raccoon.exe usage guide

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I would be nice if we know how to use rcSigma as a UCI chess engine with other free and common chess GUIs such as arena

Is your feature request related to a problem? Please describe it

I want to do use raccoon with my other chess engines but cannot

Additional context

see lc0 gui guides

How will you/everyone benefit from this feature?

[FEATURE]: Executable Support

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice to be able to use raccoon.uci.js on several platforms without needing to install nodejs.

Is your feature request related to a problem? Please describe it

I wanted to use raccoon.uci on my windows computer but I don't want to install NODEJS to run the engine. I wish there was a raccoon.uci.exe which I can use instead.

Additional context

-nexe offers ways to compile into window, linux and others

How will you/everyone benefit from this feature?

[FEATURE]: Syzygy database

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice to have an endgame database probing

Is your feature request related to a problem? Please describe it

I want to play standard known endgame quickly and easily but raccoon is spending time calculating the lines instead of looking it up and play known line

Additional context

How will you/everyone benefit from this feature?

This feature will put raccoon among to chess engines.

Build UCI microservice

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think I would be nice to have:

  • the complete UCI microservice
  • documentation on how to build single JS.

Is your feature request related to a problem? Please describe it

Yes, I need an UCI that can communicate with my chess engine to play chess with other chess engine

Additional context

see raccoonjs and architectural diagram for more information.
Also, look at:

How will you/everyone benefit from this feature?

This feature will allow someone to play chess

Add PGN support to rcSigma

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice if rcSigma can:

  • load pgn(from string or file path)
  • export game pgn
  • modify pgn (such as remove comments and add comments)

Is your feature request related to a problem? Please describe it

I wanted to load my pgn game, but there is no way to do that unless I load a fen and manually play the games.

Additional context

View the pgn feature the following links:

How will you/everyone benefit from this feature?

This feature will make the RaccoonChessSigma library as robust as its competitors.

Build Game microservice

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think I would be nice to have:

  • the complete GAME microservice
  • perft function

Is your feature request related to a problem? Please describe it

Yes, I can't have a chess engine that doesn't play chess or know the chess rules

Additional context

see raccoonjs and architectural diagram for more information

How will you/everyone benefit from this feature?

This feature will allow someone to play chess

Build Evaluation for rc

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice if our traditional engine can understand the numerical evaluation of a specific position

Is your feature request related to a problem? Please describe it

I want to use the rc to analyze a position but it's giving me 0 as the evaluation for all positions

Additional context

see stockfish evaluation guild and architectural diagram for more information

How will you/everyone benefit from this feature?

This will make our engine understand several chess positions.

Replace TODO on markdowns with necessary information

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines TODO-LINK-TO-CONTRIBUTER-GUILD
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I will like to see:

  • useful information on all markdowns instead of TODO
  • a logo for RaccoonChessSignma(rcSigma)

Is your feature request related to a problem? Please describe it

I wanted to see documentations, but I saw TODO across all the markdown files. I want to see more details

Additional context

See https://github.com/medegw01/raccoon.js for example of documentations

How will you/everyone benefit from this feature?

This feature will give better understanding of code use

Build API microservice

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think I would be nice to have:

  • the complete API microservice
  • a test for all APIs
  • a GitHub action that runs that test
  • a Label on README and a running TRAVIS code
  • documentation on how to build JS pointing to rc evaluation. See stackoverflow and webstack

Is your feature request related to a problem? Please describe it

Yes, I need an API that can communicate with my chess engine

Additional context

see raccoonjs and architectural diagram for more information

How will you/everyone benefit from this feature?

This feature will allow someone to play chess

Document how to use API from raccoon.js

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice if we document how to use API from raccoon.js

Is your feature request related to a problem? Please describe it

I want to use the raccoon.js but don't know how to

Additional context

see raccoonjs and architectural diagram for more information

How will you/everyone benefit from this feature?

his feature will help people trying to us raccoon.js in their web projects

Build Search microservice

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice to have a chess engine that can search for best move using:

  • Transposition table
  • Static Exchange Evaluation(See)
  • Quiescence search
  • Alpha-beta search
    1. Aspiration window
    2. Interactive deepening
    3. Null move reduction
    4. Razoring pruning
    5. Futility pruning
    6. Late Move Reduction
    7. Late move pruning
    8. History futility pruning
  • Move Ordering
    1. Most value victim / Lowest Value Attacker
    2. Killer moves
    3. Butterfly history

Is your feature request related to a problem? Please describe it

I want to search for best move with the engine, but there is no function to search for the moves

Additional context

See chess programming wiki
After implemetation, search must produce the result below at certain depth

positions = [
"1k1r4/pp1b1R2/3q2pp/4p3/2B5/4Q3/PPP2B2/2K5 b - - 0 1",
"3r1k2/4npp1/1ppr3p/p6P/P2PPPP1/1NR5/5K2/2R5 w - - 0 1",
"2q1rr1k/3bbnnp/p2p1pp1/2pPp3/PpP1P1P1/1P2BNNP/2BQ1PRK/7R b - - 0 1",
"rnbqkb1r/p3pppp/1p6/2ppP3/3N4/2P5/PPP1QPPP/R1B1KB1R w KQkq - 0 1",
"r1b2rk1/2q1b1pp/p2ppn2/1p6/3QP3/1BN1B3/PPP3PP/R4RK1 w - - 0 1",
"2r3k1/pppR1pp1/4p3/4P1P1/5P2/1P4K1/P1P5/8 w - - 0 1",
"1nk1r1r1/pp2n1pp/4p3/q2pPp1N/b1pP1P2/B1P2R2/2P1B1PP/R2Q2K1 w - - 0 1",
"4b3/p3kp2/6p1/3pP2p/2pP1P2/4K1P1/P3N2P/8 w - - 0 1",
"2kr1bnr/pbpq4/2n1pp2/3p3p/3P1P1B/2N2N1Q/PPP3PP/2KR1B1R w - - 0 1",
"3rr1k1/pp3pp1/1qn2np1/8/3p4/PP1R1P2/2P1NQPP/R1B3K1 b - - 0 1",
"2r1nrk1/p2q1ppp/bp1p4/n1pPp3/P1P1P3/2PBB1N1/4QPPP/R4RK1 w - - 0 1",
"r3r1k1/ppqb1ppp/8/4p1NQ/8/2P5/PP3PPP/R3R1K1 b - - 0 1",
"r2q1rk1/4bppp/p2p4/2pP4/3pP3/3Q4/PP1B1PPP/R3R1K1 w - - 0 1",
"rnb2r1k/pp2p2p/2pp2p1/q2P1p2/8/1Pb2NP1/PB2PPBP/R2Q1RK1 w - - 0 1",
"2r3k1/1p2q1pp/2b1pr2/p1pp4/6Q1/1P1PP1R1/P1PN2PP/5RK1 w - - 0 1",
"r1bqkb1r/4npp1/p1p4p/1p1pP1B1/8/1B6/PPPN1PPP/R2Q1RK1 w kq - 0 1",
"r2q1rk1/1ppnbppp/p2p1nb1/3Pp3/2P1P1P1/2N2N1P/PPB1QP2/R1B2RK1 b - - 0 1",
"r1bq1rk1/pp2ppbp/2np2p1/2n5/P3PP2/N1P2N2/1PB3PP/R1B1QRK1 b - - 0 1",
"3rr3/2pq2pk/p2p1pnp/8/2QBPP2/1P6/P5PP/4RRK1 b - - 0 1",
"r4k2/pb2bp1r/1p1qp2p/3pNp2/3P1P2/2N3P1/PPP1Q2P/2KRR3 w - - 0 1",
"3rn2k/ppb2rpp/2ppqp2/5N2/2P1P3/1P5Q/PB3PPP/3RR1K1 w - - 0 1",
"2r2rk1/1bqnbpp1/1p1ppn1p/pP6/N1P1P3/P2B1N1P/1B2QPP1/R2R2K1 b - - 0 1",
"r1bqk2r/pp2bppp/2p5/3pP3/P2Q1P2/2N1B3/1PP3PP/R4RK1 b kq - 0 1",
"r2qnrnk/p2b2b1/1p1p2pp/2pPpp2/1PP1P3/PRNBB3/3QNPPP/5RK1 w - - 0 1",
]
solutions = ["Qd1+","d5","f5","e6","a4","g6","Nf6","f5","f5","Ne5","f4","Bf5","b4",
             "Qd2 Qe1","Qxg7+","Ne4","h5","Nb3","Rxe4","g4","Nh6","Bxe4","f6","f4"]

How will you/everyone benefit from this feature?

This feature will help everyone to get the best move in a position

Create template architecture for this project

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines TODO-LINK-TO-CONTRIBUTORS-GUILD
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it'll be great to:

  • Have the full project architecture diagram
  • Have all the required folders and files(files can be empty TODOs)

Is your feature request related to a problem? Please describe it

I want to contribute to this project, but there is no guidance on how to do this.

Additional context

An example from Leela
image

How will you/everyone benefit from this feature?

This feature will help people contribute easily to this project

[FEATURE]: Raccoon BOT

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice to have a chess bot running raccoon on popular chess sites. I want to join Lichess Bot club and compete

Is your feature request related to a problem? Please describe it

I want to play against raccoon on Lichess or chess.com but I cannot find the BOT

Additional context

How will you/everyone benefit from this feature?

This feature will give people who only have access to lichess to be able to play raccoon

Add ways to financially contribute

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice to be able to contribute to this Project besides coding. I need ways to financially sponsor this project

Is your feature request related to a problem? Please describe it

I don't know how to code but I want to support this project and/or other the GitHub open source community

Additional context

checkout contributing view:

How will you/everyone benefit from this feature?

This feature will fund the development process of this project, speeding up delivery times and making our chess ecosystem the best in the galaxy

SetUp CI/CD workflow

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

Since this is an open-source repo, it is imperative we have checks on PRs. These checks should ensure:

  • unit test passes. I.e run jest
  • run coverage
  • run a malware scan
  • check linting
  • check for security vulnerability
  • forbidden word checker

Is your feature request related to a problem? Please describe it

I want to prevent people from merging into this repo if their PR does not meet our standards/security checks

Additional context

see the following link:

How will you/everyone benefit from this feature?

This feature will ensure this project is free from vulnerabilities.

[FEATURE]:NNUE and NN support

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice if rc0 is sully implemented which will make raccoon chess stronger

Is your feature request related to a problem? Please describe it

I want to be able to provide rc0 with weights files and allow it to evaluate position from those loads

Additional context

See the following:

How will you/everyone benefit from this feature?

This feature will make rc0 the strongest chess engine written purely in TypeScript

[FEATURE]: Support other chess Variants

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I think it would be nice to be able to play other chess variants. The following should be supported:

Is your feature request related to a problem? Please describe it

I wanted to play Craze house but the engine seems to only now standard chess rules

Additional context

Please see how it was handled in chessops. Also see how top engines handle variation, especially chess960

How will you/everyone benefit from this feature?

This feature will help raccoon to conquer aliens that plays other chess formats

[FEATURE]: Performance improvement on Move Generation

Checklist

  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • I have read the contribution guidelines
  • This issue contains only one feature request. I will open one issue for every feature I want to request.

Describe the feature you want

I want the move generation function to improve in performance

Is your feature request related to a problem? Please describe it

I wanted to write a search algorithm but the move generation function is taking too much time.

Additional context

Please see:

How will you/everyone benefit from this feature?

This feature will make raccoon very fast

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.