Select Page

The installation of production modules in order to manufacture commercial goods such as ceramics, crystals and fiber optics is one of the core mechanics behind Space Station Inc.. These commercial goods are then dispatched down to Earth via resupply vehicles and can be sold in the market in order to generate the income required to keep the company’s funds positive. Players can also group adjacent modules together under the same Production Line. Originally, the implementation of the production lines management functionality was spread across various screens, following the designed devised during the pre-production phase. Once we started working on the final implementation of the user interface for ‘flat’ platforms, Mauricio revisited the implementation and realised it could all be streamlined under a single screen. In this blog post, we are going to narrate the journey that started with the initial mock-up layouts and ended with the final implementation that encompasses all the required functionality under a single screen.

 

Initial design and implementation

In the late Spring of 2016, I asked Sebastian to come up with some ideas on how to extend the gameplay mechanics of the game so that players had more to do besides assembling modules, managing astronauts and producing and selling commercial goods, and he came up with this idea of including Production Lines. The basic premise is that players set up one or more production lines in order to be able able to: 1) Temporarily shut them down in order to reduce the overall electricity and heat dissipation requirements. 2) Assign astronauts to them in order to boost the combined output of their modules. Sebastian produced a deck of slides featuring some mock-screens so that we could get the discussion started. The overall idea was that players would start with a screen where they would be able to review their existing production lines and create new ones:

Initial mock-up screen depicting the main production lines screen.

By clicking on the Manage buttons associated to each production lines, players would access a new screen where they would be able to add or remove modules to the production line and assign astronauts to it. The information relevant to the production line, such as its stats or the bonus due to its assigned astronauts, would get updated accordingly:

Initial mock-up diagram depicting the production lines management screen.

This concept was a good starting point, and was the one I implemented in the first gameplay prototype. By clicking on the Production Lines button in the main UI, the game shows the current list of production lines:

Initial implementation of the main production lines screen.

By selecting the Shutdown/Reactivate button, a specific production line can be temporarily shut down. This can be useful in situations where there are not enough available astronauts on the station to perform maintenance duties or when an electricity generation module breaks down and the station’s energy requirements cannot be met anymore.

Confirmation message for shutting down a production line.

Selecting the Create New Production Line button starts the process for creating a new production line:

Starting the creation process of a new production line.

All modules can potentially be added to the new production line, provided that they don’t belong to an existing production line and that they are adjacent to another module from the production line being created. Alternatively, a module can be removed from the new production line, provided that it doesn’t break the path between any two given modules. All added modules pulsate with a blue colour and get added to a list at the bottom of the screen. The creation process concludes by pressing the Create Line button.

Creating a new production line.

Selecting the Manage button for a given production line opens up a screen with information and displays its modules using a pulsating blue material.

Production line management screen.

By selecting the Edit Modules button, modules can be added and removed. The same rules from the creation process apply, though: the resulting production line needs to be an uninterrupted list of modules.

Adding and removing modules from a production line.

Alternatively, by selecting the Edit Astronauts button, astronauts can be assigned and removed. The implementation of the gameplay prototype uses the same paginated solution with no drag and drop discussed in our previous blog post:

Adding and removing astronauts from a production line.

 

Revised Implementation

The gameplay prototype provided enough functionality in order to playtest the game mechanics related to production lines. That being said, when we revisited all these screens in order to write the final implementation of the ‘flat’ version, Mauricio realised that there was no need to have this functionality spread out across several screens and that we could adopt a more streamlined approach instead. The result of this redesign is the topic of this sub-section. The new production lines management screen has a scroll list at the top where players can navigate through existing production lines. While browsing through them, the list of modules located in the left panel gets updated accordingly.

Browsing through the list of existing production lines.

By pressing the Astronaut button located at the bottom of the left panel, the list of modules in the left hand side gets replaced by the list of astronauts currently assigned to the production line. This also brings a list of all available astronauts in the right hand side of the screen. Astronauts can be assigned and removed by using the drag and drop mechanism discussed in our previous blog post.

Switching from the modules list to the astronauts list.

Switching back from the astronauts list to the modules list.

Production lines can be deleted by selecting the Bin button located in the top area of the main panel. This will free up all its modules and make all its astronauts available again:

Confirmation dialog for deleting an existing production line.

Pressing the ‘+’ button located in the top area of the screen triggers the creation process of a new production line. In the new implementation, players are also able to specify a name and a logo for it. Notice that the current logos are placeholders 🙂

The screen for starting the creation process of a new production line.

After entering a name and choosing a suitable icon and pressing the tick button, the game shows the space station again and asks the player to start selecting the modules that will comprise this new production line:

The screen for starting the creation process of a new production line.

After entering a name, choosing a suitable icon and pressing the check button, the game shows the space station again and asks the player to start selecting the modules that will comprise this new production line:

The process of adding and removing modules to the production line.

Just like the gameplay prototype discussed at the beginning of this blog post, all new selected modules will be highlighted via a pulsating blue material whereas unselected ones will turn back to their default material. All the grayed out modules belong to a different production line and cannot be selected. Clicking on the check button located below the left panel concludes the production line creation process, which brings back the list of production lines located at the top of the screen. Player can continue adding and removing modules from the production line or select an existing production line to work on. The new implementation of this system minimizes the number of clicks and makes the whole process a lot more straightforward, as you can see in the following video:

 

Conclusion

The functionality related to the creation and management of production lines was originally spread out across various screens. After implementing it in the gameplay prototype and validating that it worked and was worth keeping in the final game, we revisited its implementation and found a way to streamline the process so that all the required actions could be performed without leaving this screen. The final result is a much more streamlined process. We wish we had came up with the final design right from the start, but sometimes prototypes need to be written first and mistakes need to be made before arriving at a more optimal solution 🙂