Play chess in your terminal

Gambit

Chess board in your terminal.


Terminal chess


Warning

gambit does not have many features at the moment. I plan on adding a chess engine, mouse support, timers, networked play, game replays, etc...

Move

Suppose you want to open as white with Pawn E4. You will first select the square with the piece you want to move by typing E2, then type the square of the desired end position E4.

Just like a real chess board, gambit currently supports illegal moves. This will likely change in the future.

Players

gambit supports local and networked play. You can play a local game by running gambit and moving the pieces. You can flip the board by pressing ctrl+f to allow the second player to go.

For networked play (not available yet), both players can run gambit unique-room-id, this will connect both players to a shared room in which both can take turns making moves.

Comments
  • Networked play over ssh

    Networked play over ssh

    Hi Maas,

    This is still wip networked play using ssh and wish 😃 it still needs some brushing up and more testing but so far it looks good. Lmk what you think.

    You can start the server by running gambit serve. By default, it runs on port 53531, generates an ed25519 key at the root directory gambit_ed25519, and binds to localhost.

  • Docker, workflows, and docs

    Docker, workflows, and docs

    • Add Docker builds (hosted at ghcr.io/maaslalani/gambit)
    • Use Goreleaser for releases (pushing a new tag will trigger the release workflow)
    • Add license and update readme
    • Add version info cli argument
  • [Feature request] Publish binaries, brew packages, deb and rpm packages :-)

    [Feature request] Publish binaries, brew packages, deb and rpm packages :-)

    This will make is cool chess game highly accessible for everyone :-)

    I use goreleaser for all my go projects to acheive the same

    https://goreleaser.com/

    Example repo (my repo): https://github.com/kishaningithub/shopify-csv-download/releases

    Let me know if you are fine with this, i can work on a PR for the same :-)

  • update README.md

    update README.md

    When copying and pasting into the terminal from the README, it doesn't work.

    git clone github.com/maaslalani/gambit
    

    The new fix is by adding https:// and that works.

  • Board is misaligned in ChromeOS Terminal

    Board is misaligned in ChromeOS Terminal

    Please see images below: image

    image

    I think this is actually two separate issues. For the more obvious one, causing the 'white' pawns to be off of the board: I believe this is due to selective emoji support in the terminal. Some glyphs are printed as, well, glyphs, and others as emojis.

    I am not sure how to fix this just yet.

    However, the glyph-only rows are also uneven with the rest of the board.

    Can we add a command to adjust the whitespace length or something to fix the rendering? (i.e. the user types the spacebar and the width of all squares increase except for those containing a piece).

    Sorry, I am just brainstorming here a bit, hopefully this isn't spam.

A cli to play chess against an an UCI engine of your choice, written in go
A cli to play chess against an an UCI engine of your choice, written in go

chess-cli chess-cli is a cli for playing chess against an UCI compatible engine written in go Note: Chess pieces are in unicode, so the color may seem

Mar 1, 2022
A cli to play chess against an an UCI engine of your choice, written in go
A cli to play chess against an an UCI engine of your choice, written in go

chess-cli chess-cli is a cli for playing chess against an UCI compatible engine written in go Note: Chess pieces are in unicode, so the color may seem

Dec 24, 2021
Chesscode - a way of encoding messages using a chess board and the starting set of chess pieces
Chesscode - a way of encoding messages using a chess board and the starting set of chess pieces

chesscode Are you a spy that needs to leave an urgent top secret message for an

Jan 3, 2023
Chesscode - Chesscode: a way of encoding messages using a chess board and the starting set of chess pieces
Chesscode - Chesscode: a way of encoding messages using a chess board and the starting set of chess pieces

chesscode Are you a spy that needs to leave an urgent top secret message for an

Jan 1, 2022
Play chess with Go, HTML5, WebSockets and random strangers!

ChessBuddy Play chess with Go, HTML5, WebSockets and random strangers! Demo: http://chess.tux21b.org:8000/ Hint: Open the page in two different tabs,

Nov 10, 2022
A terminal Snake game that supports multiple players to play together online.
A terminal Snake game that supports multiple players to play together online.

GoSnake A Snake game that supports multiple players to play together online. The game is written in go language and does not use other third-party lib

Jun 25, 2022
A chess engine written in golang
A chess engine written in golang

Weasel Art graciously provided by Alex Table of Contents: About Installing and Compiling from Source Contributing License About Weasel is an 0x88 and

Dec 30, 2022
Currently in beta testing. A chess engine written in golang
Currently in beta testing. A chess engine written in golang

Weasel Art graciously provided by Alex Table of Contents: About Installing and Compiling from Source Contributing License About Weasel is an 0x88 and

Dec 30, 2022
chess package for go
chess package for go

chess Introduction chess is a set of go packages which provide common chess utilities such as move generation, turn management, checkmate detection, P

Dec 26, 2022
A chess GUI build using the Fyne toolkit.
A chess GUI build using the Fyne toolkit.

Chess The subject of my current live stream series. A simple chess UI built with Fyne. Thanks to: Chess Go library by Logan Spears github.com/notnil/c

Dec 20, 2022
Blunder is an open-source UCI compatible chess engine.

A UCI compatible chess engine written in Golang

Dec 30, 2022
A small go program that solves the Queen's Gambit chess puzzle.

Queen's Gambit Solver This program attempts to solve the Queen's Gambit each time it is run. The Queen's Gambit is a chess-based puzzle where eight qu

Jun 27, 2022
A simple chess engine for experiment, made in Golang

chess-engine A simple chess engine for experiment, made in Golang Build the engine Run the command make or make build Run the engine Run the command f

Dec 26, 2021
chess.com api wrapper for go

Chessdotcom-go An unofficial, simple, lighweight API wrapper for chess.com written in go Usage go get -u "github.com/ATTron/chessdotcom-go" im

Dec 31, 2021
A chess server built with Temporal.
A chess server built with Temporal.

chesstempo A chess server built with Temporal. Dependencies The activity worker runs Stockfish in the background. In Debian-based distros, you can ins

Nov 21, 2022
lets play a game

Flashbots is a research and development organization formed to mitigate the negative externalities and existential risks posed by miner-extractable value (MEV) to smart-contract blockchains.

Jul 9, 2021
Golang RISC-V emulator that can play DOOM
Golang RISC-V emulator that can play DOOM

RISC-V Emulator A toy Golang RISC-V emulator that can play DOOM For now it uses smunaut bootloader and riscv_doom from the ICE40 project. But since th

Dec 12, 2022
Awesome 2D Maze-based games to play with kids in family and with friends on rich console UI. developed into Go.
Awesome 2D Maze-based games to play with kids in family and with friends on rich console UI. developed into Go.

gomazes Have fun time with kids and family and friends at playing awesome 2D maze-based games while feeling like a programmer on the computer console/

Dec 23, 2021
Vote, play, and chill.

GoDiscordBot Template GoDiscordBot is a Discord bot template repository that helps you quickly get started builing a Discord bot in go. Get GoDiscordB

Jan 17, 2022