9 years after buying #FinalFantasy8 on Steam for a no-levelling run, I've loaded up my old saves to finish the achievements. One of them is "get to level 100 in #ChocoboWorld", which was a Tamagotchi-style game that integrated with the main game.

This evening I looked back at the #FlipperZero ecosystem, and discovered that four months after I considered writing Rust tooling to build Flipper apps, someone else has done so!

Time to write a Chocobo World app for Flipper Zero 😁

#FinalFantasy

Fun things I've encountered so far:
- The Flipper Zero's low-level SDK is really nice to use! Fortunately though the Rust toolchain has WIP high-level wrappers for both the GUI and filesystem access.
- The save game is compressed with a slightly modified version of LZSS which is only documented in a text file from 2003 that I recovered via the Wayback Machine.
- The encoding format appears to directly use 4-bit nibbles as decimal digits; I'm guessing this was to make hex editing the data easier.

...

#ChocoboWorld had a Versus Battle mode over #infrared...

#FlipperZero has an infrared transceiver...

😈

Initial demo! Save game parsing is working sufficiently well to populate the menu screens. No pixel art yet though 😅

#FlipperZero #ChocoboWorld #FinalFantasy #FinalFantasy8 #rust #rustlang #tamagotchi