Phantasie III came out in 1987, and for me it became the game. I loved the combat, the party I built piece by piece, and the feeling of a world held together by systems I could almost see the shape of. For nearly forty years I wondered how it really worked. This project is what happened when I finally had the tools to look inside.
Under the game sits an engine that was inventive for its time, and I wanted to see whether it could be used to tell new stories. The aim was never only to copy it. It was to understand it well enough to rebuild it from the inside, and then, free of the limits of a 1987 floppy disk, to open it up for new quests and new stories. You can only build on what you understand, so the work so far has been one long effort to understand it.
The sound
For a year the sound would not give way. The difficulty was the machine itself. The Amiga's sound chip, Paula, plays its sounds from a special part of memory, and the sounds the game makes only exist there while it is running. We could read the music and the sound effects in the program, but not the sounds themselves.
To hear exactly what the chip played, you have to stop the machine in the middle of a note and look into its memory. That needs an Amiga emulator you can control step by step, and a year earlier, on a Mac, there was none to hand. It was a missing tool, not a missing idea.
Then a way appeared, an emulator on Windows that could be told to stop the moment the sound chip started a note, and to save what was in its memory. The first time a sound came out of the running chip that way, much of what had been stuck for a year came loose in an afternoon.
Today every sound and both songs are played the way the game itself plays them. Its own instructions, read from the original program and checked against it step by step, feed a small model of the chip, with the stereo as the Amiga was wired, two channels to the left and two to the right.
How it was done
The same approach runs through every finding. We run the game's original 1987 code, unchanged, a small piece at a time, and watch what it does. Something counts as found only when it has been read in the code and then seen to happen. Where it matters, the game is started from its own disk in the emulator and watched on screen. Every finding ends with how far its proof goes, and where something is our interpretation, it says so.
The game now runs again in a browser as it did in 1987, with a separate modern take beside it. The reading was done with Claude, an AI model, working through the program with me. The ear, the eye and the memories of 1987 are mine.
The work this stands on
I am not the first to look inside the Phantasie games, and this project leans on people who did it before me.
Kroah's Game Reverse Engineering Page has taken the series apart for years. His world maps show all four maps of Phantasie III, and they settled a question for me early on. The Plane of Light and the Plane of Dark are real maps you walk, and the ones I decoded match his. His Sprite Viewer reads the game's pictures and the sprites of all three games, and his Dungeon Viewer, from 2009, opens every dungeon of the series and runs its scripts with an explanation of each step. In an earlier version of this project, his Dungeon Viewer's source code was where I started with the dungeons. When I tested it against the game this year, his reading of the dungeon files agreed with mine on every map square, every event and every message of all eleven dungeons. In 2009 he had already noted two of the bugs in this collection, the trap that describes the wrong trap and the trap that would crash the game, long before I confirmed them by running the game's own code. What a viewer never sets out to do is play the dungeon. Walking one took the game's movement and event code, which I had to decode from the program myself.
James Jacobs's MCE, the Multi-game Character Editor, edits the saved games of more than a hundred Amiga games, Phantasie I and III among them, and it is open source. Its Phantasie III code told me where a hero's age, level, score, gold and experience sit in a saved game, at a point when I would otherwise have needed another round in the emulator to find out.
Andrew Schultz's walkthrough on GameFAQs, written in 2001 from the Commodore 64 version, is the best guide to the game I know, and it has been a great help to me throughout this project. Its maps of Scandor, with every town and dungeon marked, gave my first version the places on the map.
Before I could record the sound myself, Xeen Music's recordings of the game on a real Amiga, such as Get Gold and the ending's Ode to Joy, were what I listened against.
The Phantasie thread on RPG Codex is where players of the series have kept talking about it, and where I first told people about this project. Its questions turn into findings. Francois424, who plays the Atari ST version, asked how Constitution affects hit points, and the answer surprised me enough to become one of the stories here.
Built with
WinUAE, the Amiga emulator, runs the original game, and its debugger is how I watched the game's memory and its sound chip while it played. Ghidra turned the 1987 program into code I could read, and the Unicorn engine runs pieces of that program, unchanged, so I can test what each one does.
Two early paths went nowhere, but both taught me something. I first started from the Atari ST version of the game, in the Hatari emulator; today the ST program is only a second witness, to check a finding against. And I began on a Mac, where I had no way to drive an emulator's debugger. Moving to Windows is what finally let me watch the game run from the inside.
Moments along the way
The bass on the right
Halfway through balancing the title music, it sounded as though the bass belonged in the right speaker only. The measurement came afterwards and agreed. The Amiga's stereo is fixed in the hardware, and all of the low notes are on the right.
Ode to Joy
The ending plays Ode to Joy, music that few players heard in 1987, because few finished the game. The opening music and the ending now come from the game's own two song files, in the same Amiga voice, the first and last things a player hears.
Forty years of blaming old age
I remembered my fighters missing blow after blow after the ending, and for nearly forty years I put it down to my heroes getting old. It was where they stood. A hero's bonus to hit comes from standing ahead of the rest of the party, and the ending puts everyone on the same line. Read the story.
Relf, the Ranger Elf
Relf was in the very first game I played. There were five of us around the computer, and we made five heroes between us. Some of the names you will see on this site come from that night. A party takes six, and we just wanted to get playing, so we took the sixth from the Guild. That was Relf, a Ranger Elf who was already on the disk I played.
We had put real time into those heroes, and we set out on our journey together. Then, one by one, we watched them fall.
Until only Relf was left standing, a long way from any town, with the rest of us to carry home. Demons. Ghouls. Everything the road could throw at one lone elf. Five of us crowded around the screen, stressed and cheering him on through every step and every fight, until he brought us back to a safe haven to be healed.
Relf's journey home was as much fun for us, as a group, as the game itself.
A fan and the Wolf
The number the Wolf lost was found because a fan noticed Wolves behind the High Devils on the Commodore 64 and never on the Amiga. Read the Wolf's story.
What comes next
The aim from the start has been to find out whether this engine can tell new stories. That is still ahead. After the faithful game comes Phantasie 3.5, my own game on the same engine.
