There are a lot of challenges related to making a space ship game that can be controlled by multiple people over the network, but for this article I will mostly focus on the fun aspects: roles, interactions and player experience. What I won’t discuss is the coding nightmare of simulating an entire networked multiplayer game running inside of another networked multiplayer game. If you want to know how I have solved those problems, you will have to wait until I’m done solving them.
The goal is to provide roles to the players which are optional, yet non-trivial so that the system is satisfying from all possible perspectives, all while making the roles simple enough that the learning curve doesn’t prohibit switching roles. The perspectives that need to be considered are: the person who wants to play alone, the person adding a friend to fill one of his optional roles, the friend who is being invited to fill an optional role, and finally the enemy player forced to fight against multiple players in a single ship.
The factors for each role will then be:
I have selected 4 initial types of player role for the ships in Wayward Terran Frontier and I’d like to discuss why I made some of the decisions I have made and how I think they will affect cooperative gameplay. The roles are that of Ship navigation, gunnery, science, and engineering, and they all work together to answer the questions posed above. These roles are also tied directly to ingame objects which are the control consoles you can add to your ship during the designing phase. In this way I provide the ship owner with the power to decide which roles will be available to his crew during gameplay.
Required roles vs optional roles is probably the simplest discussion to get out of the way. I approach this question from the perspective of what you absolutely have to be able to do when you are flying a 1 seat fighter craft by yourself. Then I expand outwards to try and imagine what roles I would add if the ship were just a little larger. In Wayward Terran Frontier the navigation console is the only required role for a working space ship (although probably optional if you intend to make an immobile turret or support structure) and it is designed to control like a simplified version of the controls from other top-down space games. If all you have is a navigation console, you can move the ship, turn the ship, fire all the guns, and eventually dock with other ships. By design, all other consoles are 100% optional, but that doesn’t have to mean those consoles are trivial.
So what types of valuable additions could other consoles add without being mandatory? well that depends on your definition of mandatory. Gunnery consoles do not have their view tied to the ship so they can survey the entire battlefield, and they can make aimed shots with any gun allowing them to target the interior of ships as apposed to just the edges. They also will eventually have UI elements that makes it easier to hit moving targets. Science consoles will be required if you want to use transporters, but with airlocks, transporters will be a convenience issue only. Science consoles can also scan things to help in both exploration and combat, and they have the ability to reinforce shields during combat. Engineering consoles will replace the current system of seeing the inside of your ship and clicking on things that you want the crew to do, while also allowing the utility of toggling modules and conduits on/off and activating fire suppression systems. To give engineering consoles something to aid combat directly there will most likely be a way to manually boost the charge rate of specific modules by clicking on them when your friends yell over voice chat.
Maintaining a player’s attention during combat is important. It is absolutely imperative to avoid the situation where a player has a fully powered and properly configured console and for an entire fight all they do is click the “scan” button. The gunnery console is obviously going to take part in lots of shooting, and the pilot’s job is always interesting enough, so that leaves science and engineering. Science console solves this issue through reserve shield supply and transporters. Reserve shield modules allow the science console to draw new shield pixels around the ship in real time using stored energy, which gives them an active role in protecting the ship during combat, and transporters allow them to add/remove items from enemy ships arbitrarily, how cool is that? Engineering is a console more dedicated to damage control, and the trick to making this console interesting is balancing the game to make sure that you take some damage. That aside, sometimes a ship won’t take damage at all, so this console still needs another ability which is why they can super-charge modules. Having a good engineer means you can always get a little more power to the thing you need most.
The issue of balance for these consoles is addressed by the fact that all of their abilities draw against the same resource pool as everything else on the ship. Engineers can charge guns faster, but the energy they use must come from reactors and it generates extra heat when it does, all they bypass is the bandwidth limits of conduits. Reinforcing shields and using transporters requires large expensive modules that draw power away from other systems when they are used such as regular (passive) shield generators
In the end, the goal is for a solo player to fly his ship like a fighter pilot, only thinking about the enemy in front of him, until he stops and has to switch consoles to scan the hulk of an abandoned ship he intends to explore. meanwhile a larger ship has a crew of people constantly yelling at each other over voice chat; “We have long range missiles incoming they are off the screen, navigation would you try dodging? Science, Reinforce the aft shields and dammit engineering can you get us more power?”