Why is NES Ikari Warriors So Terrible?

Displaced Gamers’ series on investigating design and programming problems with NES games continues with a game that I’m surprised isn’t more notorious, Ikari Warriors. (21 minutes)

The biggest problem with Ikari Warriors is probably that it was ported by infamous anonymous NES developer Micronics, who even in their best efforts tended to produce buggy, janky messes. Some other games they made: Ghosts & Goblins, 1942, Tiger-Heli, Elevator Action, Super Pitfall and Athena. All the other problems have their root in that.

Ikari Warriors runs at 15 fps. One game frame for every four screen frames! It uses expensive multiply routines instead of look-up tables for movement! Everything is slow even accounting for that! And it tries to adapt the arcade game’s character rotation system, which supports 16 directions (even though there are only character graphics for 8 of them), and forces the player characters to rotate through them to move.

All of this overhead makes Ikari Warriors really slow and frustrating to play. Displaced Gamers not only diagnoses the problem, but even makes a game attempt to fix them. And they come to the conclusion that it has additional problems, beyond even these, and really needs a bit of a redesign to really make it playable. Ah well, it was a good attempt.

Jeremy Parish’s NES World Vol. 1

It’s too late to inform you of preorders, those ended yesterday, but Jeremy Parish, whose Video Works series is, along with Chrontendo and Atari Archive, among the best and most informative video game history series on Youtube, and the whole internet, is preparing to sell The NES Era Vol. I, a book that’s as complete a picture of the early 3rd generation video game world in Japan as has ever written. If you’ve been following the channel you’ve seen reviews of strange and obscure games have hardly ever been heard off outside of jolly old Nippon.

This promo compilation presents a good selection of the games covered both on his channel and his upcoming book (2 1/2 minutes):

It is true that publisher Limited Run Games has a book in the works from me about Mystery Dungeon, but I’d be posing this here regardless. It’s an important work, and if it’s as fun as the video series then it’s an essential purchase when it comes out. It’s made of candy!

The Rise and Fall of the MSX

The MSX standard was something devised by Microsoft, a specification for a Z80-powered 8-bit microcomputer for the home market. In the style of CP/M machines, and later PC compatibles, any company could make their own MSX machine, and in Japan over 20 different companies did, along with succeeding standards like the MSX2 and MSX+. It made a bit of headway in Europe too, though not nearly as much. The US space had already been taken up by the Apple II line, the Atari 8-bit machines, and especially the Commodore 64. It causes me to wonder, if Jack Tramiel hadn’t made the C64 so inexpensive, selling for around $200 for most of its life, then the MSX could have easily come over here and become a thing.

Note that, despite the friendly play button circle, this is not an embed. Clicking on the image will take you off-site.

Information on the MSX and the wealth of games for it has become better known in the West in more recent years. Konami, especially, backed MSX machines heavily, and a number of games like Castlevania, Gradius and The Goonies had MSX versions, which often had substantial differences from their Famicom cousins.

Today’s find is a 54-minute video on the MSX’s history and legacy by re:enthused. It isn’t on Youtube this time though! This time it’s hosted on the Peertube instance fedi.video. So you won’t have to worry about ads this time. Still though, nearly an hour. There’s a lot of interesting information in there!

Peertube embedding doesn’t seem very viable in WordPress, so I’m going to scrreenshot the thumbnail and link it to the page. Here:

Ed Logg on Creating Gauntet

Recently I’ve been working on a getting-started guide on what I think is one of the most interesting games in UFO 50, Pilot Quest. (Other games I’ve really enjoyed, though I’ve by no means tried every game in the collection yet: Magic Garden, Waldorf’s Journey, Planet Zoldath, Attactics, Kick Club, Onion Delivery, Porgy, Valbrace, Grimstone and Mini & Max.)

Guides take time, so in the meantime here’s an hour-long talk by Ed Logg on the creation of Gauntlet, from GDC 2012!

The Rogue Archive

Hello everyone, I’m back! Today’s find is an archive of old versions of Rogue!

While there were games with aspects of Rogue before it conquered university Unix systems, like Beneath Apple Manor, Rogue still deserves its status as the namesake of the roguelikes. Its great popularity on campuses inspired a slew of expansions and variations.

The world of early roguelikes wavers in its documentation and preservation. There’s several early roguelikes that are nearly unplayable today: the Roguelike Restoration Project (their site appears to have returned to the internet in 2022) has tried to preserve them but its manager has time constraints. I know that Herb Chong, who created a variant called UltraRogue, is still around, and has expressed interest in getting the code running again, but it’s a difficult project, not the least reason for being that the original game saved games by creating and reloading raw chunks of memory. (Roguelike Restoration Project put the original source up here if anyone wants to take a crack at it.)

Several versions of UltraRogue, as well as many versions of Rogue, Advanced Rogue, Super Rogue, XRogue, and others, can be found on The Rogue Archive. Playing some of them might be difficult, but the code is there, sometimes in object form, sometimes as source. It preserves the code for Rog-O-Matic, the computer program that, itself, plays Rogue. You can even find more obscure variations of Rogue there, like HexRogue (which has become unplayable on its home site since Java support for browsers was abandoned), zRogue (an implementation for the Infocom zMachine), PalmOS versions, something called Advanced SuperTurbo Rogue Plus, and more.

I’ve always maintained my affection for Rogue, even if in the eyes of many it’s deficient in features these days. But that means it’s short, it won’t consume weeks of your free time to finish it, while it’s also complex enough to maintain interest, and challenging enough that it’ll take a while to master. If, in this Year of our Frog 2024, you haven’t tried Rogue yet, well, why not? You’ll probably die, but in the end, that’s better odds than real life!

Twinbeard Finishes Every Goal of Super Mario World

I had a car accident last night, and while it could have been much worse in retrospect, I’m still pretty shaken. So for today, let’s just relax and watch Twinbeard, who had been playing through every level and finding every goal, finally reach the end of Super Mario World. (18 minutes) Whew.

Nicole Express on Twin Famicom Compatibility with Guardic Gaiden

Nicole Express is so knowledgable. How many blog posts have you seen about an obscure hardware issue, itself with obscure hardware, and the Japanese version of one specific cult game? Which the writer tested herself with her own unit and cartridge? Then went in to investigate herself with a freaking multimeter? Whaaa?

Nicole’s two Twin Famicoms

I won’t keep you waiting for the link: here it is. And here is my grossly simplified summary, intended to inspire you to go to the original article, if you have the time, and get all the deets.

Guardic Gaiden, known in the US as The Guardian Legend, uses a weird trick to put its status bar at the bottom of the screen, instead of, as usually seen in an UNROM game, at the top. To create a fixed status window requires stopping whatever the processor is doing at a very precise time while the display is being drawn to the TV, and then changing some PPU registers to display the status.

Guardic Gaiden’s title screen

More complex and versatile mappers, like the MMC family, have the ability to trigger interrupts at specific screen lines, but Guardic Gaiden/Guardian Legend doesn’t use an MMC. It doesn’t even have a raster line counter, so the game simply doesn’t know where on screen the raster beam is drawing.

There are still lots of games on the system that have status windows, even with MMC chips. The PPU has a built-in feature called Sprite 0 Hit, where the chip can signal when Sprite 0 (of the system’s 64 sprites) is being drawn on top of non-transparent background data. So what older games commonly do is put Sprite 0 in an unobtrusive place at the bottom of the status window at the top of the screen. When the Sprite 0 Hit register indicates a collision, the code knows it’s time to set up the PPU to display the main portion of the game screen.

There is a really big problem with this setup, though. Sprite 0 Hit doesn’t trigger an interrupt. It doesn’t stop the code to let it switch the graphics. It’s not even proper to say it “sends a signal.” It’s up to the code to check if Sprite 0 Hit has been triggered. If it has, then it’s time to set the scroll register to the right place, and maybe switch to the proper background tileset, and do whatever else needs to happen, and the code can then be off to run essential game logic, the actual game part of the game.

If it hasn’t… then, the code has to check again, and immediately. And if it hasn’t triggered then, to do it again. It has to literally check as quickly as it can, because if it delays in its check, the game screen might not get set up at the right moment, which will be perceptible as the bar straying down one extra line that one frame. Not the end of the world, but it looks glitchy. And this code will be running every frame, so if it strays down once, it might do it again, which is a more perceptible glitchiness.

Sprite 0 is set to trigger its hit at the top of the screen, because the code won’t have to spin its wheels checking the hit over and over. It wastes time, but not that much. This is why UNROM games put their status lines, with the score, timer, health bar and life counters, at the top of the screen.

Well, The Guardian Legend is an UNROM game, and maybe because creators Compile wanted to show off, they decided they’d put the bar at the bottom of the screen. And yet, their game doesn’t waste most of each frame just in maintaining the status bar.

How? And what does that have to do with the Twin Famicom? For that I’m going to direct you to Nicole Express’ blog post. May you find it as fascinating as I did!

Nicole Express: Is the Twin Famicom Flawed? The Case of Guardic Gaiden

UFO 50!

This one isn’t really obscure I think, but it’s amazing, and if I can do my part to help spread the word I’m happy to do so. UFO 50 ($25 on Steam, with other platforms on the way) is a collection of 50 8-bit styled games from Mossmouth, the creator and publisher of Spelunky, although they’re made by all kinds of people.

When you hear “50 games,” you might come to think of it as, 50 little games, but that’s not the case. UFO 50 contains 50 full games, including one in the JRPG genre that could take many hours to finish. It seeks to emulate the experience of putting a pirate multicart into a game console, except none of these games are pirated. It’s a super-abundant collection of fun, and what’s more, the word is that there’s not a single dud in the group, there really is something here for everyone.

Like with Baldur’s Gate III, there’s so much here that it feels like they might be stretching out what’s expected from a relatively small amount of money. My suggestion is, get it, but don’t feel like everyone has to give you 50 full-sized games for $25 in the future. It’s a one-off, wonderful for what it is, but an anomaly.

With 50 games included, it can be difficult to tell where to start! If you let itt sit on the game selection screen, it’ll play demos of the games, which might give some direction to your exploration. By default, the games are listed according to release date in the collection’s fictional chronology, so generally they’ll get more complex later on in the list. Xanagear reviewed every game in UFO 50, in 50 minutes natch:

I haven’t had the chance to get into any of this yet, but a particular game I want to point to is Valbrace, which is a first-person dungeon exploration game, with Crossed Swords-like action combat!

The promised JRPG is Grimstone, which has a western theme, and one of your potential characters (you pick your party at the start) is a dog!

UFO 50 deserves a lot more words than I can give it right now. There may be more to come on it later….

UFO 50 (Steam, $25)

Spelunky 64

The thing about Spelunky 64, a reimplementation of Spelunky on the Commodore 64, that gets me is how smooth the scrolling is. Smooth multi-directional scrolling isn’t easy to do on the C64 without hardware assistance, but here it handles it without apparent problem. Here is a 7-minute demonstration from Just Jamie:

It’s not the only obstacle Paul Koller (PaulKo64) had in making this surprisingly faithful recreation. It contents itself with the basic Atari-style joystick, with a single overloaded button. So up is used for jumping, tapping the button attacks, holding the button uses an item, down+button takes out a bomb, and up+button places a rope. It’s not perfect, and you have to be really careful in shops, but it doesn’t work badly.

BastichB 64K has an interview with its developer on Youtube (7 1/2 minutes):

Here is a complete playthrough (28 minutes):

Spelunky 64 is on itch.io for $3. To play it, you’ll need a Commodore 64 emulator, or a physical C64 and a way to get the game image onto a disk.

Hidden Flags in Earthbound, and the Mole Playing Rough

It’s a bit old, but Chaz on Youtube has a great video explaining some weird facts about Earthbound, including mysterious crashes, when the game registers the effects of statuses like Sunstroke, and why there’s a small number of places in the game where you can find an early enemy, the Mole Playing Rough, in regions where you usually find much stronger enemies. It’s ten minutes long:

Here’s the gist:

Earthbound maintains a flag that the video calls the Overworld Status Supression Flag. If this flag is on then your characters can’t get a number of statuses like Sunstroke, or take environmental damage. If this flag is on, though, and your party loses to a scripted (not random) battle, then a bug is triggered that’s popularly called the Game Over Glitch: the battle loss cutscene music plays, but the screen turns black and nothing appears to work. In fact, the game has not crashed: entering the Town Map screen, or feeling around for and entering a door, will display graphics again, although glitched out. The Game Over Glitch is best known for happening if the player loses to one of the Shattered Man fights in the Museum after the game has been won: during the ending, the Overworld Status Supression Flag is set on permanently, so getting into any scripted fight and losing will result in the glitch happening.

As it turns out, random encounters disable the flag. So there is a hard-to-avoid Mole Playing Rough at the entrances to areas with environmental damage, to make sure the flag is turned off. But the mole is just hard to avoid, not impossible, so if you can avoid it, and all other random enemies of course, and then reach a place with a scripted fight, then lose to it, the glitch will still happen.

Behind the Code on Why is Contra Force Slow?

Displaced Gamers’ Behind the Code series is one of the best explainers of the quirks of NES games on Youtube. It’s not afraid to dive into the assembly code itself if need be, but its videos can often be understood by people without deep technical backgrounds.

Here is their video on the coding problems with Konami’s Contra Force (24 minutes):

Watch the video for the full spiel, but here’s a summary.

Once upon a time, in the waning days of the Famicom, Konami planned to release a game called Arc Hound in Japan. It was going to be another of their trademark run-and-gun shooters, along the lines of Contra. It even received coverage in enthusiast magazines in Japan, and it probably would have used one of Konami’s bespoke mapper chips like the VRC6 that the Japanese version of Castlevania III used.

Arc Hound was likely far into development when the decision was made to not release it in the Japanese market. Producing a game cartridge requires a substantial investment in parts and marketing, of course, and they must have judged that they couldn’t make enough of a profit off of it in their home territory: the Super Famicom was already out, as well as Contra III on that platform. But the NES still had a little bit of life left in it in the US, so they decided to give the game a shot over here, as a title in the Contra series

A big problem there was Nintendo’s policies towards manufacturing NES games. Nintendo demanded the right to build all the licensed software for the NES, and further restricted most (although not all) publishers to using Nintendo’s own family of mappers. Konami had been forced to revise their games to use Nintendo’s mappers in other games: Castlevania III famously used a different mapper in Japan, one that offered greatly expanded sound capabilities that worked through the Famicom’s sound channel pass-through, but was incompatible with the NES.

Extra sound channels are nice, but the primary use for most mapper chips is bank switching, swapping different sections of a cartridge’s data into the Famicom/NES’s 6502-workalike’s 64K address space, and also potentially making different sections of the game’s graphics data visible to the PPU graphics chip.

Behind the Code’s examination of the game program reveals that a large portion of the time of each frame is spent in setting up bank switches. Whether it was coded poorly, or just that Konami didn’t want to pay to include a mapper with more a more efficient bank switching mechanism, the game wastes a lot of time just pulling in different banks of data to be visible to the NES’s hardware. So it is that Contra Force could have run a lot better, but Konami either didn’t want to expend the coding effort, or pay for the the mapping hardware, to allow it to do so.

Presumably, somewhere in Konami’s archives, there is a version of Arc Hound that uses a VRC chip to handle mapping, and that runs much more smoothly. Maybe someday it’ll come to light, although I wouldn’t lay any bets on it. More likely perhaps is that someone will hack up the code and make such a version themselves. Who knows?

Arcade Mermaid: Rampart, Part 4: Level Strategy

Arcade Mermaid is our classic arcade weirdness and obscurity column! Frequently (no promises) we aim to bring you an interesting and odd arcade game to wonder at.

Yes! More Rampart! I’m still out of town at DragonCon so I’m repurposing an old strategy guide I wrote for Extended Play into a week of posts. Even I’m starting to get sick of Rampart by now, but please stick around. And if you’ve ever tried playing this infuriating game in the arcade, this might give you the advice you need to get through to levels you might not have thought possible! And this is even a fairly short post!

Level Strategies

Level One (“Recruit”)

Castles available: 6

It’s advised not to start on this level unless it’s your first game. You’ll not only miss out of 5,000 points by starting here, but it means the beginning of Level 2 will begin you with only two cannons instead of three, and you’ll face more ships.

This level is so easy that it barely rates mention. It has six castles, and only Gunships appear. Unless you’re purposely stalling, you’ll finish this map in two rounds. Even if you stall, the level auto-completes in three rounds, regardless of if you fire a single shot.

Another reason to avoid picking Beginner is that its selection is always the “J” map, which is one of the easier selections from the initial four boards. It’s better if you pick it later, when the opposition is harder, to balance out the difficulty.

Level Two (“Veteran”)

Castles available: 5

The Veteran level is randomly chosen from one of the other three basic maps, although it tends to be the “C” map most often. Ideally it won’t be the “Hat” map, it being the easiest, as you’ll want it to be your Level 4.

If you started on the board, the first round will always put you up against four ships, one of which may be a Lander. Later ships are frequently also Landers. As a result grunts may appear on this board, but even if some appear, so long as you focus on destroying enemy ships and don’t suffer major setbacks like losing your home castle, you’ll probably wipe out the attackers before they become a huge problem.

On a later round in this level you’ll probably encounter your first Red Ship. A Red Ship tends to get off two or three shots in a round, each producing flaming crater you must build around.

Level Three

Castles available: 5

You always get to pick this level yourself. I usually try to make it “C,” “J” or “Hat,” in that order. I usually avoid picking “N,” but it’s not really harder than “C,” so pick whatever is your preference.

Much of the fleet will be Landers here, so this is the first level where you must be diligent about thinning out their numbers. Especially try to take care of ships about to land; grunts are unwelcome visitors to deal with, and it’s best if they never show up at all. In the event of a landin, which is sometimes unavoidable, try to spare a few seconds to build a barrier to them, to wall them off from the rest of the board. If you can contain them in a small area around the landing, you can keep their numbers down that way and thus reduce the number of shots you must expend in cleaning them up. Don’t think you can just let them be! They will overwhelm you easily if you ignore them.

I try to pick a home castle that’s near another castle, so I can capture them both with one wall. If you can consistently get both each round, that’s three cannons each time. Use them to connect the space between the two castles, but try to keep that space as small as possible. Try to aim for the minimum-sized rectangle needed to save both of them, and then try to place all your cannons within that rectangle.

Level Four

Castles available: 4

Now the game starts to get serious. If you can get here on your first credit you’ve done very well, but your weak basic guns will become more and more of a liability for you. Dark ships start appearing on this level, and will continue to appear until the end of the game. They all take one extra hit to sink. That’s three hits for Gunships, four for Landers, and six for Red Ships.

Try to make Landers that have a chance of landing at a diagonal shore your top priority. If one makes it through, then at the start of the Building phase devote three seconds or so it blocking their progress with walls. If they get away from the shore and a significant number appear, then focus on surviving and shoot them with cannons during Battle. Red Ships start to be a significant threat here. Once all the potential landings are taken care of, try to pump six shots into a Red Ship.

Level Five (peninsula)

Castles available: 3

Regardless of how you got here, you have a choice between two new maps for this level, a diagonal peninsula going upper-right to lower-left, or one going from upper-left to lower-right. I call these the “slash” and “backslash” maps, respectively. I usually pick backslash, but both are about the same difficulty.

These maps have the property of having two seas, a small one at the top of the screen and a more typical larger one at the bottom. The small water region is both a blessing and a curse; the restricted movement makes it easier to destroy ships there, but landings are very likely unless you clear out the Landers arriving there. What is more, these maps are the only ones in the game that break the rule about landings only being possible on diagonal shores. Landers in the small sea are also counted as landed if they contact land at the very edge of the screen, even if there’s no diagonal shore nearby. This property doesn’t extend to screen-edge landings in the larger sea.

The worst thing about these levels is that the game takes off the limiter on the number of Red Ships that can be generated each round. Red Ships here are nearly as common as Double-Sailed ones! You’ll frequently see seven or more on-screen at a time. While you must remain vigilant to prevent and/or mitigate landings, you must also work towards reducing the number of Red Ships. The large number of flaming craters on these levels made adopting a “summer home” strategy imperative, where you switch off between castles when one gets too difficult, or even impossible, to save. It’s usually a good idea to try to capture two castles in the first round because of this; then you can station some or all of your cannons for that round at the other castle, so you’re not defenseless when you’re forced to turn to it for survival. From there, you can focus on getting cannons around the third castle for maximum safety.

This level is a strong test of your Rampart skills, and often is a barrier to progression until you’ve played many games. But it’s not invincible. On Easy difficulty, I’ve passed this level still on my first credit multiple times. The biggest thing you have to worry about is the high probability of impossible situations.

Consider: when any castle is adjacent to other objects, you must capture the whole collection as a set. Chains of objects like this increase the difficulty of getting the whole thing, and increases the odds of getting an impossible save. I’ve seen this happen after even the first round on a peninsula board, and I’ve seen it happen on all three castles on one of these maps at the same time.
The only substantive thing you can do, besides rotating between castles, is to shoot some of the dangerous walls yourself. Red Cannonballs don’t leave craters if the wall is already destroyed, but that takes time and often makes for a difficult repair.

So, what if you manage to clear this map? What happens next? The game scrolls the FINAL BATTLE banner, and you get a one-way ticket to:

Level Six (island)

Castles available: 2

It all comes down to this. This level is a special kind of hell, only slightly mitigated by the fact that it seems you can get away with sinking fewer ships here, and, because you’re surrounded on all sides, your shots often don’t have that far to travel to reach a ship. There are four prime landing areas, each in one corner of the map, so landings can only be delayed, not prevented. And you only get two castles. Enjoy!

When you start looking more closely at the map, some slight advantages become apparent. There’s a lake in the bottom-left of the board, which gets in the way, somewhat, of grunts approaching from the bottom. Both castles have a good amount of land around them, although there are so many Red Ships here that the “summer home” strategy is essential to survival.

The continue limit eases up a little bit here. If you were at the maximum of four continues upon starting Level Six, the game will grant you an extra continue when you get here. (You still have to pay your coins for it though.) And also, if you were at that final credit, the game will actually downgrade your cannons one step when you get here, so get used to expending two/three/five shots for Gunships/Landers/Red Ships again. If (ha ha, “if”) you do expend that last continue, you go back to only needing one/two/four shots to sink ships. (There is more information on the effects of continues on cannon power in the notes, later on.)

This level is an ordeal, but it can be finished surprisingly quickly. I’ve seen it cleared in three rounds, although that was after several continues (it had been a pretty great game up to that point). This level is the big obstacle to one-credit clears, I’ve managed to finish everything up to it on one credit only to bang my head against it repeatedly. Using save states, I’ve managed to finish it with a single continue, so it is possible to finish it relatively cheaply, but making do with such weak cannons is a real challenge.