Sunday, July 21, 2019

Game 82: Galactic Attack

It looks like a PT boat fell on an X-Wing.

Even before creating this game, his first commercial release and his earliest game to be playable today, Robert J. Woodhead had already gained a notorious reputation on PLATO. Dirk Pellett, co-author of dnd, refers to him in the helpfile’s history chapters as “Balsabrain,” furiously accuses him of publishing an illicit copy of dnd as his own in 1977, and further accuses him of plagiarizing Oubliette as Wizardry.

In the eyes of those who would consider Wizardry nothing more than an Oubliette ripoff, this earlier game Galactic Attack will do Woodhead no favors, as it’s quite obviously an unauthorized remake of Empire.

As the Apple II was far weaker than the multi-million dollar supercomputer network that hosted Empire, Galactic Attack is understandably stripped down from its inspiration. There’s no multiplayer, obviously. The 25-planet galaxy is replaced with a much smaller solar system with only 11 planetoids, and your ship can perform maybe half of the functions available to those in Empire – though I am quite impressed that even that much of it was translated to the Apple II’s limited resources.

And yet, it had one huge accomplishment over Empire. It can (and must) be played offline, against the computer, which was never an option before. I no longer need to wait until players join a game on Cyber1 to get some practice in; I can now fight matches any day of the week, whenever it’s convenient.

This is a huge change which leads to a very different strategy dynamic. Empire had fleets of ships continuously battling for space superiority. Your partner would ferry troops from one planet to another while you flew on his wing, ready to engage enemies that might attack him. In Galactic Attack, you are all alone. The theater of operations is the solar system, consisting of every major planet plus Luna, Ceres, and Pluto. There are no friendly starships, there are unlimited hostiles, and every planetoid except Earth and Luna are occupied by hostile ground armies, which will fire on your ship should you attempt to orbit. You must fend off multiple enemy starships alone, you must commence orbital bombardment of the occupied planets alone, you must plan your strategy for retaking the planets alone, and you must execute it by transporting your armies to their destinations alone. On the flipside, when you retake a planet and bulwark it with your own armies, you’ll keep it for the rest of the game, as the Kzinti have no ability to bomb your armies or invade your planets.

Another big advantage, in my view, is that the frame rate is dramatically improved. It’s still abysmal by today’s standards, generally taking between 1.5 and 2 seconds per screen update, but in Empire it took 5 seconds, which was more than enough time for an on-screen enemy to launch a salvo of torpedoes at you and destroy you before the screen could even update and let you see them! The improved frame rate, combined with a slower game pace, means you can actually see enemy torpedoes hone in on your vector before blowing you up, which had been a major frustration to me in Empire.

An options screen lets you set ingame parameters.

I didn’t spent a lot of time seeing how the game plays when you deviate from the default settings. Customization is nice, but without any preset modes or developer recommendations, I feel like I'm being saddled with the designer's responsibility. You could, for instance, max out the Kzinti damage and make yourself fight nine at a time, but I doubt surviving would even be possible, let alone fun. It reminds me of the "007 Mode" of Goldeneye with customizeable difficulty parameters; fine for screwing around, but without a baseline easy/hard mode to base your settings off of it's not very useful for creating a balanced difficulty of your own.

To be clear, I appreciate that this level of customization exists, but I wish there had been more developer-recommended preset modes than just the default.

A fully zoomed-out view of the solar system

The goal is to regain control every planetoid in the solar system, which are plotted on random points of fixed ellipses more or less corresponding to their real-universe orbits. All but Earth and Luna are occupied by Kzinti armies, and the standard procedure to take them back is to orbit, “strafe” the armies with your bombs, break orbit before their return fire destroys you, repair, and repeat until there are only three left, at which point your strafing runs will always miss. Then, you must go to a friendly planet, beam aboard some armies, and transport them down to the surface, repeating until the planet is yours. This requires at least four armies (evenly matched forces will mutually destroy each other), and may take multiple trips, as your ship starts with capacity for only one. Your army capacity grows as you score kills, up to a maximum of ten, but carrying lots of armies around will severely diminish your fuel efficiency.

Planets with three or more armies on them will recruit more over time, up to a maximum of 63, and some planets just seem to recruit faster than others, though this varies game to game. Because of this, once you retake a planet of strategic value, it’s good to boost it up to three armies, and then let it accumulate more while you focus your attention elsewhere. In the above screenshot, Venus is a good place to stage armies for conquering Mars, and Mars is a good place to stage armies for conquering Saturn. The Kzinti will leave your occupied planets alone, but their occupied planets will recruit armies too, and the outer planets are virtually guaranteed to hit the maximum allotment of 63 before you have a chance to attack them.

Of course, the Kzinti won’t just leave you alone while you attack their garrisons. With the default settings, three fighters will spawn from a random occupied planet right off the bat, and zero in on you, which may take some time or very little depending on how far away they are from Earth. You must lower your shields to strafe planets or to beam armies up or down, and you can’t sustain many hits without shields. You’ll have to destroy the fighters before making any real progress on liberating the planets. When you destroy the last of them, you’ll be left alone for a random amount of time – I estimate it ranges between 160 and 240 seconds – during which you’re free to focus on retaking planets. But eventually, three more fighters will spawn from a random occupied planet, and if they spawn from a planet that you happen to be in the process of laying siege to, with your shields down, your systems in repair mode, and your fuel low, then Godspeed.

I had trouble dogfighting at first. With the default game options, I’d have to take on three Kzinti fighters at once. I’d fly away from them, flinging torpedoes at them behind me, and maneuver in a triangular pattern so that I could stay close to my territory without allowing them to flank me and obliterate my ship in a hail of crossfire. But killing them took forever, the torpedoes and the constant outrunning took too much energy, and I’d always run out of fuel and be a sitting duck, unable to move or fire back.

Space is a tough place where wimps eat flaming plasma death.

Then, I realized something. Torpedoes are for suckers. Each costs 30 units of fuel on its own, you’ll have to fire several to ensure that some hit, each hit can do a maximum of 35/100 damage, and I would assume on average do half of that. Phasers cost 50 units of fuel per fire, will always hit if close enough and aimed correctly, and do much more damage on average, sometimes even one-shotting.

Getting close does expose you to harm sooner, and they’re slightly more challenging to aim; torpedoes can be aimed with cardinal directions, while phasers must be aimed with exact numerical angles. One irritating quirk of the game engine is that when there’s a lot of action on screen, keystrokes sometimes don’t register; e.g. “P,1,8,0” comes out as “P,1,0” and I fire my phasers at 10 degrees instead of 180, almost the exact opposite angle as intended.

Flinging masses of torpedoes from high Earth orbit, where refuelling was boosted, could be a useful way to thin out a formation of approaching Kzinti. Aside from that scenario, the benefits of phasers just seem to far outweigh the cons. You have recharging shields, they don’t, and in a pinch you can divert the fuel you’re saving into recharging your shields faster. I started surviving my encounters much more consistently once my dogfighting strategy became “spam phasers.” You’ll still need to move out of the way when clusters of torpedoes are launched at your heading from three different angles, but it isn’t necessary to dodge every single one of them.

Fuel is a big deal in this game, so I did some tests to find out how fuel regeneration and depletion actually works. Each “tick” of the ingame clock:
  • 14 fuel is regenerated.
  • Another 0-6 fuel is regenerated when orbiting Earth. Contrary to what the manual says, only Earth does this, and there is no benefit to orbiting other friendly planets.
  • 2 fuel per warp factor is depleted.
  • 1 fuel per 50% shield level is depleted. No fuel is depleted when shield levels are at 49% or lower.
  • 1 fuel per army onboard is depleted.

From these stats, we can see that a cruising speed of warp factor 7 will allow indefinite travel with no net loss of fuel, so long as shields are down and no armies are onboard. Lowering your shields when combat isn’t imminent is probably a good idea in general, just because it saves fuel. It costs about 120 fuel to regenerate your shields to 100% from nothing, and this fuel can be recovered in 10 ticks. If your fuel tank is full, and the Kzinti aren’t yet visible on your zoomed-in view, then you can just quickly raise your shields and regenerate them, and you’ll be fine.

After from dogfighting, there’s an element of risk-taking in between skirmishes. During this period of time, you’re free to focus on planets without Kzinti interference, but you never know how long you have, or where they’ll pop up next. Your ship is going to be a bit battered and its fuel reserves low after the fight, so maybe you’ll want to head to earth where you can repair and let your fuel recharge. But that’s going to take time, during which the Kzinti armies will grow, and you’ll have that much less time before the next wave of fighters launch. Maybe you’d rather set a course to the next planet, with or without some armies aboard, let your crew repair the ship on route, and then alternate between strafing the planet and repairing/refueling the ship from out of range until the planet is weak enough to invade. But what if the fighters launch from that planet while you’re in a repair cycle?

As it happened here.

To take a planet, after bombing it as much as possible, you must retreat to a friendly planet with armies, and beam some of them up. You’ll need 4 armies if you just want to take the planet and then forget it, and 6 armies if you want to turn it into a strategic outpost. Then you’ll need to fly back to the hostile planet, which by now has probably recruited an army or two, which you should strafe back to 3. Then, unload your armies. If you unload 4 onto a planet with 3 hostiles, then you’ll be left with 1, and will conquer the planet. If you unload 6 onto a planet with 3 hostiles, then you’ll be left with 3, which is enough for the planet to recruit more armies on its own.

Once you’ve taken back some planets, the Kzinti will occasionally spawn from outside of the solar system. This is great news, because it will take them an extra-long time to reach you, and no further ships will spawn until you’ve destroyed them. You’ll have extra time to make progress on bombing planets, but you’ll need to be careful to keep one eye on the long-range radar, and not get so carried away with bombing their armies that the fighters sneak up on you with your pants and shields down.

I managed to win with a somewhat aggressive playing style. After each sortie, I’d head straight to the nearest Kzinti-occupied planet, only bringing armies along if I felt confident that I could bring its own army count down to 3 before the next wave of fighters spawned. If not, then I’d perform the orbit-strafe-break-repair cycle until the fighters spawned and then re-assess the situation. If I managed to bombard a planet down to its critical level without fighters spawning, then I’d be careful not to approach any more hostile planets without near-full fuel, because at that point you never know when fighters might scramble, and you really don’t want to be caught in a dogfight with low fuel. You can survive a surprise encounter with your shields down, but if your fuel is low, you're doomed even with full shields.

A trick I found, when orbiting enemy planets, is that you can queue up commands, and have your ship execute them in order with maximum efficiency. Pressing “O,S,S,S,S,S,4” in quick succession will order your ship to orbit, strafe five times, and then break from orbit at warp factor 4, and your ship will carry out those orders with minimal delay in between actions. The downside is that once you queue up these orders, you can’t override or cancel any of them. So, if you mash S ten times, you’re committed to strafing a planet ten times, and will probably get killed before you’re done. Four strafes before breaking seemed to be safe, although against late-game planets with a full 63 army reserve, I tried to be a bit safer with just three.

Time to pull out from Uranus.

Toward the end of my final victorious game, which I’ve recorded, the Kzinti caused a revolt on Uranus, which was not in a strategic location, and I therefore had only stationed one army there.

Or, Uranus is revolting!

The manual mentioned Kzinti can cause uprisings on planets with few armies, but this was the first time I had seen it. It didn’t really matter; I was near the end of the game, and was ready to capture Pluto at the ends of the solar system. Afterward, I backpedaled to Uranus, killing some fighters on the way, and beamed up four more armies to re-conquer it.

Victory! I have no idea how the score system works.

I’ve uploaded my recorded victory run in two parts, as I had saved my game 30 minutes into the attempt. If you actually watched any of it, please let me know! The right arrow key can come in handy for fast-forwarding 5 seconds at a time; there’s a lot of downtime in between the interesting parts, and it gets longer the farther into the game I get.

Part I: The Lunar Campaign, in which Ahab makes first contact with the villainous Kzinti, and liberates the inner worlds of Venus, Mercury, Ceres, and of Uranus at its perigee.

Part II: The Martian Campaign, in which Ahab breaks through to the strategic world of Mars, stages there a beachhead to the heavily bulwarked outer worlds and conquers them, and lastly suppresses a rebellion at Uranus.

I got some enjoyment out of playing Galactic Attack, more than out of Empire IV which I found impenetrable, but I can’t rate it too highly. The blend of strategy and action is interesting and fairly well balanced, but the controls in combat are frustrating, the strategic element is thin, and the biggest issue is that there’s just too much downtime. You spend a lot of time waiting to warp between planets, waiting for repairs, and waiting for your ship to refuel.


  1. > If you actually watched any of it, please let me know!

    I did, a bit. It's probably one of those games that's more fun to play than watch... Though the sound effects were pretty nice!

  2. Hey Ahab,

    I am about to write a short article about this game (conclusion : not a RTS after all) ; and honestly thank you for the analysis about how much troops you need before a planet generate its own troops, the analysis on the energy cost, and more importantly, the superiority of phaser over torpedoes. I totally agree on the latter. In any case, you probably saved me a few hours of research.

    Just a couple additional question
    - Which version did you use ? Apple II ? It looks marginally different from mine, but maybe it is just the emulator (AppleWin for me, and I know you love MAME).
    - Did you have an option to play on a smaller world ? I did, and I totally exploited it. No way I am conquering 11 planets. On a small world, you only have Mercure, Venus, Earth, the Moon, Mars and Jupiter, so it is a shorter game. That's totally what I did :)

    1. I used AppleWin for this one, configured for an Apple ][+ in monochrome. These may account for the visual differences. I generally prefer AppleWin in most cases, but MAME has superior joystick/paddle support.

      There's an option for an intermediate or short campaign which I must have failed to mention. Intermediate limits the solar system to Jupiter, as you mention, and short ends it at Mars.

      Good luck!


Most popular posts