- Notifications
You must be signed in to change notification settings - Fork0
A fairy chess game for Emacs
License
bcardoso/shoggy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
__ _____/ /_ ____ ____ _____ ___ __ / ___/ __ \/ __ \/ __ `/ __ `/ / / / (__ ) / / / /_/ / /_/ / /_/ / /_/ //____/_/ /_/\____/\__, /\__, /\__, / /____//____//____/
shoggy
is a 6x6 board, fairy chess variant with spell cards, written in Emacs Lisp.
shoggy
was developed during theSpring Lisp Game Jam 2024.
- GNU Emacs 29.3 with SVG support (probably runs on older versions too)
- There are no third-party packages required.
;; Manual install;; clone this repo:;; git clone https://github.com/bcardoso/shoggy(add-to-list'load-path"/path/to/shoggy")(require'shoggy);; With use-package + straight.el(use-package shoggy:straight (shoggy:host github:repo"bcardoso/shoggy":files (:defaults"images""sounds"):build (:not compile)));; compiler won't be happy
M-x shoggy RET
You can adjust and toggle some game options in the main screen.
- No checks, no castling: when the
Sage
is captured, the game ends! - Noen passant: pawns can move one or two squares in their first move (you can toggle this behavior), and that’s it.
- When a player is out of moves, it’s game over.
- In each turn, you can either move a piece or cast a spell: you are given a spell card after every capture.
- You can’t hold more than 3 cards at a time: cards are randomly discarded if your hand is full.
- All else is pretty much chess.
shoggy
has standard andnon-standard pieces:
Name | Atom | Range | Value | Description |
---|---|---|---|---|
Pawn | P | 1 or 2 | 1 | A pawn |
Ferz | F | 1 | 2 | Advisor, like a 1 square bishop |
Wazir | W | 1 | 2 | Like a Rook, also moves 1 square |
Knight | N | 2,1 | 3 | 2,1 Leaper |
Rook | R | board | 5 | Same as a Rook |
Sage | S | 1 | 99 | Like a King, but wiser |
After each capture of an enemy’s piece, you earn a spell card. In your turn, you can either move a piece or cast a spell.
There are three types of spells (for now):
Spell | Description |
---|---|
BOOST | Boost a piece’s range (applies to Ferz or Wazir) |
PROMOTE | Promote a piece (Pawn -> Ferz/Wazir -> Knight -> Rook) |
DEMOTE | Demote anenemy piece (Rook -> Knight -> Ferz/Wazir -> Pawn) |
shoggy
has two engines to play against:dumbfish
andsanefish
.
- dumbfish
- tries to capture pieces or makes random moves
- sanefish
- tries to be a more reasonable fish (the default)
shoggy
was loosely inspired byShogi, a Japanese chess variant (which you can play online athttps://lishogi.org/).
At first I was planning to make aMinichess/Los Alamos chess variant, but I soon started to deviate into other directions.
I also had this idea a long time ago about adding playing cards into the game of chess. Perhaps in the future I’ll add some more spell cards toshoggy
. Also, check outKnightmare Chess, which I discovered during my research of the Game Jam.
So there are hundreds of chess variants and fairy chess pieces out there. This is my own :)
- List of chess variants
- Shogi variants
- Fairy chess piece
- List of fairy chess pieces
- Chess Programming Wiki
I’m thankful to the creators mentioned below for sharing their work under free and open-source licences.
- Piece art:Pixel Chess Pieces by Lucas312 (CC3.0)
- Splash screen:button select.wav by MakoFox (CC3.0)
- Board start:Board Start.mp3 by el_boss (CC0)
- Piece move:chess_move_on_alabaster.wav by mh2o (CC0)
- Piece capture:Piece Placement.mp3 by el_boss (CC0)
- Boost spell:Dialogue box.wav by MakoFox (CC3.0)
- Promote/Demote:Puzzle piece placed on board by el_boss (CC0)
- Card vanish:Shuffle cards by Breviceps (CC0)
- Game end:chess-piece-bounce.ogg by pbimal (CC0)