Close to the second option. When subtracting the exp from the local version, also manually subtract it from the cloud.
This isn’t technically the most robust way to do it, but it’s simple and Good Enough for the mast vajority of situations.
Oo color coding isn't something I had considered, but is possible due to the standardized way that Korean words work. I do think that there's currently not enough to make it clear how to distinguish between the 6 major tenses, so that's one option I could consider.
Oh you may enjoy this funny anecdote I posted on the Discord.
So, to decide between whether to load the cloud version, the game checks the total experience of the local version and the cloud version
Sensible enough, right? Keep the one with more total experience.
Well sometimes, I make changes to the list of words.
When the game loads a file, it then throws away the exp on the words from the list which no longer exist
This led to a loop
1. The local version has less exp than the cloud, so it loads the cloud version
2. It scraps the obsolete words from the local version and subtracts their associated EXP
3. The local EXP is now technically lower than the cloud EXP
4. Repeat step 1
An endless loop of loading, saving, reloading, saving, reloading...
Thank you for the support! That was definitely an impetus for making the game. I found I was learning Korean most effectively from an app game called Korean Dungeon which bears many similarities to this one. But 200 words in, I realized... that there were no verbs ! It was one of the biggest factors in deciding to just go "Fine, I'll do it myself."
Thanks for the helpful feedback!
I think I can get the listening-only or reading-only modes ready, as those are easy to implement with my current code base. Reverse mode could definitely be good, I’ll have to best think of the implementation since it would require 1,000 English voice clips which is easy to generate and my code would have to be modified in a couple places.
Future edit: I've held off on implementing these features until I finish my own game, so I can finish studying Korean before spending more hours just programming.
Can definitely tweak the other two aspects. By leveling up, do you mean how quickly a word is mastered, or how often new words are added to the bank?