Stuart Spence Blog

Computer scientist and educator. Creator of ChessCraft. Senior computer scientist at Environment Canada.

Sat 28 January 2023

Release 1.14: Popular designs, acrobats, and online backups

Posted by Stuart Spence in ChessCraft   

I've just released version 1.14.0 on Google Play and Steam. It should be available very soon on Steam, and a few days from now on Google Play.

What's new in 1.14:

  • View the top boards and pieces this week, month, year, etc.
  • Backup and restore progress online.
  • Identify design shows movement diagrams.
  • Three new piece rules.
  • New obelisk end-game!
  • Adventure map animations.
  • Wide screen in Windows and Linux (Steam).
  • Big backend upgrades (Unity, SDK, Linux)
  • Tile coordinate text.
  • Many bug fixes.

I fixed a bug first discovered 3 years and 9 months ago!

Popular

You can now see a live view of the most popular boards and designs!

Getting my database to do that calculation was interesting. Rolling sums of different time ranges, discarded as they expire. I hope the algorithm and caching holds up to traffic and abuse.

Progress Backup

All your progress, gems, gates, and designs (if shared online) can now be easily backed up online. Another device can later restore from that backup.

I've been suffering greatly without this. Testing new releases on my phone means I constantly wipe my progress. So I've never gotten far in the ChessCraft adventure map! Shame on me. Now maybe I can finally beat the game properly.

Identify Diagrams

Thank goodness. We no longer must rely on people's spotty text descriptions of how pieces move.

chesscraft screenshot

Acrobats, Sleepers, Vagabonds

chesscraft screenshot

Obelisk Endgame

Finally, the adventure map has a sort of end game and celebration.

If you've beaten all levels on the map at some minimum difficulty, you might find a glowing obelisk...

chesscraft screenshot

Yep, this image for the adventure map was generated by Stable Diffusion. Expect more!

Furthermore, as you make progress on the map, the landscape changes a bit. Inspired by Super Mario World (SNES)!

Wide Screen

Behold! Finally, the Windows and Linux versions on Steam are wide screen landscape, and not portrait.

chesscraft screenshot

Upgrades

This is a bit technical but worth mentioning: my backend was forced to undergo some big and painful upgrades:

  • Unity 2021 to 2023.1.0b
  • Android API 29 to 31
  • Android NDK 19 to 23
  • MongoDB 2 to 4
  • Ubuntu 1604 to 2004

I was dreading all this work for a long time, and putting it off. Eventually, Google forced my hand. Upgrade or perish! Okay.

Now that it's over I can think about funner and more interesting ChessCraft improvements.

Communication

My apologies if I never reply to you. I try to skim all reviews and correspondence but after five years, it's starting to become too much. As I mentioned in my 2023 year in review I need to pay for a community manager. If that interests you let me know.

I don't want to be a community manager. I like programming!

ChatGPT

Have you heard of the incredible new AI yet, ChatGPT? I wrote about it here. For ChessCraft though, I asked it to review my ChessCraft web server configuration files (nginx and uwsgi). It made specific suggestions for improvements, and I asked it to explain them, and it did. Incredible! A year ago I tried putting a contract online for 100$ for a senior network engineer to give me 30 minutes of their time. I didn't get anyone qualified enough to bother.

chesscraft screenshot chesscraft screenshot chesscraft screenshot

We live in the future! What a time to be alive.

Many other bug fixes and small improvements

For instance, you can now see tile coordinates (like H2) if you want.

Until next time...

Incredible that I'm still working on this project after five years. This would never have happened without such a great community. I'm still surprised that 2022 was the best year yet for ChessCraft. I think the game is aging very well. I wonder what will be the next big feature...

Thanks so much for reading!

white griffin sprite