Community Update #146: Loadouts and upgrades

Hey everyone,

As you’ve noticed, we haven’t released a patch in a few weeks. That’s because we’re working on what is arguably one of the most important / complex game systems in a while: ship upgrades and custom loadouts. Since it requires massive code changes / rearchitecturing, we don’t have enough new contents / fixes to release a transitional patch. The good news is that the wait is almost over; the next patch is currently scheduled for the end of the first week of december, with maybe a follow-up minor patch focusing on bug fixes for the new system.

So, how does the ship upgrades system is going to work ? Originally, we were going for something that is capacity-based ( a bit like in Elite, with a max capacity of “cargo points” per ship that you could spend on various upgrades ). After working a bit more on the design, we decided against it. The main reason is that we still want the ships to focus on their assigned roles, and a pure capacity-based system would be too versatile ( as in: in a “bland” way, which would make all the ships feel the same in terms of abilities and what they can do ).

Instead, we’re going for an extension of the hardpoints system. You’re already faimilar with the weapons hardpoints; we’re going to introduce new internal hardpoints, and all hardpoints will be assigned categories ( such as: weapons, electronics, structual, engines, etc… ). These categories will restrict ( along with the hardpoint class we already have, such as MK1 to MK7 ) which upgrades can or cannot be mounted on a given hardpoint. Different ships will of course have different hardpoint layouts. This system means that we are in full control of the type and amount of hardpoints each ship has. Another advantage is that it’ll allow us, at a further point, to extend the damage system so that even internal hardpoints can be destroyed.

The implementation of the new ship upgrade system requires a few steps:

  1. Refactoring the hardpoint system to introduce internal hardpoints and hardpoint categories.
  2. Implementing the network code that allows hardpoint configurations to be communicated to the clients.
  3. Implementing modifiable ship attributes ( instead of just being constants ) that can be overrided by upgrades.
  4. Implementing loadouts ( a list of what upgrade or weapon to mount on each hardpoint ), their config files, their validation by the server and using it ( plus consuming credits ) when a ship spawns
  5. Splitting the current abilities ( ex.: scanner, warp jam, repair/resupply fields ) into proper upgrades.
  6. Designing a bunch of new upgrades ( / and maybe some new weapons, as time permits ).
  7. The ship upgrades + loadouts UI screen ( which will be in the ship menu tab )

On all these steps, we’ve already implemented ( or are close to completion ) on 1 to 4. 5 is the next step and 6 is at the design phase ( we already have a bunch of upgrades implemented, just to test the new systems ). Steps 5 and 6 should be done in a few days. The UI work ( step 7 ) is also the biggest one. It’s not technically hard, but there’s a large amount of complexity in the new screen. Here’s a concept draft made by our artists, just to give you an idea of the layout and how it’d look:

The small cards in the 2xN format at the left will of course contain details about the upgrades ( type, cost, dependencies, main stats, etc… ). There will also be an information panel with more details about each upgrade, which will show up over the chat box at the bottom left. As you install upgrades in your current loadout, the ship’s stats might change and this will be reflected on the stats in the right panel.

Note that you’ll be able to manage your loadouts ( creating new ones, saving, resetting ) via the icons at the top of the left panel. When selecting an upgrade ( in this draft, it’s actually weapons classes ) the 3D viewport will highlight the hardpoints that can potentially receive this upgrade ( so there will be a filtering system to avoid showing a hundred hardpoints on a capital ship, for instance ).

As for the upgrades themselves, they will be described in an XML config file, which will allow modding in the future. Just to give you a quick idea, it looks like this:

<ShipSystem ID="6" Name="HeatDissipator1" Category="Structural" Class="MK1" Credits="25" Requires="" Excludes="" Passive="true" Stack="1" >
	<DisplayName>Heat Dissipator I</DisplayName>
	<ShortDescr>Increases the rate at which heat generated by firing kinetic weapons gets dissipated when cooling down or overheating. Consumes a small amount of additional energy to help cooling the weaponry systems instead</ShortDescr>
	<Property Name="Heat" Value="1.30" Target="DechargeHeatPoints" Op="Mul" Descr="Heat dissipation rate: +30%" />
	<Property Name="Energy" Value="0.9" Target="RechargeEnergyPoints" Op="Mul" Descr="Energy recharge rate: -10%" />
	<Property Name="Mass" Value="1.05" Target="Mass" Op="Mul" Descr="Mass: +5%" />

This is just an example and will not necessarily be implemented as is in game. But here you’ve got a heat dissipator upgrade, which gets mounted on a structual MK1 hardpoint ( basically: for small ships ). It costs 25 credits, has no other upgrades dependency requirements, is passive ( the player doesn’t have to activate it manually ) and does not stack. The names / descriptions will of course get moved to the strings localization file.

The most interesting part are the properties. Each property defines a “target”, which is basically the name of a ship attribute that gets modified; a value, and an operation ( addition or multiplication ). So a “Mass” value of 1.05 with operation Mul, means adding 5% to the mass of the ship. The ship becomes slightly heavier.

Of course, we’ll have to do a lot of balancing, especially as we introduce new upgrades. The first patch in december will have a limited list of upgrades, so that we can test the new system thoroughly. After that, we expect to introduce new upgrades regularly over the months in new patches, so it’ll be a continual work in progress.

We welcome feedback on the new system and what kind of upgrades you’d like to see. More importantly, we haven’t figured out yet the internal hardpoint layouts that will be avaialble on each ship. Of course, the amount of internal hardpoints on an interceptor will be more limited than on, say, a capital ship; so there will be a quantity relationship with the size of the ship. But beyond that, we ourselves aren’t clear yet on how we’ll structure these hardpoint layouts. How many would you like to see on an interceptor, bomber, destroyer… ? Where to place them, what categories should be available to which ship ? Just let us know if you have thoughts about it. I look forward to testing the new upgrade system in game with many players… I think things are going to be… interesting :wink: