itch.io is community of indie game creators and players

Devlogs

Version 1.40 - Saving Efficiency Upgrade

Master 1000: Korean Words
A browser game made in HTML5

I've made the saving system more efficient.

Previously, there were instances in the code where multiple saves could occur at once, such as when a right answer overlapped with a mastered word which overlapped with new words being added to the bank.

Further, every time the game did a regular save (upon getting a word correct), it would do a full save of everything.

It has been fine for now, but as I've reached Master 700 however, the strain of this excessive saving is becoming too much on poor Firestore. 

Thus, I've implemented two major improvements to the saving mechanics:

1. There are now different types of saving: partial saves, full saves, and word bank expansion saves. Each only packages a certain set of data when it saves, rather than always saving all the data.

2. I've adjusted the logic of the code and added an internal flag that makes sure that if two saves are set to trigger in a row, only the latter one takes effect

The net result is a significant reduction in stuttering at higher mastery counts due to saving. Also I received feedback that the white particles for adding more words was a bit much, so I toned that down, which is another performance improvement.

I've also been in contact with the author of the Firebase plugin that is used by Godot (who is just so incredibly kind, I really have appreciated their assistance!) and they're looking to implement a way to send an update request for only a specific key in a dictionary, which would make it possible to maximize the efficiency of the saving. No ETA on that, but I think the current set of save improvements will do the trick for now.

As always, thanks for the support!

Files

  • Master 1000 Executable.zip 43 MB
    64 days ago
  • Master 1000 HTML5.zip 33 MB
    64 days ago
Download Master 1000: Korean Words
Leave a comment