Stuart Spence Blog

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

Thu 09 March 2023

Release 1.15: Folders! And eight new piece rules

Posted by Stuart Spence in ChessCraft   

I've just released version 1.15 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.15:

  • Folders in the crafting hub!
  • Filter by title or description text.
  • Eight new piece rules: acidic, blacksmith, bleeding heart, dancer, ferrophile, ghost, mimic, spy
  • Piece images: excalibur, kelpie, duke, censor, vampire.
  • Corrected author data in some old uploads.
  • All music added to the creative commons repository.
  • Many bug fixes and improvements.

Folders

You can now create, move, and rename folders in the crafting hub to sort all your pieces and designs however you like. Folders in folders. Delete a folder, and all its contents (recursively) are dumped in the root folder.

This turned out to be an interesting problem to implement. I started by using real folders on the Android/Linux/Windows filesystem and all the janky C# functions to do that. I didn't like that so I made my own simpler system inspired by Linux filesystems and inodes. Players won't know the difference.

Piece Rules

Say hello to: acidic, blacksmith, bleeding heart, dancer, ferrophile, ghost, mimic, and spy.

chesscraft screenshot

Community Contributions

Thanks to BananaBob and Wasted for the new sprites, sprite first drafts, or sprite ideas!

chesscraft screenshot chesscraft screenshot chesscraft screenshot chesscraft screenshot chesscraft screenshot

Also thanks to Jecho for the Indonesian translation help! I'm always very appreciative when people help make ChessCraft better for different countries and cultures.

If I forgot to thank you here, sorry. I really need a community manager.

Reported User Content

I made an admin dashboard for myself to review user generated content that crosses a threshold, meaning, when the number of vulgar reports outweighs how popular it is. I'm glad to announce that indeed, ChessCraft has a wonderfully positive community with very little spam and crap.

The dashboard is a nice upgrade for me, as I was using generic database tools before, like MongoDB Compass.

Guess the URL and guess the password and you too can view it.

Grafana

I solved a big problem with my monitoring metrics. Previously, half of my monitoring was nonsense because web server worker threads were tracking different metric counters but reporting them in the same place. Now it's much nicer!

chesscraft screenshot

Uptime Status

Okay, you got me. The past couple weeks have been a bit rough for web server stability. I have a full time job (not ChessCraft) and this is all me, so I do what I can. Recently:

  • web server and MongoDB configuration improvements, some suggested by the ChatGPT AI.
  • uWSGI configuration improvements from this excellent article.
  • a new uptime status page.
  • double the RAM of the web server.

It's an end of an era! Forevermore, ChessCraft will not be running on the absolute cheapest cloud instance. I really pushed that small web server as far as I could.

chesscraft screenshot

Restore Empty Authors

Few of you had noticed, but under some conditions, older versions of ChessCraft were ignoring your author name. So the uploaded boards and pieces had an "unknown" author.

I dug into my overly verbose web logs and reconstructed the history. Anyone that later uploaded a design with the fixed version (which gave me the information I needed) has had their old designs repaired.

I hardly had to do this since, as I said, few people noticed. But this data loss was nagging at me for too long. This is my project, and I get to fix what I want!

Creative Commons Music

Not sure how I missed this one, but the creative commons music used in ChessCraft was not yet in the creative commons repository. As requested, there it is.

I included the full versions of all songs, instead of the shortened ones in ChessCraft. They were shortened to limit the mobile app download size.

Hiring!

ChessCraft is hiring! Honestly I don't expect to fill the C# Computer Scientist position, but I thought I'd ask. However I really need that community manager.

Many other bug fixes and small improvements

For instance, doing a simultaneous promotion and capture during an online game would crash the game. Oops! Not anymore.

The rare but nefarious "Sorry! There was a problem with the computer opponent" crash still eludes me, sorry about that.

Until next time...

I have four big ideas. Some for this year:

  1. My most popular feature request of all time. Can you guess what that might be?
  2. A very ambitious feature nobody has asked for but will be incredible.
  3. Release on a new platform.
  4. AI improvements.

I wonder which will be my focus for 1.16...

Thanks so much for reading!

white griffin sprite