DISCLAIMER: This goes does not, in fact, contain fairies.
Introduction
The Fairyland Story was first an arcade game developed by Taito and released worldwide in July 1985. Ptolemy the witch is tasked with retrieving the stolen holy gem from Dracolisk. Ptolemy's magic turns her foes into cakes that can be crushed or used for crushing. This MSX port by Hot-B was released in 1987 with some different levels but is otherwise mostly faithful to the arcade game as an MSX port can be.
I started this TAS because of a different, unreleased port got dumped. An incomplete prototype build of the unreleased NES version of The Fairyland Story was found and dumped in June 2022. That made me curious about trying out the prototype, which while mean was also pretty fun to play. I then got interested in seeing how fast the game could be done but I certainly wasn't expecting having to manage hidden, esoteric mechanics.
This TAS also functions as a test run of the MSXHawk core. From what I can gather, this is the first completed TAS done on the core to be submitted to the site. While the core doesn't quite detect when the game lags yet, that's not a big issue since the game's internal directional input check is done about every 3 frames anyways.
Run notes
- Emulator used: BizHawk 2.8
- MSXHawk core
- Foregoes warps
- Displays the dangers of cakes and gravity
- Gathers lots of lethal literature
Mechanics and techniques
What makes this warpless?
This is warpless because I specifically avoid spawning the Mystical Feather. The Mystical Feather lets Ptolemy skip 3-5 rounds, as well as speeding up any transition screens that happen to be passed. I wanted to show off all the stages the game has to offer, which has its own distinct item routing.
Ptolemy's magic attack
Ptolemy can shoot a short magic wave that turns enemies into cakes. Having the cake fall from a high enough point destroys the cake which can also squish anything else below, including Ptolemy. Cakes can also be destroyed by repeatedly shooting more magic at it until it crumbles, though that doesn't work on the white bearded enemies. Using rapid magic shots or using gravity to destroy cakes is dependent on the situation. Generally, dropping cakes will be faster.
Sometimes enemies aren't killed immediately since they can be used as platforms. This is required for a number of rounds to complete stages, both intentionally and unintentionally. There are a lot of round softlocks that can happen if approached wrong forcing Ptolemy to wait for Horned, the time-up devil, to take her out.
Enemy movement
Each enemy in a require has specific movement patterns that have varied manipulation conditions. Player screen position and remaining enemies in a round are the biggest factors in what determines their movement. Some rounds require very specific movement to complete, legitimately or otherwise.
Airborne enemy jumping
Ptolemy can stand on enemy heads and use them as a platform. When the enemy is jumping this detection is a bit wonkier, usually in the enemy's favor. Thus timed jumps are used whenever it's both possible and helpful to get on top of an airborne enemy. This gives a very small frame window, usually a couple at best, where Ptolemy can jump off the enemy to reach places that normally take more time to reach.
Neutral jump ledge climb
Jumping vertically allows for getting onto ledges by holding left or right towards a platform. This can also be used for platforms above Ptolemy which lets her enter a grounded state sooner. Doing this lets her perform another jump sooner, which aids in vertical speed ascension.
Reaching platforms directly below
Walking off a platform comes in two forms, depending on how long the direction towards the ledge is held. If held short enough, Ptolemy won't hop off and instead go straight down, Sometimes this can result in allowing for the opposite direction to be pressed and let her land on the platform directly below which might otherwise be unreachable via hopping off the ledge. This is helpful for some movement through a round for navigation and enemy manipulation.
Item and experience mechanics
The MSX version faithfully ports over the entire item mechanics including spawning rules. It's so faithful that I'd say read that page I linked since it does a fantastic job explaining how it works better than I ever could. I didn't quite take full advantage of this until about 35% through the TAS and adjusting those might mess with setting up item spawns later in the run.
Generally the early game requires a lot more RNG manipulation via varied player inputs to give favorable items when they help. Once the experience value is high enough the need to manipulate is reduced with either minor input changes or simply not killing enemies to get the Book of Death spawns when needed.
A lot of the warpless routing revolved around being mindful of the step counter to get a Book of Death to clear otherwise problematic rounds that take a fair amount of time to complete. This is why there are a number of rounds where movement is reduced to a minimum since that makes the item spawn in another round.
As for viewable info that helps: the only point of RAM info that I bothered to find was where the experience is tracked. It is at address 0xE000
in RAM.
Last surviving enemy mechanics
When there's a single enemy left in a round they will despawn automatically after a set amount of time. While this can be helpful for real time play, this takes too long to be helpful in a TAS. There's also seems to be a side effect of resetting the step counter for item spawning. Thus for rounds where the intended solution is to take out all but one enemy in a stage grabbing a Book of Death to clear out the stage is much faster.
Moon events
Roughly every 10-20 minutes the moon shows up. When it shows up all enemies turn into cakes. While this is meant to be a helpful mechanic to allow Ptolemy to destroy enemies easily, this can be detrimental in stages where using them as platforms is a hard requirement. Two moon evens happens in this run, one helpful for cleanup and one that straight up forced a different strategy or spawning a Book of Death due to not allowing enemies to move to a place where Ptolemy can reach them.
Rounds 99 and 101 - The Dracolisk fights
The fight with Dracolisk consists of hitting them in the belly with a number of magic spells. Guides out there say that, at least for the first fight, 13 spell shots are needed. I did it in fewer since there seems to be some recovery mechanic that goes on but can be punched through with rapid enough shots. I assume that the 13 spell count is the maximum number of shots needed for more methodical play. Also worth noting that damage seems to carry over between lives.
Round 100 - The door puzzle
The door has to be entered to clear the stage. At the same time the flag to make the door usable is tied to breaking the ceiling above it by dropping 2 cakes. This means that while it's possible to use one of the skeletons to sneak into the door area it's unusable since the flag hasn't been set.
Possible improvements
- Starting from the start to fully utilize item mechanics for the first 30-40 stages of the game
- Finding a better item route planning throughout the game to bypass different rounds via the Book of Death
- Better movement and enemy AI manipulation for individual stages
Special thanks
- TepidSnake, writer of the website Gaming Hell. They have an incredibly good write-up of The Fairyland Story here: http://gaminghell.co.uk/TheFairylandStory.html
- GoldS for breaking down the full item and experience system of the arcade version, which also applies to the MSX version.
- ZAC SOFT for their Japanese guide of the arcade version. Their guide also shows that the neutral jump ledge climb is an intended mechanic, which a hard requirement to complete round 95 in the arcade version. You can view their guide here: http://www10.plala.or.jp/bb/zac/fs_main.html
- Alyosha, for developing the MSXHawk core. While while the core's still in development it worked great for the creation of this TAS.
- Forest of Illusion, Gaming Alexandria, and Hard4Games for finding the NES prototype that took me down this road in the first place. Maybe someday the lot check version will be found and I could tackle that.
feos: Claiming for judging.
feos: The goal makes sense as we can see from
item descriptions: even though the warp item spawns randomly, skipping levels in the most efficient way via spawn manipulation and routing is very clearly different from not skipping any levels. And indeed none of the levels is skipped in this run.
I don't know what to question
regarding BIOS. The run only requires what the Bizhawk log calls
MSX+bios_basic_jpn
, and there are no machine options in the sync settings, only a USA/Japan selector.
The run itself looks good too, accepting.