Fast Fixes for Faster Than Light

Obviously some people like FTL a lot, and some don't. This has a lot to do with why people play games. And why do people play games? Well, because they're fun. But what makes a game fun?

The Sources of Fun

  1. Social interaction. Since FTL is a one-player game, there really isn't any.
  2. Competition. With, say, chess or football, half the players get to win for every game played. With poker or multi-player Doom, it's 1/n with n the number of players. With FTL, it depends on how a (human) player decides to interpret the program opponents. If you think of each ship as an opponent, then you should be able to hand out many cans of whoop-ass before you finally go down. If you think of the game as your opponent, then you probably find winning to be a very rare event. The storyline component and the boss ship at the end do tend to set up the competitive element as 'the game,' and personally, if winning were really important to me, I would not like FTL very much.
  3. Exploration. This is an aspect where FTL is extremely good. People like to discover things. FTL does an outstanding job of surprising me, even after having played it ohmygodIcantevencountthathigh number of times.
  4. Disproportionate Rewards. This one's a bit harder to explain. Psychologically, people are, well, very non-linear. They hate losing $10 more than they like winning $10. Bad things get remembered more easily than good ones. I'm convinced this is why there isn't a single popular sport (football, hockey, etc.) where the score can go backwards. For games, this means that a game has to counteract this effect by spreading bad stuff out as many little bad things, while good stuff arrives less often, but in bigger lumps, and to have the overall trend be more good stuff than bad. FTL does this very well. Most of the time, your ship keeps getting better and better. You keep earning scrap, and upgrading your ship. If it were balanced at the zero point, then you'd tend to see your ship not improve very much as you spent your scrap just to keep it from falling apart. Of course, if your ship keeps getting better, the enemies have to get bigger too or in no time you'd just crush anybody who got in your way.
  5. Making Good Decisions. The overwhelming majority of games I've evaluated have lived and died on the "player decision experience." The difference between a player and a spectator is that a player has to make decisions. Some decisions are boring. Some are frustrating. Some are fun. A good game is one that provides some necessary minimum quantity of fun decisions.

Fun Decisions

In FTL, the best decisions usually happen at a store, or during combat. I can't afford to buy everything. Should I get Drone Control, or repair my hull and add a crew member, or sell off my Pegasus launcher to buy the Burst III laser? A "fun" decision is one that is informed, relevant, challenging, implementable, and verifiable. Here is the heart of the problem, the design flaw that I think caused one player to to describe FTL as 'mediocre' even though he clearly enjoys playing the game.


An "informed" decision is one where you have information that helps you figure out which option to select. If you're playing "Let's Make a Deal" and you're offered a choice between what's behind Door #1, Door #2, and Door #3, you've got diddley-squat for information. You'll have to choose, but it isn't going to be an informed choice, and that's not much fun. The first time you play FTL, and you have to choose between jumping to the "Mantis Homeworld" or an "Unexplored Nebula," that decision is more or less an uninformed one: the only information you have about which one is "better" is that the Mantis sector is red, aka 'hostile', and the nebula is not. When I first started playing FTL, I avoided hostile sectors. Wasn't I supposed to get to sector 8? So hostile sectors must be bad! Go around! Turns out, that wasn't necessarily a good decision. Now that I've played the game many times, I have a lot of information about what I might find in a sector, and my decisions more often show positive results.


If I take the time and effort to make a decision, I want the consequences to matter. If I agonize over whether to buy a the hull laser or a beam drone, but the next ship I meet has level-3 shielding, it could be that it simply didn't matter if I took the laser or the drone. Neither one was any good for destroying that ship.


I've just destroyed an enemy ship. I've got two crew members with only a sliver of hit points remaining. Should I send them to the medical bay and heal them before I jump? Duh! That's so unchallenging a decision, it hardly even registers. On the other hand, if I'm fighting the boss ship, there's been a power surge, a beam has swept my decks, there's fires in three areas, my rockman isn't near them but my engi is, and I have to decide if I should send one, the other, both, or neither to fight the fires . . . well, if FTL didn't have the 'pause' feature, then that decision would be too challenging. There's so much going on during really big busy fights that I, for one, cannot possibly take in everything that's going on fast enough to be able to choose the best or even a good solution quickly enough to succeed.

Making decisions challenging is very tricky. A decision that's totally obvious to one player might be baffling to another. Also, players (usually) will get better at a game when they play it over and over, so decisions that start hard become easy over time. There are some really good ways to make decisions that sort of auto-adapt to different player skill levels, but that topic usually takes up most of an hour when I give my game design presentation at conventions, so I'm going to skip it here.


Once you've decided on, say, "Solution #2," you need to be able to actually do it. In most games, most of the time, implementing a decision is so inevitable that you don't even realize this is a step. FTL, however, does occasionally mess up my fun with this. Personally, I really detest the 'perma-death' idea in games, in part because I really like the exploration aspect, and having to play the beginning of a game over and over and over and over and over in order to see all the options at the end just pisses me off. That's why I'd only had FTL for a few days before I figured out where the game save file was, and wrote a script that would automatically archive checkpoints for me, so that I could roll a particular game forward or back as I liked. I recently got the crystal ship unlocked, and had a pretty rockin' setup going into Sector 8, including having the Pre-Ignitor installed. Sweet! Then the boss ship cleaned my clock. After a couple of go-arounds, I decided that, Pre-Ignitor or not, I wasn't likely to win unless I had Drone Control as well. So I wound the game back to the end of Sector 6, jumped to 7, and . . . couldn't find any place that would sell me Drone Control. I had made a decision, but I was unable to implement it; the game wouldn't give me the part I wanted. Grrrr.


Last but not least. Okay, I've beaten the boss ship the first time, but my hull is badly damaged. Should I go after it again right away, or try to get to a repair point and back? I'll try to repair. Jump away. Oh, there's a rebel ship. And I'm destroyed! Nooo! And did I make the right decision? I have no idea. There's no way to find out. Maybe I would have been even more destroyed if I'd chased the boss ship. It's possible that my last decision wasn't even relevant; that no matter which option I took, I was going to lose. There was some other previous decision that I made that was the one that lost me the game. Sadly, there really isn't any way for me to verify if the decision was good or not. If I can't verify the consequences of a decision, I can't be sure what to do next time I have that decision to make, which means I can't get better at making them. If you can't verify, you can't learn, so you can't improve.

Under the Microscope

Whew! There, that's the necessary background for game design. So now I can take a closer look at FTL. The complaints about the game being "luck-based" aren't really about luck. It's not like StarCraft isn't throwing all kinds of random numbers into what happens, after all. And I don't think the fact that sometimes missiles miss your ship, and sometimes they hit it, is the problem either, but that's definitely a luck thing. I think what annoys many players are specifically how events work, and the big problem there isn't 'luck,' it's inadequate information.

Here I am, in my ship. Time to jump. There are three unexplored nodes. Which one to choose? Usually, the only info I have is how each node connects to others. Sometimes I get to see "distress" or "store," or maybe I have advanced scanners and then I can see some hazards or ships. So? Even if I have fancy scanners and pick a no-ship no-hazard node, I could still run into something hazardous. I have very little information available for my decision.

"A mantis beams on to your ship. The Engi want him back. Do you return him, or keep him?" I've played enough FTL to know that this could play out one of four (?) different ways. 1. I keep him. 1A. It's a trick, he trashes the place, damn it. I fight the Mantis. 1B. He becomes a crew member. I fight the Engi. Or I can go with 2. I send him back. 2A. He gets pissed and does damage or kills somebody, damn it. I get a reward. 2B. He doesn't. I get a reward. So, should I pick 1 or 2? I don't know: I don't have enough information. How about I ask him some questions first? Maybe I could get some clues as to if he was really a refugee or not. Do I have an Engi on board that could ask him questions that a 'fake' refugee wouldn't be able to answer? Do I have a Mantis on board that might be able to talk him into going back without a fight?

Usually I keep him, if I have room for a crew member, 'cause I figure I might get a crew member and Engi ship scrap. Although, come to think of it, the Engi ship might make up for that by giving me something cool as well as scrap. In which case I'm back to just flipping a damn coin. I just don't have enough information, so this decision isn't informed, it isn't challenging, and it isn't fun.

"Luck" (more accurately, random factors) are vital to a game like FTL. Otherwise it would be the same every time; there'd be one optimum way to play, and once somebody had found it, you could just do that series of moves and win. Thank Ghu there will never be a "walk-through" for FTL. But without any way to mitigate the effects of the random factors, you're just playing CandyLand. FTL is a bit short on control mechanisms for mitigating random factors.

For example: people keep teleporting onto my ship and trashing the place! Okay, so I need to upgrade my doors, and/or have an anti-personnel drone and/or have Mantis or Rock crew to kick their asses. But what if I haven't been able to find/afford any of those? Well, for one thing, I should probably try to avoid Mantis sectors, 'cause they love to teleport onto enemy ships. Oh, right, the sector chart doesn't tell me what's in the sectors except for the two (or one!) that I'm about to jump into. Stupid uninformative sector chart.

Sometimes I end up with a ship that's pretty effective as long as my enemy has only Level-2 shields. If they're Level 3, then my strategy is to try to not blow up before I can jump away. That is usually an interesting (aka fun) scenario. Instead of throwing my repair resources into trying to keep the weapons hot and the teleporter operational, I'm pushing power to the engines to improve the dodge and recharge rates, and keeping extra staff in the shield room to keep them operational. Ship-to-ship fights are where FTL excels. It's the non-combat encounters where FTL often fails to make the decisions fun, and, to a lesser extent, the decision about where to jump to.

Let's see. I've got some great beam weapons, but now I need a way to take down shields so the beams can actually work. That means I need (a) a store that stocks weapons; in particular, bombs, or missiles, or possibly a Burst Laser II or III, in that order, and (b) enough scrap to buy it. So where are the stores? I have no idea. I'll just have to stumble around until I find one, and then hope it's the right kind of store. Bleh.

Every now and then I'll be in a situation where I know where a store is (somebody gave me a sector map, probably), and (b) I have a decent amount of scrap in stock, but (c) it's far enough away that going there means I'll probably not be able to get back to the exit before the rebels reach it. That is an interesting decision. Is there something I really need? (Drone Control, Teleporter, Cloak, usually.) Can I afford it, and/or are there enough unexplored nodes between me and the store that I might be able to acquire the scrap by the time I arrive? Will I have enough jump fuel by the time I get there and back to not get in big trouble in the next sector?

I assume that the node network in each sector is randomly generated. Every now and then I've gotten caught because I wasn't careful enough, and found I'd flown into a dead end. Backtracking wastes time and jump fuel at best, and once or twice I've had to fly through two or three rebel-controlled nodes. That's pretty cool.


So, how would I change FTL to make it 'less luck-based?' As you should be able to guess by now, changing the random events isn't it. I would make some of the stores visible on the sector maps at any distance, immediately. (Hiding out in a space whale or the "we're selling parts 'cause we can't afford to get home" stores could still be unmarked.) Further, I would have them be specific kinds of stores. This one is labeled "Employment Office," and has crew members. That one is the "Robostore," and has drones and drone control. This one is "Boomsticks," and has weapons. Mantis sectors should be much more likely to have weapons stores; Engi sectors would be biased toward drones. And the sector map would tell me which sectors are which from sector 1 through 8, and I can check my sector map whenever I want to.

Now I would have more information for strategic planning. Oh, I can still run into Mantis ships in the Zoltan sectors, or vice versa, but I have more information, and more control, over those non-battle events.

The other change I would make, well, I already made that one. Checkpointing. I don't think I 'win' more than one out of eight games I play, if I define "game" as "starting from the hanger," which includes rewinding my game back to a checkpoint multiple times, and I still have never played a game on "normal" (which obviously should have been called "really hard", because "easy" isn't!) I usually checkpoint just before jumping to a new sector, because if the new sector layout really sucks, then I get a new one when I restore. Now, I tend to get blowed up near the end of a sector, so even with checkpointing, I still end up having to go back and re-do some of my game. I just don't have to re-do all the way from sector freakin' 1.

Sometimes I checkpoint in the middle of a sector. ("Woo! I just bought a Glaive beam!") When I do that, then when I replay, I can say "Oh, yea, there's an ion storm in that nebula node. I got killed there. Let's not go that way this time." Okay, yea, that feels a little bit like cheating even to me. On the other hand, so what? Am I in a tournament? When I 'cheat' and win, does somebody else lose? Nope. So why not let me play however I want to? Let me play the game that I think is the most fun?

The partial answer to that question is that what the game designer should do is craft the game so that you will have as much fun as possible in the long run, and if it becomes too easy to win, you might not have as much fun overall. So here's how I would implement checkpointing in FTL. In "easy" mode, the game would checkpoint between sectors. You can rewind the moment you jumped into any previous sector. (So the sector node map would be different each time you replayed it.) In "normal" mode, there's only one checkpoint; your most recent sector transition. So if you're in Sector 6 and get blowed up, you can rewind back to your arrival in 6, but you can't go back to 5. And "hard" mode doesn't checkpoint at all. Each level would be harder to win, just like "easy" and "normal" are now, although I might scootch the difficultly level down a bit on them, so what's called "easy" now would be "normal" with my changes. Finally, for all three I'd add a little "challenge boost" option. So you could play "easy" with multiple checkpoints, or make "easy" a bit harder by boosting it. Then there's "normal" with just one un-do, and the boosted normal which is about the same as 'hard' but with the checkpoint. Finally, 'hard' with no checkpoints, and boosted hard. Anybody who could actually win a game on boosted hard would definitely have serious bragging rights. Although we all know that they must have gotten lucky, too. Ha ha.

Anyway, that's what I'd do. Now if you'll excuse me, I have to get going. I still haven't beaten the boss ship with my unlocked B-type Crystal ship. . . .