Archive for November, 2024

Overcoming problems with Galaga: Destination Earth

My success in applying DxWnd to Robotron X inspired me to give it a try on one of the more recalcitrant games of its ilk, Galaga: Destination Earth. To my surprise, it simply worked immediately, without needing to set it up in DxWnd at all! This was not my experience six years ago. But that was before several Windows Updates and a couple of major hardware upgrades. Had my system simply grown out out of the problem? Maybe.

It wasn’t completely working correctly, though. The FMV intro didn’t play, and the background music, which was supposed to loop, would instead play just once and then stop. I can do without the FMV — I’ve seen the intro before, and the rest of the video clips in the game seem inessential, just some brief establishing shots at the start of each mission. It’s all viewable in VLC outside of the game, and I’ve done the same for other games before. Playing without the music, on the other hand, greatly detracts from the experience. It’s not that it’s amazing music, really. It’s a competent soundtrack for an extended action scene. But that’s something that the game really needs.

Now, I didn’t mention this in my writeup of Robotron X, but it had exactly the same problem with background music, and I solved it there. The cause: both games play their background music from the CD, and apparently Windows just dropped the ability to play CD-audio tracks on loop back in Windows Vista. DxWnd to the rescue! All I had to do is extract the tracks to Ogg Vorbis files and configure DxWnd to emulate CD playback with those. And so I wound up using DxWnd for Galaga after all.

Convincing DxWnd to actually run the game proved more difficult than it should have been. Apparently it has problems with filenames containing spaces, which strikes me as a pretty glaring oversight, considering that it requires you to give it the full path to the executable, and Windows likes to install stuff to a folder called “Program Files”. I had to copy the game to a new folder called “C:\GAMES\GALAGA” before it would hook into it at all.

This done, I managed to reach mission 6 out of 10 in one night. I’ll describe the game itself in my next post. I’d kind of like to see if I can get the FMV working before finishing the game, though, even though I consider it inessential. Based on the logs, it looks like it’s still trying to get the video data from the CD, even though I have the files installed locally. I can believe that this is a problem in itself — that the Windows media library is giving up on waiting for the CD drive to respond while it’s still trying to spin up, or something like that. And if that’s the problem, it seems like it should be solvable.

Robotron X: Easy Done

Badly in need of distraction yesterday, I turned to Robotron X in earnest. I seemed to hit a wall between levels 30 and 40, though. Things just get a whole lot tougher there. Which is a shame, because that’s also where it starts turning up the variety. Levels 30-39 are the “Electrode Forest”, where the electrodes (stationary deadly obstacles) are shaped like abstracted pine trees and take 30 shots to destroy instead of just one. Levels 30-49 are the “Beam Maze”, where post-shaped electrodes are placed at grid points and periodically fire deadly arcs at their neighbors — something that has less effect than it sounds, because the posts are easily destroyed, so that it all just turns into an empty space from stray fire before long. There are a few other variations along these lines as you progress.

But like I was saying, I was stuck. You can last indefinitely if you’re gaining lives faster than you’re losing them, and I wasn’t doing that. I turned to something like save-scumming — I don’t know if this really fits the definition of that term; I usually think of save-scumming as repeatedly reloading a save until the random number generator provides your preferred outcome, and that’s not what I was doing. Rather, I was reloading my last save every time I died, and saving if I completed a level without dying at all. In this way, I hoped to build up enough lives to survive. But playing this way is laborious, less fun, and, most importantly, violates the spirit of the game. So I finally, reluctantly, turned the difficulty down to Easy.

Easy mode is so much easier than Normal that it almost seems like a different game. No scumming was needed here — the only reason I ever needed to save was to shut down the game for a while and give my fingers a break. I don’t know how many lives I ended the game with, but it was more than the ten that it’s capable of displaying. I feel like I might someday decide that I haven’t really finished the game, that Easy mode doesn’t count because it isn’t the experience that the developers intended. But then, I’m not sure that the experience that the developers intended includes finishing the game. It’s not like the ending is particularly climactic, or wraps up the story or anything. You just play a level like any other, then there’s a rather tongue-in-cheek cutscene, and that’s that.

A few more stray observations and I’ll call it finished:

The last level is actually level 199. There are more than 200 levels, though, because just before every level divisible by 20, there’s a bonus level where you try to shoot at stuff for points but can’t be killed, just like the bonus levels in various spaceship shmups. I speculate that this pattern is the reason we don’t get a level 200. Also, the second hundred are kind of a repeat of the first hundred: just as levels 30-39 are Electrode Forest levels, so are levels 130-139, and so forth. If you get to the midpoint, you’ve basically seen everything. This again makes me think that the devs weren’t designing for completists.

There are no bosses, exactly, but level 3 Brain robotrons are fairly bosslike. They tower over the other robotrons, they take 50 hits to kill, and there are never more than two of them on a level. If that’s a level 3 Brain, what’s a level 4 Brain like? It’s nothing but a huge brain that crawls on the floor like a slug. I appreciate the sense of progression from “humanoid with oversized brain” to “oversized humanoid with even more oversized brain” to “we can’t support the humanoid part any more, here’s just a brain”, but it does make it the one case where a higher-level robotron is less powerful than its predecessor.

I mentioned before that the game spreads out the spawning of enemies, teleporting in new ones over the course of a level to draw things out. I’m fairly sure now that this is linked to progress in shooting stuff, rather than merely timed. There are sections in the Grunt waves where it really seems like it’s spawning new Grunts specifically to replace the ones I’ve killed. Perhaps it’s really a response to technical constraints, rather than being primarily a design decision? This is a game meant to run on 1996 hardware. If you want to throw hundreds of enemies at the player, but can’t render that many 3D robotron models all at once, spawning new ones as you go is the best you can do.

Robotron X: Differences from the Original

Robotron X is not a greatly redesigned adaptation, like Frogger (1997) or Combat (2001). It plays basically like the coin-op arcade game: you run around frantically on a rectangular playfield, shooting in eight directions, while robotrons of various sorts chase you. Your goal on each board is to clear it of all enemies other than the indestructible Hulk robotrons. Various members of the Last Human Family mosey around, oblivious to danger, and you can eat them for points.

The most obvious differences from the original are cosmetic ones: everything’s modeled in 3D, there’s a pulse-pounding techno soundtrack (in CD-audio format!), there’s a fourth Last Human Family member (an old man, presumably Mikey’s grandpa), and various of the robotrons look very different from their 2D counterparts. Hulks were, in the original game, rectangular slabs with legs and a tiny head; here, they’re less exaggerated and more humanoid, which kind of ruins them if you ask me. I guess the developers thought the original design was too silly, but that’s what made it awesome. Spheroids and Quarks, the carriers that emit Enforcers and Tanks respectively, always seemed sort of wispy and insubstantial in the original, like they were made of energy or just warped space rather than physical matter. Here, they’re definitely physical. Spheroids look like flying saucers, and Quarks are just cubes with a texture pasted on. Here, though, I’m more inclined to blame the graphics engine than the developers’ design sense. Everything’s made of textured polygons. You can only get so wispy with that stuff. A proper Spheroid or Quark would be made of particle effects or something. Similarly, the original appearance of the sinister Progs was kind of intrinsically pixel-based, and so Robotron X just makes up something completely new for them, a sort of glowing stick figure.

As for changes to gameplay, I’ve already mentioned that there are powerups and a finite set of levels with victory at the end. The powerups appear at random, and they’re pretty basic: shields, three-way fire, etc. You can get extra lives from powerups, which strikes me as a pretty significant change. In the original game, the only way to get extra lives was from scoring points, and the biggest source of points was the Last Human Family. As a result, going after the humans was generally your top priority. But when there are extra-life powerups, they take priority over that.

The original game had a pretty small roster of enemies: Grunts, Hulks, Brains that create Progs, Spheroids that create Enforcers, Quarks that produce Tanks. The manual for Robotron X tells me that there’s one completely new enemy, the Byte robotron, but I haven’t seen it yet. How does it create 200 levels of variety and increasing difficulty, then? By giving you increasingly powerful variations of the basic ones. Every one of the original robotrons comes in four varieties, with later versions being faster or taking more hits to kill or having special abilities. For example, level 2 Enforcers can lay mines. Level 2 Grunts have jetpacks, which seems wrong to me: according to the attract screen of the original game, “GRUNT” stands for “Ground Roving Unit Network Terminator”, and any unit with a jetpack is not ground roving. Level 2 Hulks are red, which, coupled with their more-humanoid design, makes them way too easy to mistake for Grunts. It’s an unending problem for game design: there just aren’t enough easily-distinguishable colors. Also, it’s a little weird how the system is based on the idea that the original robotrons are basic elementary types. I mean, really the original game already had a harder variant of the Enforcer. It was called the Tank. But X has to pretend that Enforcer and Tank are two completely different species.

But if you ask me, the most significant change is this: The robotrons don’t all appear at once. They come in waves, more teleporting in periodically as you clear the level. It’s not clear to me if waves are timed or of they’re triggered by progress, but either way, the effect is to keep you on your toes. You can no longer rely on the Grunts to all cluster together in a big pack that you can run circles around, because there will be more spawning in front of you. I think this is probably to the game’s benefit on the whole, but it can get a little exasperating when you think you’re on the verge of winning a level and all of the sudden another wave of robotrons appears and stretches things out.

Robotron X

Yesterday, I briefly mentioned the difficulty faced by Robotron adaptations in the days before dual-stick controllers. This put me in mind of the one licensed Robotron game currently on the Stack, so I went and installed it. This in itself proved something of an adventure, so this is mostly going to be a tech post.

Robotron X, released in 1996 on Windows and Playstation, is one of the earliest examples of the circa-2000 Classic Arcade Game Remake genre, and fits the basic expectations of the genre perfectly — that is, it adds 3D graphics and powerups. It also adds winnability, with a final level of some sort, but looking at the files, it appears to be some 200 levels in. That’s the reason I didn’t beat the game back in the day, and also my main memory of the experience: that it’s as much a test of endurance as of skill. It does support saving progress, but you have to take your fingers off the gameplay keys to do it, and it’s difficult to convince yourself that’s a good idea in the heat of battle — particularly if you’re unsatisfied with your life count. Robotron is famously a game where lives are cheap, quickly gained and quickly lost, but how many will I need stockpiled for the final battle? I won’t know for a while. I had a notion that this would be a quick game to get through if I just devoted a day to it, but that day is over, and I’ve only survived through about 15% of the levels.

Mind you, it should get easier now that I’ve corrected the worst of the bugs. Without limiting the framerate, the game has a number of problems, including the camera shaking violently every once in a while, Enforcer robotrons being unreasonably deadly, and a few things, such as the bullets fired by Brain robotrons, simply not getting rendered at all. Some of this stuff, I wasn’t sure if it was intentional or not until I watched some gameplay footage of the Playstation version on Youtube, confirming that yes, the Brains do actually shoot at you and the Enforcers don’t shoot that often. If for some reason you’re thinking of playing this game and don’t have a copy already, I strongly advise getting the Playstation version instead of the PC version. Play it under emulation if you have to. It’s identical, but must be easier to get working properly.

In fact, just getting it to run at all on a modern PC took some doing. Running it directly off the CD, as it was designed to do, throws an error and exits immediately after the opening logo movie. Copying it to local storage and running it in Windows 95 compatibility mode gets it a little farther, but it still hangs before displaying anything 3D. Remembering my recent discovery of DxWnd, I tried running it there, and it managed to display some 3D intro animations, but got stuck immediately before showing the main menu. Now, DxWnd has a UI of commercial-airline-console-like complexity, with oodles of settings to tweak, and I tried randomly tweaking the ones with promising-sounding names, but ultimately had to seek help online. And for the most part, the internet doesn’t even know that a PC version of this game exists. Not even PC Gaming Wiki, my old standby for help running old games on modern systems, didn’t have so much as a stub of an entry for it. The one place that was of help? A four-year-old thread on the DxWnd forums, which told me that the magic setting for this game is “Palette update don’t Blit”. I’m starting to think that DxWnd is going to be my first and last resort on these matters for the foreseeable future.

Oh, and as for the twin-stick problem: Robotron X‘s controls are idiosyncratic. On PC, it lets you move and shoot from the keyboard, with two sets of keys, which default to ESDF and IJKL, plus optionally some weirdly asymmetric keys for diagonal movement that you can ignore if you’re accustomed to pressing two keys at a time for that like any modern gamer. Well, after all, this game predates the ascension of the WASD standard. It doesn’t support arbitrary key rebinding, but it does support a handful of alternate key combinations, all of which are worse. The closest it comes to WASD is WADX, combined with 2468 on the numeric keypad, which is just painful to contemplate. I’ve considered avoiding all the control layouts by running some software to make my trusty Logitech F710 emulate keypresses, but I’ve been getting used to the default keys, and they’re not so bad once you’ve had some practice.

(Added 7 Nov) Actually, it turns out that I wouldn’t have needed to install anything else to produce keypresses from my gamepad. DxWnd can take care of that too.

UFO 50

Stepping back a bit, I spent a substantial amount of time this fall on UFO 50, a collection of fifty retro-styled games written by a team of established indie auteurs over a span of years. There’s a Tolkien-like conceit to it, a pretense that the authors didn’t write the games, but discovered them — they were all supposedly created by a fictional company called UFOSoft, and each individual game has credits listing the individual fictional developers who worked on it. The game’s intro screen, which looks like an old crack loader, shows a series of photos of the dev team finding the fictional LX 8-bit console and its cartridges in an abandoned storage space. (The LX, by the way, has a built-in screen, handily explaining why games supposedly written in the 1980s run in 16:9.)

Although the games are retro-styled, their design sensibility, their mechanics and UX, are decidedly modern. Although many of them are clearly based on well-known games of the period, they always put some unique twist on them. And several of them draw from genres that hadn’t been invented yet when they were supposedly written, like idle games or tower defense. I’ve seen it asserted that it’s not actually appealing to nostalgia for 1980s console games, but rather nostalgia for the 2010s indie scene. And there’s something to that, not just in the content of the individual games, but in how they’re presented: as a smorgasbord. Those of us who were children in the 1980s remember games of the period as unitary things that you played monogamously until you had sucked all the entertainment value from them, because you probably weren’t going to get another until Christmas. Here, instead, you have a variety of games that you dip into as the mood strikes you, with no great commitment to finish all of them. So the overall experience resembles a games site like Newgrounds or Armor Games, or alternately, with its added framing UI, the various compilations that authors of Flash games have put on Steam since the death of Flash in the browser. It also resembles my Steam library, except that it’s of a manageable size, there’s a possibility that I’ll finish it all someday, and all of the games are highly distinct from one other, even when they’re a direct sequel to another game in the collection.

There’s some hint of a shared universe in some of the games, with recurring characters and reused assets and suggestively similar situations. Some of the links are pretty subtle, such that I wouldn’t have noticed them myself. It’s fun to overextend this and imagine that all of the games are linked, despite radically different genres: that whimsical kiddie fantasies like Magic Garden and Elfazar’s Hat exist in the same timeline as Fist Hell‘s zombie apocalypse and Avianos‘s post-human-extinction Earth. Apparently there’s an underlying mystery as well, a trail of clues that you can follow from game to game to unlock… something. I haven’t sought spoilers on this, since I found the entry point on my own and kind of want to follow it as far as I can independently. But solving the very first clue directs you to look for something in Mini & Max, a sort of adventure-platformer hybrid about exploring a closet while shrunken down to miniscule size, and this is one of the few games I haven’t made much headway in yet. It just has a level of complexity, of state you have to manage in you brain, that exceeds the threshold of what I can easily muster when I’m in smorgasbord mode.

But everyone’s going to find a different subset of the games grabs them. Here follows a list of the games that I’ve given the bulk of my attention to. The emoji indicate my progress. If you beat a game — whatever that means for that game — it awards you a golden trophy, and reveals an extra challenge that you can do, usually either 100% completion or some hidden secret goal. Beating this goal awards you cherries. Most of the games on this short list are ones that I’ve played enough to get cherries on.

🍒Party House: Probably my favorite in the collection. This is basically a deck-building game (a genre that didn’t exist in the 1980s) about throwing parties. Guests are drawn at random from the roster you’ve built, and most of them give you resources that let you buy better guests or expand your house, which lets you throw bigger parties. But some guests cause trouble, which can end the party without giving you anything. To deal with this, some guests have special abilities, like canceling out trouble or throwing out selected guests or summoning specific guests you select. You have a limited number of iterations to throw the ultimate party, which requires bringing in expensive “star” guests like aliens and mermaids. It all turns into an exercise in mastering a complex ruleset while adapting to circumstances, and, as with all the games, you have to figure it out without the aid of the manual which was presumably originally packaged with the game.

🍒Pilot Quest: Pilot is UFOSoft’s mascot character, their Mario, although this game plays more like a Zelda. It’s an action RPG, complete with Zelda-style dungeons, but it’s also the one with idle game elements, including a rudimentary ascension system, giving you special upgrades every time you complete the game. While you’re waiting for resources to accumulate, you can go exploring to find items that help with the resource accumulation. Or you can play other games! Time passes in this game while you’re not playing it, although not when you have UFO 50 as a whole closed. So it makes sense to try this one early so it’s advancing while you try all the other games. It’s grindy, but in a way that I found appealing.

🍒Warptank: An action-puzzler. In a side-view mechanized space-station environment, you control a tank that rolls left and right on whatever surface it’s on, and can additionally launch itself to the ceiling and roll around there. So it’s a bit like VVVVVV, except that you can also change your orientation by rolling over 45-degree bends in the surface you’re on. This one’s all about internalizing an unintuitive and disorienting movement system, while shooting at stuff.

🏆Overbold: This is a twin-stick shooter in spirit, even though the LX didn’t have a dual-stick controller. I remember this being a problem for console adaptations of Robotron back in the day. Like several other UFO 50 games, Overbold takes the fairly elegant approach of letting you shoot and move in two different directions by not changing your shoot direction while you have the fire button held down. The interesting thing about the game is that it’s really all about bidding strategy. The premise is that you’re being forced to fight in an alien gladiatorial arena. Winning fights earns you cash, which you can spend on upgrades. But also, the amount of cash you win depends on how many enemies you choose to fight at a time. To survive the final round, which is the only one where you don’t get any choice about what you’re fighting, you’ll need a whole lot of upgrades. So there’s pressure to make your fights as hard as you think you can manage, to earn enough cash for the upgrades you’ll need in the end. But it’s very easy to overestimate your abilities — hence the title — and a single mistake can mean game over, putting you back at square one. It’s a very addicting loop, one that I had some difficulty pulling myself away from.

🍒Porgy: A metroidvania where you play as a cute yellow submarine. That’s about all I can say about it, and all that needs to be said. It takes a cue from Ecco the Dolphin by starting off calm and soothing but ultimately linking the marine environment to unsettling aliens. The style is mostly friendly, though, and it makes a transparent and unconvincing attempt at making the violence nonviolent by giving you torpedos that are somehow nonlethal and merely pacify the unnaturally violent sea life. You basically just have to accept this as part of the style, a nod to other 1980s games that pulled similar stuff.

Rock On! Island: The only game on this short list that I haven’t beaten, this is a tower defense about cavemen fighting dinosaurs and other prehistoric animals. I just enjoy tower defenses in general, and this is a pretty difficult one, largely based around balancing your resources defending multiple pathways. Also, the player avatar can move about and attack in battle, and can be upgraded to a much more powerful attack than any of the statically-placed defenders, so a big part of the strategy is about deciding when it’s worth it to spend resources on yourself and when to spend them on more defenders. I’m pretty sure that part of why I haven’t finished it yet is that there are elements that I haven’t figured out, too — see again the implied existence of manuals that you don’t have.

Road to Elysium

It’s been a while. What have I been playing? Well, just in the last few days, I’ve mostly been absorbed by the “Road to Elysium” DLC for The Talos Principle II. There are three separate scenarios, and each one takes a different approach to the problem of adding more puzzles to a story where the source of the puzzles has been defeated.

The first scenario, “Orpheus Ascending”, is basically a side story: it has you going back into the simulation where the entirety of Talos 1 and the opening of Talos 2 take place, there to recover soul fragments of a destroyed robot, so she may be reconstructed. Apparently this resolves a subplot in the main game, but not one that I remember at all. It’s explicitly called out by a character in the intro cutscene as resembling Orpheus’s descent into the underworld — I haven’t said much about it, but Talos 2 is chock full of references to Greek mythology. So it’s a little strange that it takes place in the Egyptian-themed section of the simulation rather than the Greek-themed one. But the Egyptian one is the only part that’s ever seen in Talos 2, and apparently it’s appropriate here because its name is the “Land of Death”. (The other sections of Talos 1 are called the Land of Ruin and the Land of Faith. It’s not clear to me where these names come from — they’re never referenced in the game itself.)

Going back to the old simulation means the puzzles are constrained to only use elements from Talos 1. But it delves deeper into their mechanics than we’ve seen before — in particular, how beams behave when they clash, when they collide midair or compete for the same connectors. Previously, you generally only saw this sort of thing when your solution was set up wrong. Here, you induce failure deliberately. It’s very well-tutorialized, too. It doesn’t assume that you already grasp how it works, but builds up from simple deliberate failures to more complex ones.

The third scenario, “Into the Abyss”, I haven’t looked at much yet, and only mention it now to get it out of the way so I can spend the rest of this post talking about the second scenario. It seems to have no particular puzzle theme other than very difficult puzzles, which is a good thing after the ones in the main game turned out unexpectedly easy. Narratively, it’s a flashback: there’s a point at the end of the main story where an NPC’s consciousness is trapped in a new simulation, and now he describes what he experienced there.

The second scenario, “Isle of the Blessed”, is the game’s beach episode. A bunch of characters get together on a tropical island hosting a massive puzzle-based art installation inspired by the events of the main game. We’re repeatedly reminded that solving the puzzles here is completely inconsequential, a diversion you pursue for its own sake alone. Which, of course, has really been the case all along for the player, just not for the characters. Ironically, this means that the puzzles are in a sense more consequential for the player than for the characters: as in the main game, progress in solving puzzles triggers advancement in the plot, even though there’s no logical connection. The plot you’re advancing is fairly trivial, mind. The most dramatic thing I’ve seen happen is that a pair of old friends who had a disagreement back in the main game finally reconcile. And yet, I am no less motivated to solve these puzzles than when the world was at stake.

Through the NPC chit-chat, though, this scenario references the events of the game more than the other two. And in the process, it references things that the player had the opportunity to influence. As such, it establishes certain possibilities, certain choices, as canon. There’s an entire major NPC, very important to the plot, whose very presence is only possible under the assumption that you solved a bunch of optional puzzles back in the main game. Heck, even the existence of these physically-implausible puzzles in reality outside the simulation is only possible if you decided to make the necessary technology available at the end of the game, instead of sealing it away or destroying it. It all goes to reinforce what I said before about the game pushing the player toward specific choices, and a specific point of view.

Anyway, I haven’t finished this stuff yet, but I don’t intend to do another blog post about it (unless it does something really surprising). Expect the next few posts to be about other stuff I played during the summer but didn’t get around to documenting.

« Previous Page