Giter Club home page Giter Club logo

ches's People

Contributors

neongreen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ches's Issues

Challenges: allow keeping track of piece identity

Would allow us to implement things like

  • Chess, but Edward switches sides. Your opponent's Edward is indestructible and is given way to promotion. The game continues on otherwise.

  • Chess, but the enemy queen is an evil witch. She has cast a curse upon your army! While the enemy queen is still alive, only pawns and bishops can move. Defeating her frees the other pieces from their immobility. // (unclear if a newly promoted queen should have the witch power, but can playtest both)

[Bug?] Different results when doing an "unrestricted challenge" vs just always doing the search

See golden-games.ts. For whatever reason the generated games are slightly different compared to just always using 'search.findBestMove'.

I spent an hour (?) investigating and I have no idea why. It'd be nice to walk through 'findBestMove' with the debugger. Maybe it's due to the transposition table?

Update: possibly because when we reach depth=0 in the search, we don't actually detect draws/checkmate, we just use leaf eval - but evaluateBoard does do detection at depth=0, which is an inconsistency.

Update 2: I tried changing evaluateBoard to use leaf eval, but it just got worse.

Playing via GUI disagrees with a golden game

golden-games/1515dfc7-4ed7-444d-a8cb-ac6b35e699bd/depth-4.txt

1. a4 -0.18
... Nc6 +0.02
2. c3 -0.19
... Na5 +0.21
3. d3 -0.18
... e6 +0.22
4. b4 -0.34
... Nc6 +0.86
5. b5 -0.33
... Na5 +0.86
6. e4 -1.14
... a6 +0.07
7. bxa6 -0.35
... Rxa6 +0.85
8. d4 -1.16
... Rb6 +0.86

But the game plays Rc6.

[Bug?] Black is too willing to agree to a draw

golden-games/1515dfc7-4ed7-444d-a8cb-ac6b35e699bd/depth-4.txt:

19. Ke1 -8.91
... Qf2 -7.11
20. Kd2 -7.11
... Qe3 -7.11
21. Ke1 -7.11
... Qf2 -7.11
22. Kd2 0.00
1/2-1/2 0.00

Black is unencumbered here. Why does he make a move that allows a draw? Alternatively, why is eval for 21... determined to be -7.11? At depth=4 it should see that white can draw on the next move.

Generate golden games in PGN format

Games for "play on the same file" surprisingly end in a draw even at depth 4. I'd like to see PGNs for them so that I can follow them in a chess GUI.

Challenges: allow keeping track of some custom state

Would let us easily implement things like:

  • https://discord.com/channels/866701779155419206/884667730891010048/1122440838719479808 -- "Chess, but all of your pieces (and pawns) are vampires. Anytime one of your pieces (or pawns) has a direct line of sight past your opponent’s edge of the board, they are hit by sunlight and turn to ash."

  • Andrey's challenge (every two moves you unlock a new piece and you can only use previously unlocked pieces)

  • Chess, but your first piece (or pawn) moved cannot die, your second piece (or pawn) moved is your only piece (or pawn) that can capture pieces, and your third piece (or pawn) moved must deliver the checkmate. (also needs #7)

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.