Tuesday, March 24, 2020

Game 165: Galactic Empire and the road to Choplifter!

A big part of what I do here involves retroactively looking at a company’s early catalog, working my way up to their first breakout title through a selection of their prior works and influences. The very first whale of Data Driven Gamer – “Breakout” appropriately enough – led me down a rabbit hole of even earlier Atari games, and we could see their style emerging and groundwork laid for later games as well. I’ve retrospected over a dozen developers in this way, whose names can be seen off to the right as cloud labels.

That’s all and well when discussing developers, but is there also value in exploring the back catalogs of publishers? It’s easy to view publishers as a pragmatic force, important for funding and distribution, but largely irrelevant or even destructive to the creative process. I simply don’t care, for instance, that Atari was the U.S. distributor of Dig Dug and numerous other arcade games by Japanese developers. The version of Dig Dug that most of us would play nowadays is 100% Namco, and predates Atari's involvement.

Sometimes, though, a set of games may have a semblance of continuity through the publisher, despite having no individual programmers in common. We’ve seen that Avalon Hill, for instance, published Chris Crawford’s Tanktics, Gary Bedrosian’s B-1 Nuclear Bomber, Midway Campaign by an unknown programmer, Tom Cleaver’s Galaxy, and Daniel Lawrence’s Telengard, and all of these games feature wargame-like mechanics, had been available on cassette tape format for a wide variety of 16-32KB microcomputers, came with in-depth manuals, and were all programmed in BASIC and distributed in such a manner as to be easily modified by end users. It’s hard to think that this is a coincidence – I’m sure that although these games were all created by different people, Avalon Hill intended some consistency of quality to go with their brand.

This brings us to our next whale, Choplifter! designed by Dan Gorlin, and published by Broderbund. We cannot use this as a launching point for a Gorlin retrospective - it's his first game that we know of, and none of his later games make whale status. Apart from a few years working at Broderbund and involvement in a 3D remake in 2012, video games did not play a major role in Gorlin's storied career.

It may, however, make sense to use this as a Broderbund retrospective instead. In its heyday, Choplifter was marketed and seen as a Broderbund product, as were later games such as Lode Runner, Karateka, Where in the World is Carmen Sandiego, and of course Prince of Persia. How much would playing previous Broderbund games help us to better appreciate Choplifter and other games to come? I intend to find out.

Although Broderbund is known as an Apple II publisher in this era, their first product originates as a TRS-80 game, Galactic Empire. This is not to be confused with Tom Cleaver's Galactic Empires,  released the same year 1979, of which I will be making several comparisons to. Broderbund's earliest releases as a publisher also include several games by Japanese microcomputer developer Starcraft, whose breakout hit Apple Galaxian solidified Broderbund's status as a force in the burgeoning Apple II software market, but also rocked the boat for obvious reasons.

Two important games of 1981 include Apple Panic, credited to Ben Serki (his sole credit), and David's Midnight Magic, by David Snider. The former, an unauthorized adaptation of Space Panic, was undoubtedly an influence on Broderbund's famous Lode Runner. The latter is an Apple II pinball game, a category that's soon going to be populated with the likes of Raster Blaster, Pinball Construction Set, and Night Mission Pinball.

In 1982, the same year as Choplifter, Broderbund published A.E. to a fair amount of success. Today A.E. is notable as the first product by Japanese developer Programmers-3, better known now as Compile. We'll be covering more of their games quite a bit later.

For now, though, here's my road from Galactic Empire to Choplifter.

Galactic Empire's 8-page manual explains that our mission is to conquer the galaxy, noting that FTL travel is physically impossible - we will need to go into cryogenic hibernation to endure the years needed to travel interstellar distances, and even then we only have 1000 years to achieve victory. Conquered planets will add to the strength of our empire, but careful planning and logistics will be needed to complete the mission in a timely manner, bearing in mind that time also passes at a rate of 4 real minutes per ingame year when not hibernating or traveling.

This is a 4x game! And one that's eerily similar to Galactic Empires' singleplayer mode, down to the emphasis on logistics. The biggest difference is that here, you have a centralized fleet, and can only issue orders from the seat of your flagship, giving it almost an RPG-like feel. Your resources - soldiers and credits - are collected from territory planets through conscription and taxation, and these actions can likewise only be performed from orbit. There is simply no system for receiving tributes from the far-flung reaches of your empire; you must go there and collect yourself.

Ships are built on sufficiently advanced planets and you must be present to place orders, but you can place orders well into the future. Because large fleets take time to build, and you may not want to wait around for them to complete, you can give the shipyard instructions to send completed ships to meet you at a different system - if you can plan ahead that far! You can even give time-sensitive orders - for instance "wait 10 years, then build four fighters and one transport every year over for the next five years, and send them to Kgotla when they're finished" is a valid order Just be sure that you're at Kgotla within 15-20 years to collect them, because after five years of waiting, individual ships will run out of supplies and be lost. Ship prices fluctuate, but are paid in advance at current prices.

You may also send scouts to investigate systems and then return, and the "return" planet needn't be the place where they started. After all, they take years to fly out, return, and it will take you more years to fly to a new destination - you might just want to save some time by picking a rendezvous point closer to the action. Once sent out, you cannot read their reports or give them additional orders until you rendezvous.

Fighter and transports, once they have joined your fleet, will never leave it. Transports hold 100,000 men each, which are enlisted from your territories, and may be ordered to make planetfall for a ground invasion to conquer a neutral planet, but only if your fleet is in orbit, and only if you have fighter superiority. Bad things happen if you accidentally invade a planet that you already control.

I started off playing version 1.00, but discovered this version had some really nasty bugs - purchased ships would vanish, the combat display was glitch city, and during my first dogfight, it crashed.

Not a good look, Doug.

So I abandoned the initial version and tried v1.14, which behaved better, didn't crash and supported on-disk saving, rather than the cumbersome tape saving that took forever and never seemed to work right when loading.

The galactic map. Z-coordinates are not shown, Y-coordinates are inverted.

I started off as I naturally would - gathering data! The onboard computers give you the coordinates of the galactic systems, which I punched into an Excel spreadsheet, though two other vital statistics - planet population and technology level - may only be learned through scouting. There are 20 planets in total, and each one begins with a different letter of the alphabet, for simple, single-keystroke correspondence. Galactica, your imperial seat, has a population of 400 million, and sophisticated technology which allows for building space ships.

I ordered scouts to the five closest planets and back, collected 400 credits in taxes, and enlisted enough men to fill 80 transports - equivalent to 8 million. It would take 20 years for my scouts to return, so I had some time to kill. I placed an order for 36 more fighters, 9 more transports, and 15 more scouts, which used up most of my money and would take twelve years to complete. I then waited in cryogenic hibernation, making sure to wake up every five years to collect my ships and receive reports from my returning scouts.

A note concerning math, Galactic Empire measures ground forces in terms of hundred thousands, as this is the number of men that fit on a single transport ship. Moving forward, I will, anachronistically, use the vinculum numeral C to denote these numbers. 80C means 80 times a hundred thousand, or 8 million, enough to fill 80 transports.

By year 21, my ships were built and my scouts all returned, giving me information on these planets:
  • Utopia - 2LY away, over 400m population, sophisticated technology
  • Proyc - 8LY away, over 1b population, sophisticated technology
  • Zoe - 8LY away, under 100m population, primitive technology
  • Yang-Tzu - 9LY away, over 1b population, sophisticated technology
  • Novena - 10LY away, over 400m population, sophisticated technology

Yikes! Four out of five planets were badder than Galactica.

I set a course for Zoe, the only weak-sounding planet of the five.

I attacked and it fell pretty easily, though at a significant cost to my troops.

I collected some meager taxes and recruits -  only 54 credits and 5C worth. I tried Utopia next, and their fighter defenses scrambled and obliterated my fighter squadron, leaving my flagship defenseless.

Game over, man!
After a few more false starts, and finding that the galaxy is randomized each time you restart, I made headway. If you play, my specific notes on the galaxy's systems will not likely align with yours!

Galactic Empire is strange about how you gather resources. You can tax and enlist from a planet once per visit, and it doesn't matter how long it's been since your last visit. You can tax Galactica at a rate of one credit per million population, embark to a nearby neutral planet, immediately return, tax again, and repeat for as much money as you like. Galactica will never go broke. If you can go back and forth between two planets under your control, that's even better. Enlistment has some diminishing returns since doing so at the maximum rate decreases population by 2%, but you're likely to run out of space for men long before this becomes an issue. Conversely, you can tax and enlist from a planet only once per visit. Galactica will have nothing more for you, even if you wait there for years, until you leave and return.

In my case, the galaxy generated a planet Javiny only one lightyear away, so I could effectively tax and enlist every two years, buying transports on Galactica with all of my money, until I accumulated 200 filled transports, representing 20 million ground troops. This was enough to conquer Harkon, an atomic age planet of 528 million, defended by 145C ground troops, but I lost 150C in the process.

A side note here, it is utterly infuriating how Galactic Empire sometimes parses a single digit as a completed number when you intended to type two. For instance, one time I wanted to enlist 80C, but after typing '8' the game decided to accept that as the input without waiting for any further keystrokes. Arghh! Also annoying but more forgivable is that pressing Esc will instantly quit the game - not a big deal if you can remember that "R" is always used to back out of menus and never "Esc," but muscle memory's a bitch.

My victory on Harkon was costly - you don't get your transports back after a fight, so I was left with 50 filled transports, no empty ones, no place to put recruits, and no ability to build new ships on this atomic-age planet. So, I collected taxes, returned to Galactica and repeated the trick of ping-ponging between it and Javiny, taxing the former while building more ships and continuing to scout.

An oddity I discovered during this time is that a planet's capacity to build ships resets when you leave and return; normally it can only process one order of five ships per year, and this limit will hold if you wait it out in hibernation. Let's say it's year 1, you're on Galactica, and you place ten orders. Galactica will be building ships from years 1-10 (and you get your first immediately), at a rate of one order per year. But now let's say you leave and return by the year 5. You'll receive your 25 ships, and Galactica is still scheduled to build ships from years 6-10. Place another 10 orders now, and something strange happens - these orders will be scheduled not from years 11-20, but from years 5-14! And this will not disrupt the existing queue. Galactica will effectively process two orders per year during the years 5-10, getting your 20 orders done in 14 years. This makes no sense from a narrative perspective, but is a handy trick.

A much less pleasant oddity I also discovered is that the engine can only handle a queue of 35 orders. That's not surprising in itself; memory was limited to 16KB for the entire game and any variables. The nasty part is that if you place orders for more, the queue gets truncated (rather, the excess orders keep overwriting each other until only the final one is in the queue), and your money is still spent.

The orders for years 73-76 wouldn't fit in the TRS-80's memory.

This whole exercise took about two hours. By year 80, my last scout returned, and in a few more years my ship orders wrapped up. I recruited enough to nearly fill them.

At this point, I saved, and tested the defense abilities of all remaining planets, based on my current strength of 310 fighters and 532C ground troops. From these tests, I found I was strong enough to conquer any neutral planet, but certainly not all 18 of them. With data gathered, I made these observations.

On space combat:
  • Space defense size is completely uncorrelated with a planet's size or technology level. Planets with any defenses had fleets ranging from 32 fighters to 122 fighters, with an average of 67.9.
  • Most of the time, the enemy fleets achieved kill ratios between 0.22:1 and 0.66:1, with no apparent correlation to starting fleet size. Sparta and Ootsi managed exceptional ratios of over 2:1. Alhambra and Yang-Tzu, two planets of "superior" technology, achieved ratios of over 3:1.
  • Some number of transports will be lost in the melee, but it seems highly random. At Ootsi, a sophisticated planet, their 40 fighters killed 91 of mine, plus 12 transports. At Eventide, another sophisticated planet, their 104 fighters killed 65 of mine, and only one transport. Over half of the dogfights cost me exactly 1 or 2 transports, but the rest cost me between 12 and 15.

On ground combat:
  • Defenders constitute 2.5% of their planet's population. The deviation is insignificant.
  • Planets with "over a billion" in population can in fact have as few as 900 million.
  • Expected losses do not seem to be correlated to technology level. The deadliest planet in raw numbers was Sparta, whose 228C defenders killed 389C of my landers, a ratio of about 1.7:1. The deadliest in efficiency was Eventide, whose 62C defenders killed 117C of my landers, a ratio of about 1.9:1. On average, though, defenders' ratios were about 1:1.

I estimated that I would need 800 fighters and 2000 ground troops to conquer the galaxy. This seemed doable, although that would certainly go up over time as neutral planets' bolstered their own defenses, and hopefully not to the extent that Tom Cleaver's Galaxy could so quickly overwhelm you if your plans were even slightly inefficient.

First step was to get money. I'd need at least 50,000 credits. The bigger the planet, the more you can tax it, and planets never go broke, so I took a look at the biggest planet, Novena. It had 1.6 billion people, and was 2 light years away from a fairly large 400 million population planet Ootsi, so I figured it would be a good idea to conquer both. In preparation for the invasion, I built and filled another 100 transports using the Galactica-Javiny loop.

Novena and Ootsi fell at the cost of most of my fleet, as expected.

I had 310 fighters and 630 full transports before this.

That didn't bother me, though, as I got what I came for - two large planets in close proximity with unlimited money. The Novena-Ootsi loop would take 4 years, and bring in nearly 2,400 tax credits per run, and go up over time. As an unexpected bonus, Ootsi could build 7 ships per year, more than Galactica's 5. This went up to 8 as its population increased.

I spent the next 76 years traveling the Novena-Ootsi loop, taxing them on each planetfall, and pushing Ootsi's ship-building facilities as hard as they could. By stardate 191 I had 823 fighters with more inbound, 1,081 transports, and nearly 13,000 credits - almost enough to buy another 1,000 transports at their mean price of 15 credits each.

Entering three digit numbers is much more difficult than it ought to be.

At this point, I tested the remaining planets again to see if anything changed with regards to their defenses.

New observations on space combat:
  • Not only did the enemy fleet sizes still seem random, they also had no apparent relation to the previous fleet sizes, suggesting that they are determined randomly at the start of combat. Some fleets increased, some fleets decreased, but the range this time was 38-121, with an average of 75; numbers not significantly different enough from before to suggest more than chance.
  • Enemy fleets achieved much better kill ratios this time. The sophisticated planets achieved anywhere from 0.59:1 to 1.30:1, and Sparta's was nothing special this time at only 0.85:1. The two superior planets achieved ratios of 3.89:1 and 4.56:1.
  • Transport losses were insignificant except on the superior planets, where they killed one transport for approximately every 16 fighters.

New observations on ground combat:
  • Populations increased by about 15% across the board. It had been about 114 years since the first round of tests.
  • Losses were now a bit less than 1:1 on average. Not counting tiny planets, Sparta was now the deadliest in terms of efficiency, whose 261C defenders killed 432C of mine for a ratio of 1.66:1, but for raw deaths Zoe slightly edged it out with 352C defenders killing 440C of mine for a ratio of 1.25:1.

By my new estimates, it would take 1150 fighters and 1500 filled transports to conquer the galaxy. Simple, right? I already had most of that, and more than enough money to buy the rest. It would just be a matter of building those ships and then recruiting enough men to fill them, which took until the year 240.

I was ready to attempt my final death sweep through the galaxy. It was just a traveling salesman problem to find a reasonably efficient route that hit each of the 16 unconquered planets.

An Excel-aided graph of my march to the sea

It didn't quite work. I managed 12 planets, but Sparta resisted my ground invasion. No matter, it was only SD 406, and one of my conquests, Zoe, was capable of building 15 ships per year, and by year 438, I had enough transports to conquer Sparta and the rest of the holdouts.

Barely enough.

The game ended as soon as I set a course in for Galactica.

GAB rating: Average. I am extremely impressed with what Doug Carlston was able to pull off with only 16KB of RAM, in a BASIC program that's only 200 lines long (granted, some of those lines are very nasty looking)! In terms of strategic breadth, if not depth, it puts to shame all of the 16KB Avalon Hill strategy games except arguably Tanktics, and as a singleplayer experience far outpaces Tom Cleaver's 48KB Galactic Empires.

It's also got a surprisingly slick and intuitive interface, with neatly organized windows, menus, and sub-menus, but there are some usability issues here. First of all, there's no reason not to tax a friendly planet as soon as you make orbit, so why even make taxation an option? The game might as well have automatically collected taxes whenever visiting a territory. Second, why should navigation and embarking be separate actions? If you do one, you want to also do the other. Navigation should just ask you if you want to embark now, instead of making you escape from the orders menu and manually embark. Third, although the ship building interface is very flexible in terms of letting you schedule orders for the next 35 years, and I probably could have shaved a good amount of time off if I had fully taken advantage of its powerful options for letting completed ships fly ahead of you to meet up at a rendezvous point instead of simply waiting in the vicinity for them to finish, but this flexibility makes it very tedious to use if you just want to place simple orders (Where do you want to send the first batch of ships? Galactica. Where do you want to send the second batch of ships? Galactica. Where do you want to send the third batch of ships? Galactica)....

But it's lacking a crucial element of the 4x genre that it anticipates; you don't really get more powerful as your empire grows. The best way to get money for buying ships is to fly a tax-collecting loop between two populous planets under your control, and having more isn't necessarily better. If you control the biggest binary system in the galaxy, then it doesn't matter whether you own three planets or fifteen. For most of the planets you'll just conquer them, collect taxes while you're there, and then leave and be done with them forever.

The enlisting system is likewise nonsensical from a narrative standpoint, and wasted from a strategic one. You can enlist up to 2% of a planet's population per visit. If you leave and come back, you can immediately enlist 2% of whatever was left over from the previous visit, as long as you have enough free transports. It doesn't make in-universe sense that your territories would stand for this, and it essentially means you only need one really big planet for all your conscription needs (building enough transports is a much bigger problem than filling them).

Tom Cleaver's Galactic Empires, though mechanically much simpler, at least made you more powerful with each planet you added to your empire, while also making it that much more complicated to manage your supply lines. Carlston's gameplay just doesn't evolve past the point where you make your first big conquest or two.

I think Galactic Empire could have been a much better game with a few small tweaks, memory limits allowing. Instead of having planets act as inexhaustible supplies of money and soldiers, give each planet under your control a pool of money and recruits which can be collected whenever you visit, and replenish over time. Conquering a planet should grant a one-time tribute, and each year, every planet under your control generates some additional tax revenue which you may collect as a lump sum when visiting, emptying their coffers.

Similarly, I picture each planet having a garrison which, when conquered, is initially set to 2% of the planet's population, and as the planet's population increases over time, more men enter the garrison. You would enlist from the garrison, rather than from the planet's general population, and if you enlist them all and still want more men, you either wait or you find another planet.

These changes would involve at least an additional 80 bytes of RAM - no insignificant amount when the whole game's got to fit in 16KB - but would completely transform it into a proper 4X experience where owning more planets provides a direct, tangible benefit. You would want to take as many planets as you could, and would need to figure out efficient tax routes for optimizing your collecting strategy. You'd likely also be encouraged more to use the game's powerful shipyard-routing abilities, and figuring out where you'll be in your route and when would be part of the challenge.

As it stands, Galactic Empire is very impressive from a coding standpoint, but not a whole lot of fun.


  1. I am really glad you covered this game. Isn't there 4 in the series? They all seem very different from each other.

    1. Yep, and I briefly played the first sequel Galactic Trader, but decided not to play it long or write a post about it.

      Galactic Trader seems very similar to the later game DrugWars, which is apparently based on a 1974 BASIC game called Star Trader. Wouldn't be surprised if Gary Carlston had based Galactic Trader on this. From what little I played, on Galactica you can buy and sell goods for money, but on other planets you're limited to bartering, and the rates seemed hilariously skewed in my favor. I offered one good worth $15 on Galactica, and was offered another worth nearly $4,000 at a 1:1 exchange rate. And when I offered them back, he offered me 1,920 of a good worth $8 each. Took them and then promptly ran out of fuel on the trip back, and died alone in the deep void of space. Turns out your goods weigh something.

      It did fix my gripes with Galactic Empire's interface. And it has multiple difficulties. Oh, and don't try to sell goods that you don't have. The other traders will get angry and kill you.

    2. Sorry to use comment, I don't have your email so maybe I am spamming.

      In any case, I tested Galactic Trader and hoped to clear it up in a few hours, but boy you are right it is a pretty terrible game.
      Indeed, the rates are hilariously skewed, the difficulty is that :
      1. You work with imperfect information : you don't know the value of something on a planet if you don't have it
      2. If you say "No" to a trade, there is (almost) no way to go back to it
      3. Fuel cost is incredibly high.

      I am going to perserve, with the strategy of first traveling "light" to benchmark the cost of fuel in different systems, then load up as much as I can on fuel (the only thing that does not weight anything) and then play the trading game.

    3. By all means, comment as much as you like! I basically never check my Ahab email account. Your experiences with Galactic Trader are relevant and interesting, as your other comments have been. And I'm looking forward to reading about the rest of Carlston's Galactic Saga, should you continue that path.

    4. This comment has been removed by the author.

  2. Hey, I am about to write on Galactic Empire, but you played on TRS-80 and I played on the Apple II version.
    Based on what you sayn I already see one key difference between the two versions : I can queue a LOT of orders on Apple(I never reached the limit, and I would sometimes give orders for 50 years) - so it really helps with Empire management as you can tour your planet and give them orders for a long, long time, cash allowing.
    Something else puzzles me. The manual states that ships you build would only wait for you 5 years. I tested and on Apple, it is not the case. I can send newly build ships to an independent system, and they would wait for me for 100 years or more. On TRS-80, is the limit of "how long ships are waiting for you" enforced ?

    If so, the TRS-80 version is significantly harder than the Apple II version (though it is not the "good" kind of difficulty.

    1. Yes. If you queue up ships for more than one year and then go into hibernation for more than five past the last batch, no ships for you.

    2. Then congrats on finishing the game in 515.6 years with those handicaps, it took me 529.9 in Apple II "easy" mode :)


Most popular posts