Stuart Spence Blog

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

Wed 15 July 2020

Release 1.9: Convenient Buttons and Bugfixes

Posted by Stuart Spence in ChessCraft   

This small update is all about convenience features and bugfixes.

  • Fixed a bug where the AI thinks a very long time then makes illegal moves.
  • Undo button in the board editor.
  • Drag release drift.
  • Swap button for white/black when placing pieces in the board editor.
  • New piece abilities: move 3 or 4 forward in the first move.
  • German and Portuguese translation improvements.
  • Improvements to Picasso, the random board generator.

1.9.0 will be available to the open beta testers within the next day or so, and everyone else a week later.

Special Thanks!

Once again I'm very thankful to our small ChessCraft community! I must thank:

  • Matthias 'Balox' Körner
  • Luís Augusto Carvalho

- for volunteering to fully and thoroughly edit the German and Portuguese translations! This includes 500 different pieces of text. Some are several sentences long.

Please forgive my cultural ignorance for thinking Portuguese in Portugal and Brazil are identical! Oops. Partly I blame the game making tool I use called Unity3D. Internally there is only one language code for "Portuguese". So I stopped using Unity's system to detect and categorize my languages and started fully using the ISO standard instead. The custom way Unity categorizes languages internally is, frankly, a red flag regarding the tool's overall software quality. There is already an existing international standard for languages...

That's 5 languages now that have been volunteer proofread. I'm very grateful and frankly, surprised.

I'm still using Google translate as I add one or two new text items here and there. However I'm keeping track of what has been proofread in case anyone wants to help again.

Wacky Bug

Several of you noticed a very wacky bug. Thanks u-ndefined for the bug video! Sometimes a computer who is supposed to think for 1 second, will appear to think for 10 seconds, and then move your piece. Funny, but very bad.

Who ever said omniscience is not omnipotence?

I believe I fixed it, however it was hard to reproduce despite the detailed steps I got from everyone. What was happening? Well, when the AI analyses the board "for the first time" it builds many shortcuts in memory for how to think about this new board. In some circumstances the unique number it assigns to each piece type was changing, but it should not. This caused a number of code crashes in different places, which caused a lot of undefined and quite weird behaviour.

ChessCraft tries to handle code crashes gracefully. One way is to play a random move if the AI code crashes. Unfortunately, the random move was often corrupt too! I heard some crazy stuff. My favourite was the computer using your own piece to capture the computer's king.

This was introduced by a separate bugfix in 1.8.

Next..?

Let me know what features you'd like next. I have plenty of ideas - tho I prioritize requests if lots of people ask.

Thanks so much for reading!

white griffin sprite