Starbound Post-Mortem: Part 2
Updated: Jan 23, 2020
If you haven't read the previous entry, I recommend starting there first, as it covers why I'm writing this.
Starbound’s blog entries on combat and enemies give the impression that Chucklefish did not have a solid idea on the end result. Combat underwent several revisions during the game's development, with design decisions explained in the earliest entries radically changing later on. Shields are a good example of this, as they were originally stated to be used for counterattacks and drew on the player's energy. Counterattacking was later dropped and energy consumption was replaced with a shield health. This makes a significant change in the pace of combat, as the former encourages mobility, as you need to be in a good position to counterattack and to avoid the drawbacks of low energy. The latter, on the other hand, encourages taking hits directly--since it doesn't affect your combat ability--and doesn't offer any advantage to being close.
Not a big deal, Chucklefish was adapting combat when it wasn't working as intended, right? Things change, yes, but we must consider the context in which these changes occur. Right before the Early Access release, combat received a major overhaul. This included the removal of monster levels and armor, recalculation of weapon damage, and the inclusion of planetary level scaling. Just imagine all the work-hours put into each one of those features. Poof. Wasted. Yet these changes weren't the last of them, as following the Early Access release, player energy in relation to guns was changed. Originally, players could burn through their reserves and had to wait a substantial amount of time to recharge, This was altered to faster regeneration after a short period of non-use. There were also modifications to complimentary systems, such as the physics and status ailments and weapons mechanics were not finalized until the 1.0 release, which added attack styles for different weapon types. Why does this matter? Because every time you change something, it requires additional work to ensure you didn't break anything. In Starbound's case, the revamped physics system caused a lot of issues due to conflicting with other systems.
Very closely related to combat are Starbound's monster mechanics. The first notable change dealt with monster knockback and player engagement rules. It scrapped the original system where a monster would attempt to occupy the player's space, instead seeking the best position for its attacks. Certainly a good change to combat--making it more interesting--it is a decision that should have been made prior to going into production, as it directly affects the player experience through combat. In 2014, monster spawn patterns were changed to better fit the biomes they appear in, prevent clustering around beam down points, and scale with its planetary depth. Again, a good decision, but one that should have been considered from the outset to reduce the amount of balancing work.
Effective balancing is difficult to do without having a test build, I understand that, but the fundamental mechanics of combat and monsters should be settled prior to implementing any system. The team should have analyzed contemporary titles and determined what they did and didn't like about them and asked “How can we improve on what we looked at?” Dissect each title's features until it can't be atomized any further. Use the lessons learned and brainstorm features to create the desired game experience. All the brainstormed systems should then be tested, through thought exercise, for potential conflicts. After multiple iterations of the process, the final elements should be decided upon and then prototyped to find any unforeseen conflicts.
An example of how just weapon use could have been worked out:
Q: Did we like Terraria’s melee combat?
A: No, the combat is simple because attacks are uni-directional. It makes jumping more of a focus than positioning.
Q: How can Starbound’s combat be better?
A: Allow players to aim attacks in any direction rather than have fixed attack direction to emphasize the importance of having a good position and make enemies above and below the player easier to hit.
Q: How can this be implemented in the game?
A: Either use additional keys to affect targeting rotation or use mouse tracking to determine attack angle.
Q: Will this cause a conflict with other systems?
A: Fast moving monsters attempting to occupy the player space will be difficult to aim at/hit.
Q: How can that be averted?
A: Create monster behavior to locate itself in an ideal position for attacks, which gives the player space to attack.
Having this foundation for design decisions would have reduced the need to redo existing mechanics later in development by addressing issues beforehand rather than as they arise mid-production.