Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Spell Chess #736

Open
M-DinhHoangViet opened this issue Oct 8, 2023 · 1 comment
Open

Support Spell Chess #736

M-DinhHoangViet opened this issue Oct 8, 2023 · 1 comment
Labels
enhancement New feature or request variant Support for additional variant requested

Comments

@M-DinhHoangViet
Copy link

New variant on Chess.com: https://www.chess.com/variants/spell-chess

@ianfab ianfab added enhancement New feature or request variant Support for additional variant requested labels Oct 9, 2023
@RainRat
Copy link
Contributor

RainRat commented Apr 24, 2024

I did some thinking about Spell Chess and what the blockers are:

  1. Drops need to be able to be placed on occupied squares.
    It appears that under the hood, chess.com is also doing potions as drops, with log entries like "freeze@e4"

  2. Flexible drop order. Need to be able to drop, then move.

  3. Potions as a predefined piece that is put in pocket, and can be "dropped", but will not actually be placed on board.

[spell-chess]
freezePotion = f
jumpPotion = j
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR[JJFFFFFjjfffff] w KQkq - 0 1
  1. Since potion zones can overlap, 4 additional bitboards for potion zones

  2. Potion effect expiry. Doesn't need additional variable beyond bitboard. At end of your turn, zero potion zone bitboards that are not yours.

  3. Potion cooldown. Four (2 potions * 2 players) additional variables.

  4. Freeze potion effect. Remove any moves originating from freeze bitboards, from legal move list.

  5. Jump potion effect. Remove jump square from occupied bitboard, then calculate legal moves? Be sure to remove self-captures from list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request variant Support for additional variant requested
Projects
None yet
Development

No branches or pull requests

3 participants