This month I finally finished an update the older hitbox scripts. The goal was to get them to better exploit Lua's breakpoint functions in FBA to make things as easy as currently possible for the user. Trivial in the larger scheme, or even compared to past Lua work, but the task had been hanging over my head for months. It was made more unpleasant by the need to retread the miry ground of syncing computation and display frames, and by the chronic problem that FBA and MAME don't have exactly the same timing.
In the end I didn't get much done. I still need to straighten up CPS3 before I'm ready to put aside hitbox stuff.
February's banner was from the 1990 arcade platformer Magic Sword. One or two players fight their way up a fifty-floor tower with locked chests and secret warps, upgradeable weapons, and a handful of bosses. It's one of Capcom's early CPS-1 releases and featured some striking promotional materials. Magic Sword had a mangled SNES port (single player only!) two years after its arcade debut, and another eighteen years later as emulated shovelware with Final Fight.
The most notable feature of Magic Sword is the ally character who is controlled by the same inputs as the main warrior. There are eight different classes, each with different strengths, some rarer and better than others. While allies can be get hurt and die or level up to increase power, in practice replacements are ubiquitous enough to make this irrelevant.
The ally can affect the gameplay beyond just adding firepower. For example, the priest and wizard classes can shoot homing missiles though walls but cannot attack effectively unless the player allows them to charge between shots. (The wizard's shots are stronger but the priest is effective against undead and can provide a protective barrier.) On the other hand, the knight and lizardman fire shots that are powerful and rapid but hard to aim.
There's only one real knock against this game, but it's a biggie: the obnoxiously unforgiving difficulty. The player's life is constantly draining and health-ups are rare, to the effect that one hit can often kill, which causes power-ups to be lost. There is a screen-clearing desperation move, but it costs health. (The life drain rate can be separately controlled in the dipswitches.)
The onslaught is overwhelming on most of the later levels. One of the worst enemies is actually first type encountered, the cloaked figure whose dagger turns into a homing missile when dropped. Ironically the bosses are (relatively) easy because they tend to appear alone and their attack patterns can be manipulated.
The distribution of allies seems to be fixed, but the power-ups are semirandom, including those dropped by rescued allies. While there are ways to see hidden chests, there's no way to tell what's behind a door without expending a key, and there are three types of keys to manage. It's aggravating to accidentally exchange an ally you didn't want to lose for a replacement who drops a power-up you didn't want either. Like the Dungeons & Dragons beatemups, maximum enjoyment can only be achieved by players who know what to expect.
If you want to give this game a try, definitely get a friend. Magic Sword would make a great two-player TAS, in both warpless and any% categories. (100% is not applicable because it's not possible to visit every stage in a single playthrough.)
Okay some more SFEX2+ (console) hacking notes. It seems that the animation data is the first part to be loaded in the player data. The model data is one big chunk from the looks of it.
Posted by: Jedpossum | 03/07/2012 at 03:35 PM