Update: May 2023


I'll be upfront, this wasn't a very productive month even factoring in the already light workload projected in this month's roadmap. That said, I was able to get work done on a much more important feature than I'd projected.

Multiple object perk handling

So to give some technical background: internally Drifters uses "perks" to modify ships. Each perk is either enabled or disabled and carries data about the stats it modifies. They can also optionally be an "active perk" which performs additional logic like checking for conditions to enable/disable stat modifiers (ex: the Desperation perk will modify ships to be faster if health drops low) or do any other dynamic behavior one might want. A ship's perks are aggregated from hullmods, officers, shield perks(enabled when the shield is up), ability granted perks, and status effects (which are technically an active perk with a timer). Suffice to say, perks do a lot of stuff and they're sort of the lifeblood of combat and ship customization.

Last roadmap post I hinted at some things on the side I was working on in preparation for the next few months, and this was it. A lot of work was involved in completely ripping out and rewriting the way the game handles combat perks. The old architecture would essentially hold a list of all the modifiers of all stats attached to a ship, and any time a perk was enabled/disabled it would run through every perk and recalculate all of the stats. This was...fine...for the time, doing the job of just getting perks working which was already a significantly involved process. The issue was on top of being very inefficient, it meant I could ONLY modify ship stats. Modifying weapons, shields, and abilities was all off the table, creating a very significant technical bottleneck towards expanding combat related content.

The new system doesn't have those problems. Each object (ship/weapons/etc) has tags attached to it, and if that object shares a tag with a given perk, then that perk will modify that object's stats. This affords a high degree of control. For instance I can make a perk that modifies only beam weapons, shields, or certain types of ship abilities. It also does it by tracking changes to stats in an easily reversible way, which avoids requiring a total recalculation each time a perk is changed, so it should in theory be more performant.

With this out of the way a huge amount of possibilities open up for new combat mechanics, and I'm excited to see where it leads. I was already able to sneak in a new shield modifier hullmod during testing.


Quests

Better quest arrows

Quest arrows were improved to be integrated into the pathfinding system, pointing to the nearest fast travel object if it lays out of system.

Quest Dialogue Selection Buttons

I did some work adding a quest selection panel to dialogue, similar to crew selection. It gets around dialogue  scalability issues I was starting to run into with quests.


Survey Quests

Survey type quests were added which involve going to a planet and performing a survey of some kind. These come in two flavors: mining and research. Each require a skill check for mining and science respectively.

Other Quests

The remaining quest stuff will be shelved for now or at least given lower priority. I was getting a little burned out on doing all the quest related work, since it's rather tedious and I'm not going to force myself to work on things I don't want to.

Get Drifters