Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Checkmate Hero (Pico-8 Chess)

A topic by Krystman created Apr 22, 2018 Views: 982 Replies: 7
Viewing posts 1 to 8

Pico-8 doesn't seem to have a full-fledged classic Chess. There are various Chess projects around but they seem to be "virtual chessboards". So they are typically 2-player chess free-for-all where you can move the pieces however you want.  So I thought I make a proper Chess implementation for casual chess players. How hard can it be?

This is an old project that I revived for the Chess Jam.

Intended Feature Set

  • Full implementation of Chess rules. Not just a "virtual chessboard"
  • Actual chess AI. Full-on minmax with Alpha/Beta pruning and some other optimizations
  • 2-player mode
  • Cute but readable Pixelart
  • Juicy animations and sounds. Solid player feedback

Nice-to-have features that I will implement if I have tokens left.

  • Achievements
  • A cute portrait for the AI with facial expression that reacts to your moves
  • Mutiple AI difficulties
  • Different chess variants - Chess960 or Really Bad Chess

At this point I'm confident I will make the deadline as the game is already playable. Here are some progress GIFs

Game already recognizes Checks, Mates and Stalemates.

Castling and En Passant works!

Update: Added pawn promotion. Need to still add some neat animation. But just over 1000 tokens left *sweats*

The chess mechanics are implemented. Except from the two type of draws. They are very rare so I consider them low priority at this point. Instead I'm now cleaning up the code and improving the rudimentary AI I had in place.

I generally prefer spending the tokens on features that make the game feel more friendly and responsive because the AI probably will never win any tournaments. So for example, while the AI is calculating the best move, it will move the cursor to the most promising piece it currently considers. It makes the waiting time seem shorter but also provides some insight into the AIs "thinking" process.

Looks great :D Nice job!

Update: The AI seems wrapped up. Managed to get:

  • Alpha/Beta Pruning
  • Basic move ordering
  • Incremental Deepening
  • Principal Variation
  • Quiescence search

Which is a LOT more than I thought I would manage. Will spend tomorrow trying to save every token I can and investing them in UI / Quality of Life features. I still hope can get enough tokens to implement Chess960 or Really Bad Chess Variants. This would require some work on the castling algorithm.

I could not stop myself from doing a nice board setup animation.

Amazing, what a polished-looking game! Did you implement the two obscure forms of draw? The 50-move rule should be pretty easy to implement, just a counter that increments every time there's a move, and resets if there's a capture or pawn move. Three-fold repetition is probably harder though.

Thanks! <3

I've implemented the 50-Move Rule. I did not implement the threefold repetition. I did implement a hash system that would allow me to pull it off. But with just a few hundred tokens left, I think the game would benefit more from additional GUI features rather than that rare edge case.

Game Released! Let me know if you find any issues. Note that I re-named it to "Pico Checkmate".