Serene Sudoku v0.4.0


Update

The URL gave it away, but this update changed a lot!

  • We changed the name! Godoku was a fun goof, but Serene Sudoku is closer to the experience we want to convey.
  • Updated UI, including splash screen, icon, and sprites. Not to mention a number of text changes for the new title.
  • Added achievements! The hidden achievements aren't live yet, so don't drive yourself crazy trying to unlock them
  • Added achievement notifications
  • Encrypted save files
  • Additional sound effects
  • Changed error messages to notification style, allowing us to unify the UI code with the achievement notifications. This replaces the older System Alert style messages.
  • Adds an Extras menu. There wasn't room for an achievements button, so we had to *make* room!

Godot Dev

Once again, this update took longer than expected. Which is a recurring theme in game dev! Many of the features above required extensive reworking of backend systems.

For example:

  1. We want to store achievements, and the obvious solution in Godot documentation is Resource files
  2. But Resource files are vulnerable to code injection, meaning if someone sends you a save file to unlock achievements for you, they could put arbitrary malicious code in it!
  3. So we had to design our own save and encrypting system from scratch
  4. But the FileAccess.store_var method doesn't automatically store the children of an object!
  5. Ah, but FileAccess.store_var(object, true) will store full objects
  6. But now FileAccess.store_var stores the *entire* object, including its script
  7. So when you load an object with FileAccess.get_var, it thinks you have to copies of the same script and throws an error for defining the same class twice
  8. Etc.

The short versions of some other big changes:

  • Updated to the newest version of Simple Gui Transition addon, to take advantage of some streamlining added by MurikiStudio.
  • Refactored the modal pop-up menu system to support achievement notifications as well as the updated library.
  • After the refactor, we had to *re-fix* the modal transition stuttering and state locking when they get out of sync with the transition.
  • Designed an achievement system from scratch. The addons Chief Mints and Godot Paradise Achievements are both great, but testing them in our sandbox revealed it would've taken more work to make them fit than writing our own system.
  • We packed our achievement system and save encryption system into their own addons, to make them easier to reuse.

The verdict this week is that Godot is a flexible engine, with great improvements year after year, but there are still a lot of basic utilities that are either poorly documented or not quite what you'd expect them to be.

Also, it turns out the Itch.io will automatically forward links to a new project name from the old URLs! That's pretty handy.

Files

SereneSudoku_0.4.0.zip 47 MB
71 days ago

Get Serene Sudoku

Leave a comment

Log in with itch.io to leave a comment.