To Infinity and Beyond: Developing 'Kerbal Space Program'
An (accidental) educational indie game gets a rocket boost from NASA
First they designed the game, and then they learned the astrophysics behind it. Kerbal Space Program, a space simulator that’s been heralded by the rocket science community for its mathematical accuracy, started as a dream for Felipe Falanghe, a developer for Squad interactive marketing who described himself in a South By Southwest panel as “not even particularly good at math.” Now, nearly three years after Kerbal’s first release, the game has garnered over 43,000 daily players, many of whom engineer actual space missions by day. Now they’re taking it to the next level.
Falanghe and the Kerbal development team has partnered with NASA to recreate a real-life mission the space administration is currently executing. The Asteroid Redirect Mission, launched on Kerbal in April, simulates NASA’s operation of the same name, which aims to identify, relocate, and research potentially hazardous asteroids that could one day hit Earth. Falanghe and Kerbal and technical artist Chad Jenkins gave Get In Media the skinny on capturing the universe in a virtual world.
Felipe Falanghe: Instead of putting you through the paces, like a step-by-step mission that guides you through what NASA is trying to do with their asteroid redirect mission, we added tools in the game that allow players to try it the NASA way exactly or they can try it in any other way as well. What the game is doing is putting asteroids out there near the Kerbal planet, which is called Kerbin. These asteroids are coming in from different directions and at different times and they just keep coming in. It’s up to you to find them, decide which ones you want to track and target, and it’s up to you to figure out how to get to them. The NASA mission profile itself is one option. Even they are investigating multiple options to see which one they think works best. We felt that it was kind of fitting that the game also lets you try out different scenarios, especially with a mission that’s still a bit under development.
FF: We’ve kept the simulation simplified to what’s called the patched conic approximation, which is a fancy term for saying the only force of gravity that you experience is the one for the planet or moon that you’re closest to. While you’re inside the sphere of influence of the Kerbal planet, only the Kerbal planet is actually exerting any force of gravity onto you. As you approach the moon, you cross into the moon’s sphere of influence and you start falling towards the moon. This is actually an approximation that’s used to do mission design, because when you only have one planet actually exerting gravity on you, you have a set of maths that you can do. You can predict very accurately where you’re going to be at any point in time. We decided to build the simulation around that and that lets us do a lot of fun things like actually have your trajectory drawn out and the trajectory is exactly what you’re going to experience as you fly because there are no other perturbations to your path.
Chad Jenkins: It’s very stable. It’s very predictable. You’re always going to get the same result, whereas when you have multiple things [exerting gravity] you get some really unexpected results. Things tend to decay. They tend to change. It’s very hard to keep them stable.
FF: I think the grappling part was the trickiest bit and it’s not even necessarily a physics thing. It’s more of a technical game thing. The things that need to happen in game for the claw to actually grab something, and then it has this moving wrist joint because if you grab it the wrong way around, if you grab the asteroid sideways, the moment you accelerate, you’re actually going to be turning the asteroid because you’re misaligned. There’s this tool that actually allows you to reorient the space craft and make sure that the asteroid’s center of mass is aligned with your engines so when you accelerate you’re not going anywhere but forward. That was, I think, the hardest bit to figure out because what the game needs to do internally to make that work out is pretty intense.
CJ: We had to redo the joints to support parts that were big because we modeled it after [NASA’s Space Launch System rocket] that’s upcoming and it’s a really huge rocket, a lot bigger than what we had.
FF: We did learn a lot while we were making [Kerbal] and it’s actually changed my whole understanding of the learning process itself because I was one of those kids that’s particularly bad at math in school, but I came to realize that math in school is not necessarily proper math. You learn by necessity. … It eventually dawns on you, hey, this is what they were trying to teach me back in high school and I had no idea what it was for so I gave it absolutely no attention. Now I see a purpose for it and this is good stuff. We kind of learned the same way the Kerbals did, a lot of trial and error. Not as many explosions, but we did lose a few computers along the way.
CJ: When you look at the formula on the page, it’s really hard to give that meaning and give it a value because you can’t touch it. You can’t interact with it. It’s very static. You look at the rocket equation, which is infinitely important to space travel. You look at it and it’s just a whole series of formulas. It’s very hard to put that into actual practice. In KSP you can launch the rocket. You see it. You actually see all of the math unfolding into something you can interact with. The orbital mechanics is the same way because you can look at it in a document in Wikipedia and have the graphs and the charts. But in KSP you push the orbit, you thrust your engines, and you see it moving and changing shape in real time. You get this wonderful intuitive understanding, and that’s how I learned. It’s probably similar to Filipe. We learned by doing. We’ve done that step by step and we’ve learned how engine thrust works and how spheres of influence [work] and orbital mechanics because we needed to add them to the game.
FF: We knew from the start, at least I knew, that I wanted to have at least an above average level realism in the game. We didn’t want the usual Hollywood physics for space, which is essentially WWII dog fights with lasers. We didn’t want that in KSP, but we actually weren’t sure whether or not we wanted to have true orbital mechanics in the game or not because very few games actually attempted that before and even fewer had been successful at it.
I thought that, given the right interface tools and the right way to play with it and not just spam the players with numbers, we could maybe try something that might work. I think one of the key concepts in KSP is we try our best to never show players lists of data, numbers changing on screen. We try to make every interface element as visual as possible so you have things like steam gauges and very few numeric readouts on the screen. It’s all very visual and we try our best to design every new interface element to fit that idea.
FF: Usually, the definition of educational games kind of misses the point because it’s actually a lecture disguised as a video game or maybe a class with moments of gameplay interspersed through the experience. At its core, a really educational game is a game that doesn’t necessarily teach you about a subject. It just sets you up in a situation that compels you to go and learn more about it out of your own interest. For instance, the first version of the game didn’t even have a map, so players had to go on Wikipedia [and] figure out the equations for what velocity should I be going if I want to make orbit around this planet. They would figure all those things out and they would actually achieve things that we didn’t even plan to be possible at that stage because we hadn’t done the tools yet, but they were totally ahead of us because they were going out and figuring out all the educational part of it on their own. That’s when it dawned on us, hey, this is a potentially educational game, but for all the wrong reasons. Players are going out on their own to learn this stuff. I think we kind of stumbled onto something really interesting.
CJ: We actually had players literally putting a protractor on the screen. They would line up the camera, put a protractor and put up tracing paper to figure out.
FF: Yeah, especially because we didn’t really plan to make an educational game from the start. It was very much less ambitious when we started. It was really a game about putting rockets together and not kill too many crew.
CJ: The thing for me that I thought was really crazy was we would occasionally get messages on the forums of some kid who was like, “Hey, I aced my science test. My teacher thought I cheated I did so good.” We’d get these things and I thought maybe that was 10 percent [of users] and I was like, “That’s awesome!” To see the survey and it’s like 60 percent of people used the game to teach someone something; that kind of blew my mind. It wasn’t the exception. It was more the rule. That was really surprising for me to see.
FF: Everyone says I’m so bad at Kerbal Space Program, but that’s actually the way the game is meant to be played. It is a game built around the concept that failure is fun and that you learn through failure. Failing repeatedly in KSP is actually a very effective way to progress because as you fail, you will learn what went wrong, hopefully you will fix it, and the next time it will go better. We designed KSP with this in mind. The game will never throw a random failure event at you. It will never stop you from making a mistake. If you build a space craft that has no fuel running to the engines or actually has the engines pointing at the command pod or something like that, it’ll never say, “Hey, this is going to implode your crew. I won’t let you launch.” It lets you and lets you see what happens when you fire live rockets at the command pod. The game even shows you an event log of everything that happened as your rocket exploded so you can track and back and figure out here I had a structural failure. This is where part of the rocket disconnected and crashed into the rest of the rocket. The game is supposed to be built around the concept that failure should be fun and you should be laughing at your failures. It should be entertaining just as much as actually achieving something.
Have some feedback for our editors? Contact Us