Sundry Sunday: Stop-Motion Promo for Metal Slug Awakening

Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.

I’ve always been a little ambivalent about Metal Slug. Not about its gameplay, which is excellent, but about its theme. It’s been said that it is impossible to depict warfare without glorifying it in some way. I think there is some truth to that, and there is no question that the Metal Slug games depict the hell out of it.

I think the Metal Slug makers recognize a bit of that, because of how humanely the enemy soldiers are depicted. They’re all trying to kill you, but they’re far from snarling villains. When not actively trying to bring about the end of Marco and Tarma (and Fio and Eri)’s lives, they’re chatting with each other, having a meal, sunning themselves on the deck of a ship, using the toilet or just hanging out. When they spot the invading players, they often react in terror. Sometimes you don’t want to shoot them, even when they’re climbing on your Slug and trying to throw a grenade in the hatch. Even their leader, General Morden, is not the typical villain. His backstory says that dissatisfaction with corruption in the Regular Army’s ranks, along with the loss of his wife and daughter due to an act of terrorism, was what caused him to launch his rebellion, and his solders admire his leadership.

It’s almost enough to make one want to overlook the questionable aspects of his army’s symbology, for which I can only thank my lucky frog the usual suspects haven’t latched onto. Morden is rehabilitated a bit in the endings of Metal Slugs 2 and 3, where he’s betrayed by the Martians he joined forces with, and helps the player’s commandos defeat, but its true that he’s always the antagonist at the start of each later game. Metal Slug, for all its sci-fi, zombie, magic and other trappings, is still a game about depicting conventional warfare, no matter how one-sided and improbable it may be.

Ah, as is often my habit, I used the subject of the post to write a short essay on some aspect of gaming. I hope you don’t mind. Here is the video, a stop-motion recreation of a typical Metal Slug scene, made by official entities to promote a mobile game. It seems appropriate to the subject.

Metal Slug: Awakening | Full Stop Motion Video (Youtube, 1 1/2 minutes)

Mario Paint Data Overflow Error

There is a subtle flaw in SNES art creation tool Mario Paint. It has 32K of Save RAM, which is not technically enough to save an entire project, normal and animation canvases included. The program uses data compression to get everything to fit, and the compression is good enough that most of the time everything can be squeezed in, but such is the nature of data compression that it is not guaranteed to work on all possible data.

What happens when Mario Paint can’t fit everything into its save file? This:

A comment on the video gives purpose to the numbers the robot displays as it counts down. 100-25 is compressing the image; 25-12 is erasing the save RAM, and 12-0 is copying the data into save RAM.

On Super Mario World’s Score Display

Awesome Mario trivia blog Supper Mario Broth noted on Mastodon that Super Mario World is extremely inefficient in displaying Mario’s score.

There is more information on SWMspeedruns.com, but in brief, SMW stores the player’s score as a 24-bit value as hexadecimal digits, and converts that value to decimal when it’s time to display it. There is no good way to do that that doesn’t involve figuring out the entire arithmetic, but Super Mario World does it particularly slowly: it starts with a copy of the score, then sees if it’s over 1,000,000. If it is, it increases the millions digit of the displayed score by 1, subtracts a million from the work value, then repeats. When it runs out of millions it repeats with the hundred-thousands, and repeats until it finishes with the tens. At least it doesn’t try it with the 1s, seeing as how nothing in the game awards single points!

In a worse-case scenario, with a score of 9,999,990, the code goes through this whole process every frame, consuming up to 8% of the time available for game logic.

What could the game have done to accomplish this better? It could have found out how many of each digit there was once instead of looping and incrementing. It could only figure out the score when the value changes. Or it could save the value as the digits themselves in decimal, just increment them by the right values when its needed, and then copy that figure to the screen. That’s largely what 8-bit games would do.

Even worse, if Luigi is the active character, the game does this twice: it figures out and prints Mario’s score, then it does it again for Luigi’s score, placing it onscreen in the same place.

While printing the score is just one thing the game does each frame, the effect is great enough that complex scores can lag the game, enough that speedrunners take the score into account to avoid it.

This adds to the evidence that Super Mario World development was rushed. It’s already known that a lot of the code in SMW is buggy, allowing for some truly heroic exploits like programming a text editor in SRAM purely by manipulating objects in an early level.

The “No Fire” Trick in Galaga

Arcade Galaga has an interesting bug that’s been known of for a long time, that can be taken advantage of to cause the enemies to stop firing. The inner workings of the bug are explained on its page on the website Computer Archeology, but here it is in brief: on the first level, if you leave the bugs at the far left or right sides of the formation alive and wait long enough, 10 to 15 minutes, just surviving their attacks, then eventually the enemies will stop firing all together, and will never fire again for the rest of the game.

Why does this happen? Galaga reserves eight hardware sprites for the shots of the enemy bugs. Galaga’s graphics hardware has no way to disable the displaying of a sprite, so if something isn’t supposed to be visible it’s kept off screen, at horizontal coordinate zero. A shot sprite at that coordinate is never updated, and never moves. This is in addition to the game’s internal records of which shots are in use. When a bug wants to fire a shot, the game looks at which shots are available, and if one isn’t in use, it puts it at the proper place, and sets its velocity (X and Y deltas). From then until it leaves the screen, it’ll be updated every frame. When it is detected as having gone off-screen, it’ll be marked as out of play, and its X coordinate will be set to 0. Shots at X=0 are never updated.

The problem is, it’s possible for bugs to fire shots while they are at X position 0. This happens most commonly when bugs at the far left and right extremes of the board attack. The shot is marked as in-use, but it’ll never be updated, and so it’ll never be cleaned up and set back to be available for firing. When all eight possible shots are in this limbo, the bugs can’t fire any more. The machine resets the shots at the end of a game, so the problem won’t affect subsequent plays.

Ben Golden Diamond performed the trick in a Youtube video, and he manages to get it to happen in around seven minutes. He doesn’t explain the precise criteria for doing the trick, but his description will still work, it just has unnecessary steps. It will work on any level, but it’s easiest to do on the first. In the video, sometimes the bugs fire wraparound shots from off-screen. That’s a good indication that the bugs are sometimes firing from the 0 coordinate.

Keep in mind, performing the trick on purpose will disqualify a score for world records. The scoreboard on a local Galaga machine probably won’t care, though.

Game Finds: Cosmic Collapse

We love it when we find weird and unique indie games to tell you all about! Our alien friends to the left herald these occasions.

A fair amount has been said about Suika Game, an inexpensive and addictive Switch game that has players dropping fruit into a physics-enabled bin. Two fruit of the same type that touch immediately merge into a larger fruit, and the goal is to join them together like this until you create a mighty Watermelon. You can keep going at that point, although with one of those majestic spheres in the bin it won’t be much longer before one or more fruits extends up out of the bin, which brings the game to an end.

The history of this unexpected Flappy Bird-like phenomenon is laid out in an article in the Japan Times. Until recently the game was exclusive to the Japanese eShop, although that needn’t actually a barrier. People from any territory can create eShop accounts for any other, and play all their purchases on the same Switch, but now I notice that Suika Game is even on the U.S. shop. And of course, as often happens when a simple and elegant game blows up out of nowhere, a horde of imitators has arisen, which a quick Googling will reveal. I count six free web versions just on a quick perusal of the search results.

But what might actually be better than Suika Game is the Pico-8 recreation of it, Cosmic Collapse.

Cosmic Collapse is more expensive than Suika Game, but that just means it’s $5 instead of $3. Instead of happy fruit, you merge together planets. They go up in size from Pluto (an honorary planet), through Mercury, Mars, Venus, Earth, Neptune, Uranus, Saturn, Jupiter and then Sol herself. If you’re wondering, all planets are presented without rings. If joining two suns causes anything to happen I don’t know. (In the comments on the itch.io project, the developer says that there are objects beyond the Sun.)

Cosmic Collapse could be played just like the original, but it adds some extra features. Scoring is modified by a simple combo system: successive planets merged due to one drop have their points multiplied, encouraging the planning of sequences. And, at certain score awards, you’re granted a missile that can be used to destroy any one object in the bin. Used judiciously, it can allow your game lengths, and scores, to greatly increase. My highest so far is nearly 15,000.

The biggest advantages it has over Suika Game is in the polish and the physics. The many web clones tend to play like they were hacked together in an afternoon, but even the original is clearly a low-effort production, right down to its generic, non-looping music. The celestial orbs in Cosmic Collapse bounce around in a lively manner after merging in ways that take some practice to master, and even the smaller planets have their uses. The tiniest of space rocks, dropped at the right spot, can be just what you need to knock two other planets apart from each other, or separate one from the wall of the bin. You see? Pluto’s good for something after all!

Both Suika Game and Cosmic Collapse suffer from a certain unfairness. You don’t get to control the order in which fruit or planets get dropped into the bin. It’s been observed that even a lot of skill and practice can only get you so far if the orb-selection dice don’t roll favorably for you. The best advice I can offer, in the early game, is to try to sort the circles in size from one side of the bin to the other, which at least will make it easier to find a good place to drop things. Also in Cosmic Collapse, keeping the surface of the bin as low as you can helps a lot, since the propulsive force of the spheres, especially the smallest ones, is increased the further it falls, and that can be a marvelous prod to shaking up a static bin.

Cosmic Collapse (itch.io and Steam, $5)

TrueType Unicode versions of the Amiga System Fonts

Strictly speaking they’re not from a game, but the Amiga was regarded as a gaming computer, so you may be interested in these modern-OS compatible versions of the Amiga system font Topaz, with extra characters done in the style of the originals! They’re made by “Screwtapello” on Mastodon!

Amiga Topaz Unicode Nerd Font (gitlab.com)

More From Displaced Gamers on Dr. Jekyll and Mr Hyde

We presented Displaced Gamers’/Behind the Code’s video on the jankiness of kusoge disgrace Dr. Jekyll and Mr. Hyde back on Saturday. They did another video on that game, that delves into why the game’s frame rate is so inconsistent. In summary, its engine throttles its framerate in a terrible way, using long delay loops. It’s a pretty awful idea! It’s 19 1/2 minutes long. The video claims it’s even geekier than their first video on the game, but I think it’s actually slightly less technical, at least it doesn’t fill the screen with as much 6502 assembly code.

Another fact about J&H: the Japanese version had two full levels that were cut from the U.S. version, which replaced them with replays of other levels. It made a bad game even worse!

Now, because of Behind The Code, you know more about the Dr. Jekyll and Mr. Hyde game than many much better NES titles. Congratulations!