I'd wager that if you dug into 100 games you'd find leftover data in 99 of them.
Some games, like Metroid, are legendary for the hidden levels left buried in the game.
Entire worlds lost in a stack of ones and zeros..
Having worked over a decade in the software development business I can tell you exactly how this happens, it's very simple.. programmers never go back and delete unused code unless they absolutely have to.
There's always a fear that if you delete something it'll break something else.
You don't want to be the one that broke the build and carry the shame that goes along with it so you just leave it there.
In the case of game development there are space restrictions, especially so for cartridges, but until that limit is reached I doubt if anything ever gets deleted.
The video game industry is notorious for aggressive timelines. Think any programmer on the team even has a moment to consider whether some old code can be safely erased?
No way, just get the game finished and move on to the next one.
What, is someone gonna take the time to dump the cartridge to a PC and comb through the compiled data?
Well "yeah" that's basically what happened.
A while back I took a stab at hacking the Phantasy Star III rom.
I didn't go in looking for buried treasure, I was mostly curious to see what would even be possible.
I haven't come close to deciphering everything in it yet but have stumbled into a few hidden gems...
The most interesting find so far is that it appears Kara was supposed to be a mini-boss at some point in the game's evolution.
In the section with the enemy data there's an entry for her mixed-in with the other bosses.
Swapping the sprite data with another boss loads her tileset.
Unfortunately it's not in an assembled form.
Each boss has different dimensions so the end result looks garbled.
Here are the tilesets when her sprite is swapped for Lune, Lyle, and Sari:
It's pretty easy to make out some parts, like her face:
A pair of boots and a slicer stand out too:
After a bit of shuffling, a fully reassembled sprite looks like:
A few quick palette updates make her a little more recognizable:
OK, it could use a little work but overall that has to be fairly close to how she's supposed to look.
Here's an alternate version by FirebrandX which I believe is more accurate than my attempt.
In this one the upper body and left arm are correctly proportioned but the um, chest region, is missing.
Perhaps this was something that ran into a problem with the censors at Sega and the character was dropped from the game before it was fixed.
That's pure speculation of course.
In my first attempt at reassembling Kara I also had the slicer held to the side but moved it upright to match the Lune sprite.
Compared to all the other bosses, her stats are closest to Sari:
The stats could imply that she was intended as a 2nd generation mini-boss.
Unlike Ayn, Nial only faces a single boss in his quest.
Perhaps Kara was originally intended to appear somewhere in his storyline.
I see a couple possible scenarios:
In this alternate storyline, Kara would be Lune's sister instead of Alair.
Well, she could still be his daughter but either way Alair doesn't exist.
When Nial and company reach the imprisoned Kara her initial reaction is to fight the evil Orakians.
After the battle she either joins the party (in place of Ryan perhaps) or runs off to join Lune.
It makes sense except for the part where they leave Kara fully armed while locked away in the dungeon.
2) This one also relies on the idea that Kara, who may be Lune's sister instead of daughter, was kidnapped instead of Alair.
After rescuing her you get a "thanks for freeing me chumps" message and she takes off to find Laya's treasure.
When you get to the rebel cave she's already there and a battle ensues.
It would make for a better storyline than Lune randomly teleporting into the scene - an ability that doesn't seem to help him rescue a kidnapped family member.
Having Kara in Nial's story doesn't disrupt the ending, instead of Laya or Alair there's the choice or Laya or Kara.
The obvious problem with this is it leaves a gap in the 3rd generation, another slicer-user would need to be added.
Maybe she was intended as a third generation character that joins the party after a battle.
Based on the sprite, her appearance fits with the Sean/Crys version of Kara.
This wouldn't work with the other storylines as she wouldn't attack her cousin (Aron) or the descendants of Laya (Adan & Gwyn).
My biggest argument against this theory is that her stats are awful low for a 3rd generation boss, even a mini-boss.
A Sean/Crys party that went through the quest to find Laya would be sufficiently powerful to dispatch of her in a few seconds.
It would also make the Aron/Adan & Gwyn quests look even shorter by comparison.
Since none of these alternate Kara theories fit especially well, the best conclusion is this was something that was dropped early on.
The sprite and boss data were likely developed prior to the completion of the storyline and left orphaned.
Mixed-in with the shop data are two that don't appear in any of the villages:
This is similar to the weapon shop in Techna which has the Laconian Slicer instead of the Force Bow.
Unused armor shop
This is similar to the armor shop in Mystoke which has the Royal Protector instead of the Royal Boots.
Based on the items available it appears to be from a lost town that was intended to appear late in the 2nd generation or in the 3rd generation.
Perhaps the town was meant for Frigidia which is 1-2 short compared to the other inhabited domes.
Selling a Force Bow near where you already have to take Laya makes sense.
There's also plenty of open space in that dome where a town could go.
The lack of an extra item shop doesn't rule out the "missing town" theory.
Most of the item shops share the same data.
I don't mean "they sell the same stuff" I mean "they use the exact same data", changing one changes them all.
So the item shop from this missing town would likely have used the same data as another.
One argument against the "missing town" theory is the absence of extra dialog anywhere in the ROM.
No "Welcome to some town, home of something interesting" hiding away.
Then again, the village could have been removed before the dialog was written.
Another counter argument is the noted similarity to other shops.
That could also be explained by the town being removed early on, before its purpose and inventory was finalized.
Hidden in the item data is something called "Snow".
Since it's right smack in the middle of the gem data it appears to be a missing gem.
I suspect this was intended to open the Frigidia-Elysium passage.
At least I'd hope something called "Snow" would be somehow related to the snow-covered world.
It would also be hugely convenient in the Nial, Crys, and Sean quests instead of backtracking through Landen.
So what happened to this item?
We already know that several passages can not be entered, the prevailing wisdom is they just plain didn't have enough time to create maps for them.
One perfectly good explanation is they intended to create a map for the Frigidia-Elysium passage but needed to cut some things to make the deadline.
With another, albeit long, path from Frigidia to Elysium available they cut this tunnel out.
Besides the "Kara boss" there are several other enemies in the ROM that never appear in the game.
I tend to doubt that any of these were purposely removed.
They all have a sprite and palette ready to go.
My guess is they're supposed to appear in some of the unfinished areas that didn't make it into the game (like the aforementioned Frigidia-Elysium passage).
For example, the skeleton and spectre are in the same group as the wraith which only appears in Sage Isle.
It seems like a plausible theory that they would have appeared in the caves to/from Terminus if they were finished.
One entire group of robots, Twistbot/Swivlbot/Rotabot, are missing from the original Sega Genesis version but appear in Phantasy Star Collection for the Game Boy Advance.
I doubt they intentionally fixed anything to get these three to appear.
What's more likely is some "glitch" in the emulation accidentally unlocked them (or accidentally fixed whatever kept them hidden).
The battles aren't entirely random. There's a formula like [location]+[generation]+[random number]=[enemies you fight].
There's no such thing as a true random number (to a computer at least) so it's using a lookup table or CPU clock or both.
In the Genesis version the conditions required to get a Twistbot/Swivlbot/Rotabot battle were never hit but they apparently are on the Game Boy Advance.
A small difference in either the random number tables or CPU clock in the Genesis emulation could account for this.
Once I figured out how to edit enemy formations my theory has changed a little. In the enemy formation table for the US Genesis release there are no entries for these three enemies. There is no way they can ever appear in it. That makes it seem like they were intentionally removed. These three enemies have a sort of demonic goat look to them and I wonder if Sega thought that would bother US gamers. That's just a theory but would be consistent with the types of game alterations made in that era. This also makes me suspect the GBA version is starting from something other than the original US game. I really need to crack open the GBA rom and see what else is different between these versions.
There are a total of 11 items that appear in the ROM but can't be found anywhere in the game:
Of these 8 are Laconian or Royal items which means they'd likely be acquired during the third generation.
With the Planar, legendary, and Nei weapons available there was really no place for them.
The Ceramic Staff and Bandanas are items that could have gone somewhere between the end of the first generation and beginning of the second.
Like the other 8, with plenty of other items available these just didn't fit in.
There isn't too much speculation required on these...
initially they just went down the list and added all the possible items before figuring out where they should go.
When all was said and done these didn't have a home but nobody either noticed or wanted to go through the effort of deleting them.
Removing items would actually have been a bunch of work since pointers would need to be fixed.
So even if someone noticed, it was easier to leave them abandoned in the code.
Unused Level Table - Lost Character or Programming Mistake?
This is easily the least significant lost & found item..
One section of ROM data contains the level tables for each character.
These store how many XP a character needs to gain a level and what their stat growth is when levels are gained.
Within this data there's a level table that's completely unused in the game.
Could this mean there was another character planned?
Probably not. My opinion is this was programming mistake.
For some reason Mieu and Gwyn share a level table, the only two characters to do so.
The unused table is the last one in that section of data, right after all the other ones for 3rd generation characters.
I suspect it was intended for Gwyn but a misplaced pointer led to her and Mieu sharing instead.