Recently, long-time indie developer Derek Smart criticized the people behind Star Citizen for over-promising. According to him, the scope of the project is far too big given tools, budget and timeframe.
Like Derek Smart’s Battlecruiser games, Star Citizen is a space combat simulation game with a maximalist approach – its creators even claim that they don’t want to create a game but to create a universe. The idea is simple: the player is given a large amount of freedom as he or she not only pilots a spaceship but takes the pilot’s role outside of it, making it possible to land on a planet and switch into first person mode. Another upcoming space game, No Man’s Sky, promises similar things and is also a target of similar accusations.
Clearly, the idea of a virtual universe in which the players can travel, fight, trade, and explore endlessly is an appealing one. It’s also something pretty hard to create – and in this article, we’ll take a look at the problems that need to be overcome before we get such a game.
Spacesims so far: a very brief history
Space combat simulation is one of the oldest known game genres. The first known game of this type was created in 1974 for the PLATO system but the game which codified all the genre’s common feature came 10 years later with Acornsoft’s classic title Elite – an open world spaceship game allowing the player to become a trader, a bounty hunter, a miner, or a pirate. It was also an impressive feat of programming – an 8-bit computer game with a large (procedurally generated) universe, fairly complex mechanics, and polygonal 3D graphics.
Aside from a few notable exceptions that could be found in the arcades or on the consoles (especially the ones with vector graphics), spacesims were computer games – and not the ones to break the stereotype of unintuitiveness and complexity. As a result, the genre was pretty obscure for quite a long time. This changed in the 1990s and the early XXI century with the rise of the IBM PC (and IBM compatibles) as gaming machines. Suddenly, spaceship games became mainstream as everything from the realistic Microsoft Space Simulator to FPS-like Descent to mission-oriented Wing Commander, X-Wing/TIE Fighter and, of course, to Elite-like Freelancer, Escape Velocity and X.
For some strange reason, sometime after the release of Freelancer, people lost interest in the genre. While some series (e.g. X) went on, the popularity wasn’t there anymore, and spacesims went the way of interactive fiction, point and click adventures and isometric cRPGs: something played mostly by dedicated fans and created mostly by small indie devs, living in the shadow of more popular genres and dreaming of returning to former glory.
And just like cRPGs, they suddenly returned in recent years as the indie boom and crowdfunding allowed the old developers to raise a not insignificant budget and make games they dreamed of making. With the release of the next game in Elite series, the arcade-like Strike Suit Zero, and with Star Citizen and No Man’s Sky being in development, it seems that spacesims in all shapes and sizes might be back for good.
But will they give us the living universe we’re waiting for?
Putting big worlds on small disks
Amazing scientific fact of the day: a hard disk drive is smaller than the universe.
While the statement above will probably not blow anyone’s mind, the important thing is that there is a fundamental limit on how much information we can store inside our computers. Thus, we need to use several tricks to make our game worlds big without using up unreasonable amounts of disk space.
The first trick – and the easiest one to accomplish – is reducing detail. If you wanted to describe Earth by storing the position of every single atom on an XYZ axes, you could use up the whole Internet without getting close. Conversely, even on a cheap graphing calculator you could represent it by storing a few numerical variables and drawing a circle. Of course, the more you reduce, the more abstract and less immersive your universe becomes.
The second trick is procedural generation, used by spacesims at least since the times of Elite. The idea here is that instead of crafting the universe by hand, the developers create algorithms that makes the universe for them. This saves the disk space (although at the cost of processing power required to generate levels) and – after passing a certain world size – the manhours needed to create everything, but it has some trade-offs. There needs to be rules so the worlds actually make sense but there also needs to be enough complexity – and probably handcrafting mixed in as well – for them to not feel repetitive. And while it’s not hard to make ten planets that don’t look like a bad copypasting job, it becomes more difficult when you get into tens of thousands.
Wait, didn’t I blow this planet up?
There’s a one big problem with making procedurally generated universes: they’re not persistent. If the game shows you a star system with 5 planets every time you arrive in sector Z9, you blow two of those planets, build a space station and leave, the changes won’t be remembered – you’ll come back and the game will again generate a star system with 5 planets – or even something completely different (like a black hole), depending on an algorithm. Whatever it is, it’s not related to what you do.
That’s not to say procedurally generated games can never have persistent worlds – they do at least since Hack. It’s just that it’s a tradeoff – when you store more than just the data about the player (see: original Elite), you start to slowly lose the benefits of procedural generation. As you describe changes made by the player, your savefiles slowly but steadily grow in size as the game progresses.
If the game’s an MMO – and that’s the plan for both Star Citizen and No Man’s Sky – then you can drop the ‘slowly’ part as you need to account for the changes made by many players at the same time. If it’s not an MMO, you can still run into the same problems, as for the universe to be alive you need to have factions and NPCs whose behavior is not completely dependent on the player’s and can affect the world in meaningful ways.
The level generator is pretty good, but where’s the game?
Managing to make big, immersive, non-repetitive worlds which remember changes made to them by players and NPCs, without requiring a physics supercomputer to play and a tape library to save states is a big achievement – but it’s not the same thing as making a good game. Now, don’t get me wrong, exploring such a sandbox could be a fantastic experience. It just wouldn’t be the same as playing an open-world space combat simulator with a robust ship upgrading system, trading mechanics and a lot of enemies to blow up. And this is the kind of thing that maximalist spacesims promise.
All the things that will make a good game will of course require additional programming (which is time and money), additional assets (which is also time and money) and will consume resources when the player runs the game. If the game is to have multi-user ships like Star Citizen promises, it needs separate game mechanics for different subsystems (navigation, firing, energy management) – but it also needs either a way of integrating them in such a way that a single player can enjoy it, or the AI which can cooperate with the player.
If the game is to have FPS sections, the surface of the planets must be interesting (detailed and non-repetitive) enough for the players to even want to use it. It also requires the developers to create gameplay elements for both the ship segments and FPS segments: different enemies, different upgrades, maybe quests that take place both in spaces and on the planets – and if the world is to be truly immersive, they can’t feel like two games stiched together.
This being a game also means that it needs playtesting to find and eliminate bugs and to make the experience fun. This is, once again, time and money – and quite a lot of it as everything is multiplied not only by the fact that the game is big but also by the fact that it is random. Combined with complexity and the fact that there needs to be separate mechanics for flying the spaceship and exploring the planets, it means there are a lot of different possibilities (and possible bugs) that have to be considered and tested. For the games that want to be MMOs, even more time and money is required to test the networking script and server performance.
Down to Earth maximalism
Some of the things that both Derek Smart and the developers of modern open-world spacesims tried to achieve have been done, just on a smaller scale. The Witcher 3 is big (it has one of the biggest modern game worlds), detailed and has fairly complex gameplay, but it represents only a region of the world.
Fuel is much bigger and procedurally generated but it has fairly simple gameplay and a very small variety of terrain types. Daggerfall might have been even bigger but its procedural generation could have used some work. Dwarf Fortress is closest we have to a living procedurally generated world but it’s been in development since 2002 and it’s far from finished.
It’s also a resource hog despite the fact that it doesn’t even have graphics. Noctis is probably the biggest spacesim ever but it’s completely focused on exploration. It’s also a low-resolution DOS game written in 16-bit assembly. ARTEMIS is a multiplayer co-op game about controlling a spaceship but it doesn’t have open world or next-gen graphics.
It’s not possible to roll all those games into one, at least not without a completely unreasonable amount of time and money while creating something not playable on modern consoles and home computers. The upcoming spacesims will not deliver on all their promises in a completely satisfying manner – but this doesn’t mean they’ll be bad games.
Ultimately, game development is always about working around limitations. Neither Star Citizen nor No Man’s Sky will be a true virtual universe seamlessly combining space combat, trading and shooting while also having a living NPC population that doesn’t completely depend on the player. Maybe the graphics will suffer, maybe the FPS section will be boring and repetitive. But ultimately, the games can still be good and create the illusion of a living world. Those games will be flawed but they can emphasize their strong points and downplay the flaws in such a way that those who play them will only remember the good parts.
And if they attempt to bite more than they can chew and fail to captivate the audience in process – either because they end up buggy and unintuitive like Battlecruiser, or for different reasons – then maybe they’ll bring new ideas to the table. Maybe they’ll fail at first but then find a cult following, earning place among other ‘great but flawed’ titles. And maybe someone will look at them years later and find inspiration to try again with new technology. Ambitious games don’t always succeed (commercially, critically or even just at what they tried to do) but ask yourself this question: which game is more likely to be remembered? Yet another sequel, reboot, HD remaster, or something that tried to simulate an entire galaxy and all the planets in it?