This is a very long document elaborating on my ideas for the perfect space game. I began writing this document as an imaginary manual for a space game I'd one day develop, and that was based on an evolving list of ideas. Maybe it will become a game some day: I'm currently working on a space game based on these ideas, as a side project with no concrete launch plan. I'm publishing this because I want people with more skill than me to make this better than I possibly could.

The Genre

First of all, let me be clear about the genres of space games and how they affect my thinking. The space games I've always loved have been somewhere between simulation/realistic and action RPG/shoot-em-up. Probably my favorite space games of all time are the action-oriented Cosmic Rift and Freelancer, followed by more tactical games like the X series and X-Wing Alliance. Games like Sins of a Solar Empire, Endless Space, and Galactic Civilizations II are also worth mentioning because of how they deal with large-scale space combat and politics. And I couldn't begin writing about MMO space games without mentioning EVE Online, though I enjoyed Star Trek Online a lot more.

However, I've always found that within each of these games there were development decisions to go one direction and not another that compromised how fun the game could have been. In most of the more shoot-em-up style games, there's a serious lack of ship options and interstellar exploration. In the more strategic games, there's a serious lack of player freedom and dynamism. One of my favorite parts of X-Wing Alliance is the insane amount of playable ships available in the simulator. One of my favorite parts of Cosmic Rift was the ability to choose a ship that could complement my gameplay style. But XWA's simulator missions were boring, and CR didn't seem to take advantage of the varying kinds of ships a player could use for the amount of space there was to use them in. I remember wanting to marry the two games, but make the scale even bigger, utilizing Sins of a Solar Empire's many potential civilizations and star systems. I remember enjoying the simplicity of CR's mining/salvaging system and yet wanting the ability to trade across star systems like in Freelancer.

Why can't all of these things come together? Pushing even further: what if I wanted to play a game like Freelancer, but in a huge capital ship? How would the gameplay have to change? Would I suddenly have to abstract it all out like a Bridge Commander or ARTEMIS style many-hands-controlling-one-ship interface? Would it have to slow down and give the player the ability to pause the combat system, like FTL? Beyond that, how would your ship move around space in the first place? Frictionlessly, like in CR? Or requiring constant thrust, like Freelancer? Via point-and-click course-plotting movement like in Homeworld?

Besides the gameplay itself, I really like pseudo-3D space games rather than full 3D. While space combat with a Z axis can be fun, it can be extremely annoying because it's very hard to have a useful minimap in 3D. I remember being totally confused by XWA's and EVE's mapping systems. I found the 3D-world, 2D-movement simplicity of CR and Sins much more accessible. Star Trek Online and Freelancer are technically full 3D, but they really only use the X/Y axis to spread out inside a star system.

And besides the controls and movement, what about the fact that a lot of space games just feel limited in their options? I thought Borderlands 2 was crippilingly annoying with how many randomly-generated weapons you'd find: that at any point you could randomly find a weapon better than your own (even though you just spent a lot of money on it). However, we're getting better at randomness -- Minecraft's randomly-generated manipulatable worlds are the highlight of the game. Most of the space games currently being made by indie groups are tackling the problem of content with random content generation. With those mechanics, you can instantly bake into the game a sense of limitless exploration and potential for continued play. But you have to get it right, or else the randomness gets boring and predictable. On top of all of this, why not also create a pluggable architecture to let a modding community continue to contribute to the game?

The Space Game Done Right

My ideal space game borrows from all of these games and ideas. It has to feature combat that's quick and almost arcade-like, but the complexity of that combat can be rich and tactical if need be. A good combination of twitch/skill and thought-out RPG choices. There need to be different rules for using small fighter ships, medium cargo haulers, and large capital ships, but all of their rules must match up to play side-by-side in the same universe and not favor one style too heavily. Owning a capital ship cannot make the player invincible, but it does need to afford advantages that a small vessel can never have. It can never be impossible to survive as a large cargo hauler when every other player wants to be a pirate.

The universe itself needs to be dynamic, alive, and yet manipulatable by the player. There need to be greater forces at work, evolving the galactic economy and the landscape of the universe. The player shouldn't be able to change much except a nudge every now and then. In an online game, several players may be trying to nudge the universe in different competing directions. At all times, the universe needs to be moving onward, with or without the player's input. The galactic economy needs to keep shifting, cycles of war and peace between factions will always be occurring, and the player needs to know about what's going on. The player should be able to stake their own claim somewhere and build a starbase or two, maybe even get in good with the local faction for protection.

Through all of this, the player needs to be given options. Do I want a small, powerful fighter? Do I want a bulky cargo cruiser? Do I want a large, fast explorer ship? Should I give up a better weapon in place of better shields, or should I install this neat utility slot item that'll give me a unique edge? Do I want to hunt down this civ's trade ships, or do I want to protect them against pirates? Should I be a heavy-hitter, or a run-and-gunner? The ideal space game should provide not just one answer to these questions, but many potential answers, some very simple and others with caveats and complexities.

2D or 3D Ship Movement?

Whether to go 2D or 3D in terms of ship movement has massive ramifications for how the game will be played and enjoyed. And I do specifically mean enjoyed, because I feel that going full 3D adds so much more thinking, both gameplay-wise and tactically, that it requires a different kind of gamer. A 2D space game should be geared more for action and shoot-em-up style gameplay. The Diablo series is a great example of how a 2D game can still be great today, but it would not be the same if done with a 3D first-person view. It'd be too much like Skyrim at that point, and you couldn't have such ridiculous hack-and-slash dynamics. RPGs that introduce the Z axis always require some kind of slower combat system, or else you'd be overwhelmed very quickly. (This may change when gear like the Oculus Rift becomes more popular.)

While the same physics would apply to a space game in 3D or 2D, the control schemes would be very different, as I'll explain below. The major difference would simply be the feeling and intention of the game. For my own ideal space game, I'd prefer 2D. Everything that follows here is based on the assumption that the game would be in 2D (3D graphics restricted to a 2D plane), except where I dive into an aside on how something could be done in 3D. Although a lot of the following could be applied to either 2D or 3D movement space games.

Ship Movement

This choice is easy: basic Newtonian physics in the frictionless vaccuum of space. Thrusters on your spaceship should push you along in the opposite direction of where they're firing from, which could mean forwards, backwards, sideways, whatever. And if you deactivate your thrusters, you should keep going at a constant speed until something stops you. You can pivot around your current position without engaging thrusters, but in order to start moving in a divergent direction you need to really step on the gas. That's how Cosmic Rift did it, and it made for great action-RPG-style dogfighting.

But of course, if you're in a big clunker of a ship, then movement should be more difficult. Capital ships will always turn, accelerate, and decelerate slower than a small one-man fighter. Ships need mass, and what kind of ship it is and how you've outfitted it should contribute to that mass.

Ship Camera

For a 2D space game, I believe the top-down camera is always best. It's the most straightforward. You can zoom in and out, maybe "detach" the camera from the player so you can "scan" around within a certain radius, but otherwise the camera is pretty much just fixed on the player's ship.

A 3D space game has two main options: third-person behind-your-ship view like in Freelancer, or an in-cockpit view like XWA. I believe that pretty much every 3D space game should have both. But this does introduce a problem that can be solved by a third view: capital ships are too big for a third-person view and their "cockpits" are most likely a bridge with a viewscreen, which can be ineffective in combat. What then? Perhaps a Homeworld-style "tactical" view that allows 3D movement along 2D planes, and a mostly free camera that can afford easy targeting. Movement would be more difficult, but combat would be easier. Games like Natural Selection II have made great strides in providing different player "roles" disparate interfaces to control the game.

Ship Controls

For a 2D space game, the controls would be fairly simple:

For a 3D space game, the keyboard commands can be a lot trickier. There are a few divergent control schemes, from Freelancer-style hold-mouse-to-manuever to XWA's joystick gameplay. For any serious combat mechanics, I've always felt like a joystick trumps mouse, especially one that has a throttle mechanism. However, I really like Star Trek Online's space controls, even though they don't really fit with the physics I've described.

Ship Hulls: Sizes and Types

Every space game needs a diversity of ship sizes and types. There are three basic sizes and three basic types: small, medium, large; combat, trade, science. How you mix and match those are up to you. A small combat ship is obviously a dogfighter. A medium science ship could be a heavily shielded recon vessel. A medium trade ship could be a slow-moving ship with lots of cargo space. A large science ship could be a support carrier, while a large combat ship would obviously be a destroyer.

There's always room for more, though. Cosmic Rift featured some sub- and hybrid-classes, such as an advanced combat/science fighter, a fast cargo-hauling ship, and a heavily armored trade ship. You could be a trade ship with lots of science utilities to evade scanners. There are a lot of possibilities, just look at the class systems in Dungeons & Dragons.

You can buy ships in two varieties: as a "blank" ship hull, or as a "preset" or "recommended" configuration. For instance, one starship manufacturer can sell you either a completely unfitted small combat ship, or the same ship hull but already outfitted with the "recommended" weapons, armor, and shields, but doing so leaves little room for any cargo. The "blank" ship gives you the freedom to decide whether to make your ship a powerhouse or a cargo hauler, while the "preset" ships are the easy route if you have a specific purpose in mind.

The basic form of Hit Points for your ship is based on your hull. If your shields go down (or you have no shields), you begin depleting hull strength (hit points) until you get to zero and blow up. Every ship has a basic number of hull points which can be augmented with additional armor. (Of course, more armor means more mass means a slower ship.) When damaged, the player can repair their ship in a variety of ways, most often accomplished by visiting a starbase and paying money. However, advanced players may acquire a "stasis field generator" which powers down your ship and initiates basic self-repair, or "auto-repair nanobots" that repair continuously (but slowly) or act as a one-off "health pack" for your ship. Eventually, the player may be able to build their own personal repair depot.

Ship Power Systems

I really enjoy the idea that a ship needs a power source that makes most things run, like in FTL. More so, I enjoyed the fact that you couldn't just run every system on your ship unless you had enough power, which could be expensive. It made sense: weapons need power, especially energy-based weapons, but hull plating doesn't really need power. Shields need power. Scanners need power. How much power they require depends on factors like how good they are (better shields need more power) and what ship they're meant for (you can't put frigate shields on a fighter, at least not normally), which creates a natural progression curve. You can have shields on a fighter that are better than a frigate's shields, but the frigate has more potential for power output, leading to potentially better shields. Every size ship has a curve and an eventual plateau of power generation.

I also like the idea that you can use excess power for things like overcharging weapons or reinforcing shields in certain directions. I also like the idea that you can choose to excessively generate power to afford certain advantages ("science"-based abilities), but the disadvantage being that you are more vulnerable to energy-disrupting weapons (i.e. ion cannons). One idea I had along this vein is to have a hybrid combat/science vessel: kinetic weapons hit hardest, but require ammunition. A fighter with a lot of power generation could buy an ammo synthesizer, trading their excess power for the ability to keep replicating more ammo. You'd never have to buy ammo again, but you'd have to spend a lot of money on a powerful generator.

And as always, the player should be able to manage power levels between systems, if they want. I've always found this functionality to be neat but superfluous -- Star Trek Online being a good simple example of how it's been done. The option should be there to manually balance the 100% total power between engines, weapons, shields, utilities, etc, but the baseline of even distribution should be decent enough for most players. Also including quick-trigger presets, such as "divert majority of power to shields", is a must.

Ship Engines and Thrusters

There should be two kinds of engines: engines for moving around in "normal" space and engines for moving between planets or star systems. The engines for "normal" space are pretty simple: large thrusters for moving in one direction, smaller thrusters for rotating and otherwise changing your direction. This leads to some potentially interesting thruster configurations: you could have a very fast thruster system that can accelerate fast and have a great top cruising speed, but may be difficult to turn and dogfight with. Or go the other way: strap big thrusters diagonally, allowing enhanced manueverability but slower top speed. You could mount a big braking thruster on the front of your ship to stop quickly, or two big thrusters pointing out the sides of your ship for strafing.

The interplanetary engines don't need to be so complicated, but there's still room for variation here. I like universes in which small ships (fighters, small frigates) aren't big enough to hold their own interplanetary drives. You need at least a medium-sized ship (see: Millenium Falcon) to even have the option of carrying an interplanetary drive. Large ships, on the other hand, always have an interstellar drive built-in. This creates the need for either carrier ships which can ferry small ships between systems or some kind of assisted drive for small ships that requires something akin to "jump gates" or "space lanes" that speed up travel.

Personally, I prefer the "jump gates" idea. A medium or large ship can jump to another system from anywhere on its own power, but smaller ships require finding a "jump gate" to initiate fast travel between star systems. One additional idea is allowing very large ships (capital ships) the ability to act as a mobile "jump gate" for smaller ships. The idea being that your small fighter ship, while awesome and powerful, is a part of a larger fleet of ships, one of which being a capital ship that has the ability to act as your jump gate.

Ship Weapons, Shields, Armor, and Combat

A ship always has armor of some kind to protect it from space. You can always bolt on more armor for more protection, or invest/research in better and/or lighter alloys. You can concentrate your armor in certain sections of the ship (bulk up the front for head-on attacks), or distribute it evenly for balanced protection.

Shields are much the same, they just add additional protection before your armor gets hit. Alternatively, you can use shields that specialize in deflecting or absorbing certain kinds of weapons. Shields that absorb kinetic weapons, or shields that deflect energy weapons. Shields that help protect against power-disrupting weapons, or shields that specifically protect against missiles. You can always tune your shields, like your armor, to help in certain directions/areas of your ship. Having the "emergency power to forward shields" ability is necessary for any space game. Shields should regenerate at a certain rate when not in combat, but this can be varied as well, like in Star Trek Online. Some shields can specialize in recharging quickly, while others can have more capacity at the cost of a slower recharge time.

Space weapons should be pretty familiar to any fan of science fiction. You have kinetic weapons, like machine guns (or mass drivers), missile launchers, railguns, which can either shoot in straight lines or are self-guided. They always hit a ship's hull hardest. You also have energy weapons, such as phaser banks, blaster cannons, ion cannons, and energy torpedoes, which typically fire in straight lines. They always hit a ship's shields hardest. Some weapons (like phasers) have firing arcs, while other weapons (like railguns) fire only in one direction (typically straight ahead), while other weapons (like blaster cannons) can be mounted onto rotating turrets to give them firing arcs.

Based on this, you'd have two different kinds of weapons control-wise: weapons that fire straight in one direction, and weapons that have firing arcs. Weapons that can only be fired in one direction get triggered with either the Space key or a number key. Weapons that have firing arcs get triggered with your mouse, while your mouse pointer is acting as a manual targeting system, or just a firing mechanism if you've already locked-on to the target.

A typical combat sequence could be: enter an area, see an enemy, line your ship up to it so you're "facing" it, fire forward cannons. Next you can target it with Tab and lock on, firing self-guided missiles at it, or line it up into a firing arc of your phaser bank and use the Left Mouse Button to fire phasers. Or start using the mouse to manually target it and fire a turret at it.

Another idea could be to toggle weapons on and off using the action bar and fire the currently enabled weapons with Space. This could be good for firing a group of weapons together, such as "all forward weapons" and "all rear-facing weapons", but potentially annoying if you are switching between targeting and firing with your mouse versus firing with Space.

Again, Star Trek Online has handled this problem pretty well: you can manually trigger individual weapons, or simply fire everything that can hit the targetted enemy ship. That way, all the player has to do is line up their weapons accordingly. Combat would need to be basically getting your target in your sights, firing your weapons, and using abilities to help mitigate damage, perform special abilities, or enhance damage. What kind of thruster system you have installed would dictate whether you can outrun the enemy ship if need be, or whether you can quickly strafe around them while keeping your cannons trained on their hull. A cargo ship may want to either bulk up with armor or invest in faster engines.

Ship Cargo, Mining, Salvaging, Trading

Another staple of most every space game is the ability to mine asteroids, salvage components from other ships (usually after blowing them up), store things in a cargo hold, and then trade them with other players or sell them for money at a space station.

How much cargo you can hold should depend on how big your ship is, obviously, but also is a decision for the player. Certain ship manufacturers may specialize in configuring ships for cargo hauling, or you could buy a preset fighter ship and just remove some components and install cargo bays in their place.

Mining should be pretty straightforward, as it's often the easiest (but slowest) way to make money. Find an asteroid, and then you can either scan it and mine it, or destroy it and collect the "freed" valuable materials. Blowing it up may be faster, but would destroy some of the materials inside. Mining it takes time, and may leave you vulnerable to attack, but will always yield better results.

Salvaging can be used to recover things from derelict ships found floating in space, but it can also be used to pick up items "dropped" after you've destroyed another ship. This should never be a really great source of income in online games, to discourage griefing. The "dropped" items should include a percentage of whatever was in the player's cargo bays. For example, if you attack a cargo hauler that had just recently mined a cache of ore, you'd definitely get some of that ore for destroying them. However, if you attack a fighter ship, you probably won't get any salvageable items from the combat. Perhaps this is room for a balanced XP system: more XP for attacking other combat-oriented ships, little to no XP (but potential cargo) from non-combat-oriented ships.

Trading should also be pretty easy to understand, as it's been done pretty successfully in a lot of space games. Mine some ore or other material, and you can sell it for a decent price in some places, but potentially you could sell it higher somewhere else. The galactic economy and the location of the trading outpost determine this sell-price. You can always buy commodities from a trading outpost, but never sell it in the same area for a higher price. In any multiplayer scenario, you should always be able to trade goods with other players.

Even though combat ships won't have room for cargo bays, all ships should have some kind of basic inventory area, specifically for storing a small amount of spare/swappable ship components. While a large cargo ship doesn't have to worry about this, a small fighter ship should still be given 10 slots of basic cargo space to carry whatever they find while zipping around space.

Sensors/Scanners/Utility

Sensors and scanners are passive and active systems, respectively. A sensor simply waits for input, while a scanner must actively trigger to get results. This can lead to interesting gameplay: with no scanners active, the player's ship might appear "dimmer" on other players' radar. By completely shutting down power on the player ship, maybe you disappear entirely from radar. Likewise, certain celestial anomalies may cause natural sensor jamming, hiding the player from others. This was a key gameplay mechanic in Cosmic Rift, which allowed players to enter expanses of nebulae which caused the player to disappear from sensors. Other players could still fire weapons into the nebula in an attempt to hit the hidden player, but they couldn't see them.

Scanning other ships or entities can lead to acquiring more info about them, such as weapons, shield statuses, etc. But doing so may let the other ship know what you're planning to do. To combat this, players can buy sensor jammers or countermeasure systems, or weapons that disrupt power. Large capital ships could employ massive sensor jamming arrays, blanking out a wide area of the current zone.

Utility abilities are also extremely useful, as Star Trek Online has shown. Such abilities can range from repair nanobots which initiate hull self-repair to tachyon beams that drain shield energy from nearby enemy ships. The above sensor jammer idea is a utility function. Using utilities may require constant or one-off power requirements, and can be more useful for science-type ship hulls. Some utility functions are passive, being always on and requiring a certain level of power, while others require active triggering.

The Slot System

How does the player determine what equipment can go into their ship? I personally like a slot-type system, like many RPG games. Each ship has a preset number of "slots", having potentially varying sizes, technical levels, and type requirements. For instance, a beginner small fighter ship may come with two small level 2 weapon slots, a small level 1 power generator slot, a medium level 1 thruster system slot, and no cargo, interstellar drive, or science slots. A medium cargo/science ship hull may come with only limited low-level weapon slots, a small thruster engine slot, but several large cargo and science slots.

The components themselves have a type, a level, and a size. The mix of those determine their value. For instance, a player would assume that most high-level weapons require large size, but maybe the same can be bought in smaller versions (for smaller ships) at higher prices. A level 5 heavy blaster cannon comes in "large" size for a decent price, but also in "medium" size for more money. Both have the same power requirements, but one takes up less space, so it could be fitted to a smaller, more agile ship. For certain special weapons, maybe they actually require use in a certain kind of ship. A whole battery of cannons may specifically require a combat-type ship, so they cannot be fitted on a science-type vessel.

Aditionally, the game could limit the maximum level of component that a player can use based on the player's piloting rank or research level. Maybe a beginner player can only start with level 1 components, and must improve before getting higher-level stuff. The idea of a "research" system is covered later.

Starbases and Outposts

One often-overlooked but extremely cool feature of Cosmic Rift was the ability to build your own useful starbases protected by weapon platforms. It's one of the coolest parts of sandbox games like Minecraft: the ability to make the game your own through creation. The reason starbases were rarely used in CR was how fragile they were (while being very expensive) and how limited a space there was to build them. The map was too small to hide anything effectively, so any starbase would be destroyed pretty quickly unless you had a team of players protecting it. The player-bought weapon platforms weren't powerful enough to repel more than one attacking player at a time.

This could be alleviated by making starbases hardier, weapon platforms more effective, and giving players more room to spread out and build. The uses of starbases are pretty obvious, too. The player could set up an automated mining outpost in an asteroid field, or a personal home base to store excess cargo, or a forward attack base to repair and refuel at. All protected by weapon platforms, shield generators, etc. Maybe the player could even hire mercenaries to protect the vulnerable bases, attacking any other players who may decide to raid your storage. Or if you set up your base within the borders of a friendly civilization, they'll help protect you. A starbase could start as a "basic" version and allow purchasable/craftable upgrades like in Sins of a Solar Empire.

Civilizations and the Galaxy

Most every space game features an amalgamation of civilizations interacting in the same universe. The player can typically establish relationships with these civs, or in some games (like Sins and Galactic Civilizations), you control one entirely. However, for a space game where the player is just one ship, the relationship model is most useful.

Your relationship with a civilization could be improved by doing missions for the civ, trading with them, gifting them resources, et cetera. The benefits for doing so are commonly better trade prices, lower cost of ship repair, maybe they even help protect you from pirates while flying in friendly space, maybe they grant you access to special ship equipment. But helping one civ or faction may hurt your relationship with another, leading to being attacked whenever you enter one of their systems, maybe even a bounty on your head.

However, there should always be "neutral" starbases accessible to the player every once in awhile, where you can repair your ship and sell your goods at a decent rate. The civilizations should be the major players in the galactic economy, setting prices depending on who controls the star system the player is in.

One big important piece of having these civilizations is having the scale of the universe be represented through them. The universe should be "alive" around the player, going on with or without them. The player could never interact with any of them, and yet they keep fighting and trading and whatever. The player could play a role in sparking conflict, or they could be the one to give a small nudge to save the galaxy from turmoil.

There should always be one central galactic currency, but it's also possible to have special currencies for certain civs. Both Star Trek Online and World of Warcraft have implemented this model through faction-unique rewards bought with special faction-unique currencies.

"Normal Space": Zones/Areas

I really don't like space games that are just one big "infinite" expanse. While it works great in Minecraft for a planet-like experience, space itself is very boring because it's so empty. That's why it's important to break the galaxy down into "zones" or "areas" that the player can travel to, leaving the in-between space as some kind of interstellar jump. While this may shift the game more towards arcade and less like reality, it's better for fun gameplay.

Each of these zones can be controlled by a civilization, or otherwise exists as just a lawless wild west zone where only neutral or pirate bases exist, if any at all. On the borders between warring civilizations there could be opposing bases: the left half could be controlled by civ X and the right half could be controlled by civ Y. At some point, one could overrun the other. However, these contested zones should be actually changed when one overtakes it -- unlike the constant non-battle of contested zones in World of Warcraft.

Regardless, it's in these zones that the player spends all of their time. An individual zone would be much like the "Rogue Trader" zone in Cosmic Rift, being a rectangular area that contains many different types of celestial bodies and anomalies. The zone could be a "deep space" area that just has asteroid fields and nebulae floating around, or it could be an "in-system" area that has planetoids, maybe even a star, that take up a lot of space in the zone. The "Rogue Trader" zone had several asteroid fields, lined up to create deliberate trade lanes between a few starbases, with nebulae around the edges of the zone where combat would usually take place.

Sometimes, floating around these zones could be derelict spacecraft, or randomly-appearing precious minerals and hull-blasting meteor showers, or hidden pirate bases. Exploring these zones (especially before other players do) is key to keeping the universe an interesting place to be. Maybe you'll even travel so far that you discover new alien races, or a perfect hidden niche to hide your own starbase.

The Procedural Universe

The problem that many indie developers are facing is content creation: it's very hard to create by hand the same amount of content many triple-A studios can fill their universes with. In response to this, many developers are spending their time creating procedural generation algorithms that can randomly create a seemingly infinite amount of content. Some of them are doing a great job, some of them aren't. A lot of players are excited by the idea of the game but then disappointed when it gets very boring after a few hours of play.

The trick here is to keep the randomly generated content interesting. The developer needs to create interesting patterns that can achieve variation, like a good jazz solo. The terrain generation in Minecraft is a great example of this balance. While there are a set number of terrain types, there's potentially an infinite number of expressions of that terrain and how it interacts with neighboring terrain. One mountain range never looks exactly like another, but they do share the same basic characteristics. This leads to exploration, by itself, becoming a core gameplay element that keeps players coming back.

In terms of a space game, this means breaking down the universe into component pieces: asteroid fields, nebulae, planets, stars, black holes, etc. But all of these need different potential variations: an asteroid field can be a belt, or a circle, or rectangular, it can contain a lot of small asteroids, or a few large ones, or a mix-and-match, the field can have gaps in it, it can have a "blank" space inside of it (perfect for a starbase), or it can be impenetrably dense. A nebula could simply hide your ship from sensors, or simply distort them, or perhaps the nebula is actually an ion storm that will damage your ship the longer you stay inside it.

So we fill our zones with these celestial bodies, but how are they connected? That'll have to be procedurally generated in graph form, creating a web of interconnected star systems. It's important that civilizations be able to actively change this landscape, too. If there's a war going on between civ X and Y, whatever zones are between them can be contested. Given enough time, one of those zones could "swap" from being owned by civ X to civ Y, changing whatever starbases are there. You may have your own starbase parked in one of these "contested" zones and have to deal with the conflict going on.

The Pilot's Research System and XP

I really like Endless Space's and Sins of a Solar Empire's research systems, and I don't think I've ever seen them employed in any space action/combat game besides EVE Online and somewhat in Star Trek Online. It seems entirely fitting that the pilot (the player) should be able to research better technology, abilities, and unlocks. It adds to the necessary player curve, separating beginner players from more advanced players.

The research performed should be incremental and not devastatingly powerful. For example, one could research stronger hull alloys that decrease the mass of the hull while maintaining the same level of protection. Another research step could be improving engine, weapon, or power generator efficiency. More high-level research could unlock special abilities, or simply unlock the use of special weapons that can be bought.

A general branch of research could simply be incrementing the maximum tech level of ship components you could use based on ship size. The player, when buying a medium-sized ship for the first time, can only use equipment rated between levels 4 and 6, but with research, could start using levels 7 to 10.

How to achieve this research is up for debate. There is the simple model of having pilot "levels", and at each level more research can be unlocked. However, I feel that this is too linear. I also think that EVE Online's "just requires expoentially more time" model is annoying, and caters only to power gamers. Instead, I think I like Minecraft's XP system the most, in which you gain XP based on your actual actions, and then you can spend it on things. In the case of a space game, you'd spend your XP on new research projects. Once spent, it's removed from the player, and you must accrue more.

Modding the Game: Add Your Own Content

It's very important to me to make the game open to modification. There are a lot of pieces which cannot be made to be procedurally generated, or at least should not be made procedurally generated. I don't think ship hulls (the models of them or their stats) should be random, and I don't think most weapons should be, either. Environmental entities in zones should be like the ones in Minecraft: preset ideas that can be expressed in random variations. A modder should be able to tweak the bounds of those expressions, or replace them entirely if they want.