Ambermoon is a 1993 video game by Thalion Software which was released for the Amiga.
It was one of the first games I've ever played and has kept a sweet spot in my heart ever since. It's an RPG where you start out as an InsertNameHere adventurer and recruit companions as you explore the game world, à la Baldur's Gate or Fallout. When I played it as a kid, it always bugged me that I couldn't change my party members' classes, names, or faces, and was instead at the mercy of what pre-defined characters already existed. Well, one day I poked around my savegames in a hex editor and realized that I could totally change these things.
Long story short, I created an online savegame editor .
PHP loads a painstakingly-made XML file that describes the individual structure of the various savegame files.
My editor then uses DOM magic to transform this information into easily-accessible objects, up to a ratio of "1 object per 1 bit of save data".
Either a default "new game" save state is loaded, or a state previously saved by the user.
Both the editor (generated using XSLT ) and any requested file downloads are then transferred via my implementation of some usual HTTP goodstuff: Content-Encoding , Transfer-Encoding , Ranged Requests , and others.
HTML to display the (massive) editor.
CSS to make it look like the original game; Image-Rendering "pixelated" in particular is a godsend.
Also cool new stuff like Flexible Box Layout .
Well, I did say it was massive.
Items can be changed via an HTML 5.1 context menu .
For comparison, this is what the original game looked like.