Part of the fantasy of owning a big space ship, having a crew, and going on space adventures, is periodically yelling to your engineering team "More power to engines!" or "divert power from life support to shields!" because yelling these things is most of what the captain does during space battles on tv.
Whatever you're using it for, power redistribution has been a staple of space flight simulators since the original X-Wing games. It adds a layer of tactical strategy to space combat beyond turning and shooting. Since you play the role of captain in Zero Falls, the game would feel incomplete without some way to reroute power during combat, wouldn't it?
Rejected candidates
Of course we've already got a few layers of depth beyond turning and shooting so simply adding a triangle toggle for power distribution isn't such a simple prospect in Zero Falls. In fact, it introduces a problem of complexity. When captain Kirk yells at Scotty for more speed, the audience is right there with the Captain and all of the pipes and science and engineering behind actually generating the speed isn't their concern. However in Zero Falls we actually simulate all that science, so you might be worried that you will find yourself in the position of scotty yelling back "I cannae break the laws of physics cap'n!" because you will be forced to deal with the reality of how ships work in order to make them go.
Clearly power distribution systems in Zero Falls need to be a compromise between deep engineering, and ease of use. It wasn't an easy compromise to make.
Many candidate ideas got thrown out for one reason or another. I considered power conduits that could be toggled on and off, modules which beamed energy wirelessly, giving the player color coded conduits to design power groups with, modules which used energy to increase the transfer rate of conduits, and all manner of interactive screens which might configure them during flight. None of the ideas was perfect, and all of the above got rejected because they didn't reach all of my design goals, however I am pretty happy with the one I've settled on.
Power distribution in Zero Falls
My design goals for power distribution were as follows:
- Good power management use should improve the performance of even an optimally designed ship
- it should be optional, yet desired to have power management abilities.
- it should make use of the engineering room, since we have assets for one and honestly...gotta have an engineering room
- it should improve the depth of interaction with your ship so you feel like you are learning your ships quirks and anticipating its weaknesses and getting better at flying it
- bonus points for how the system might interact with various other top secret future projects
- it should do all of the above without being terrifyingly complex and scaring off new players
My solution was the concept of routes. What's a route you say?
"Transfer power from life support to the aft weapons array" <- that's a route.
How do you use a route?
Simple, every ship has 1 route active at any given time. Route 0 is normal power functionality. If you have additional routes available you will see toggle buttons which you can click or activate with a hotkey to change your active route. You will know what each one does, because you will create it before you can activate it.
How do you create a route?
Walk into your engineering room. You will bring up a new screen which is a diagram of your ship. Clicking modules rotates them in and out of 3 different categories:
- Power destination
- Power source
- Disabled
The functionality of which hopefully is intuitive to most players. A power destination will receive more power than normal, and may have increased output. A power source offers its power to be stolen by destinations. Finally, a disabled module doesn't take any power and thus saves your energy for more important things.
What's the catch?
You can only save one configuration per route and to get more routes you need either more engineering rooms or better engineering rooms. A very simple ship setup might only offer a single route, forcing the captain to choose ahead of time where emergency power can be routed during combat. Does your ship benefit from a burst of speed? or do you anticipate needing extra shields? Maybe you have a missile ship and you just want the option to toggle missile factories on and off. Each of these ideas would constitute a "route" and each would be represented by a single toggle on your navigation screen.
the goal of course is to make engineering rooms matter, and to make them serve a purpose. We're not trying to make the player pay attention to more stuff all the time. As such, the game will remember the routes you create for each ship design, so every time you use the same ship it will have the same routes.
Under the hood
This sort of technical junk is extremely valuable to certain subset of our users so I like to add it to my blog posts. Here's what I've done on the technical side of things:
Every power update has been divided into 2 phases. Previously, a single power update phase allowed all of the power using modules to take power across the power grid from modules that provide power such as reactors and capacitors. Within the confines of a single update, conduit use was recorded so that overall power transmission would be limited by the maximum transfer rate of each individual conduit. Once some module had put 6 energy through a conduit segment, that conduit was capped out for the rest of the update cycle and no other modules could draw power through it.
With routes, we perform a second power update in addition to the first one. After all modules have taken the power they want, modules designated as power destinations are given a 2nd chance to take power from the grid using the same conduits, but with added conduit capacity which depends on the quality of the engineering room assigned the route. The catch is that they aren't allowed to take from reactors in this 2nd phase, because the reactors have already done their duty so to speak. Instead, a new list of power sources is provided in the form of the source modules designated by the route.
Since the engineering room effectively doubles the number of power update cycles (to a degree depending on the extra flow capacity) it can be very effective at increasing the output of energy craving modules. It also has an added effect of triggering an overpower mode on some modules which allow them to use energy faster for higher output. That effect will vary on a module by module basis, but a good example is engines which will try to operate above 100% output providing more thrust for more energy in exactly the opposite way as they do when providing less thrust in response to having less energy.
Routes also follow slightly different rules because you manually assign power sources. Namely, you can take power from any power using module. This allows you to do creative things like direct energy to move directly from one module to another to power one of them even when the entire tree is disconnected from the main grid, or so that you can daisy chain modules to a certain degree.
My hope is that the system will be both simple and powerful, with lots of emergent utility that even I have not thought of yet. I'm currently working on getting all the modules upgraded to handle the extra power gracefully but I'm sure I'll miss some and they will be added in the future.
When's it coming
I'm working remotely from a boat right now and won't be publishing anything until I'm back. Also this new patch will contain core engine content that's going to need lots of testing. Expect a patch in around a month maybe.
Power distribution isn't the only thing I'm working on. I also got the logistics screen to remember your turret assignments and am starting a new project as well.