Overworld Revamp Progress Report


Welcome back and Happy New Year. No release this month as I continue reworking the game's overworld into a playable state. Progress is going well however. Screen real estate is a difficult subject in game development but I think I was able to get a *relatively* streamlined and consistent design created.


Fixing Old Stuff

Given how pretty much everything broke as a result of taking a sledgehammer to the codebase, it's certainly been a process bringing it all back online. As of right now the new overworld is semi-functional. Here's a general breakdown of progress:

  • You can fly between location nodes, which will create random events when you explore them. This will form the basis of the general gameplay loop. Instead of real time, actions happen over simulated intervals (called ticks).
  • Fast travel, both relays and jump points, are working and can be used to hop between systems.
  • I was also able to reintegrate a lot of old UI into the new frontend. The ship editor, combat, and crew/fleet management screens are all working fine after some relatively painless bug fixing.
  • The dialogue engine is also mostly rebuilt save for dialogue scripting which is only like 10-20% broken at this point. Trading, ship trading, salvaging, infiltration, and arenas (all subcomponents of dialogue) are all functional again. This will get better over time as I re-add stuff that necessitates fixing the more niche functions.
  • NPC fleets can be generated and have rudimentary AI. I have a basic one setup right now that will wander aimlessly in a system until an enemy gets nearby where it then pursues it (including starting combat with the player), but it's pretty hacked together at the moment as I figure out the best way to manage the UI-simulation integration and the million edge cases it generates. I also need to rethink pathfinding to deal with variable fleet travel speeds which may necessitate some clever precomputation.
  • Location nodes will hold loot if a fleet is destroyed over them. This can be salvaged, and time to salvage increases with the amount of loot.
  • Planets are TBD and currently low priority. These will likely be redone from the ground up at a later date when I have more mechanics to justify adding them back.
  • Quests are ongoing. Salvage, infiltration, and bounty quests are all working.
  • The data handling of the game is very much broken in many places. This means saving and loading is nonfunctional and won't be for some time, but once the changes are complete it will be much easier for me to rebuild it.

Upcoming Features

In addition to the existing functionality I'm fixing, new features are still being added.

Fleet Speed Improvements

I got around to reworking fleet speed calculations. Ships now actively contribute to a weighted average determining your fleet's overall speed, which affects the travel radius of the fleet. Fleets composed of lots of slow capitals will find themselves taking a lot longer to get around and having fewer nearby nodes to escape to should danger present itself. A handy chart on the fleet screen shows a speed breakdown of your fleet, showing the average speed and the slowest and fastest ships in your fleet.

You also won't be able to move your fleet if you're over capacity for ships and inventory, forcing you to dump the items and mothball/scrap the ships to continue.

Threat Level

I'm getting ready to begin development on a new Threat Level mechanic. Threat Level is sort of a rough measure of how dangerous the system is. The mechanic works a bit differently depending on if you're in civilized or uncivilized systems. In a civilized system it acts as a composite score of roughly how much the owner of the system likes or hates you. Do something to make them mad like attacking a station and you can expect response fleets to start showing up to chase you down and random events to be more likely to be someone trying to kill you. In uncivilized regions it works the opposite direction, where killing enemies will gradually lower the chance of running into enemy fleets, the idea being to encourage you to keep exploring elsewhere (and also limit the amount of combat in the middle of nowhere)

Stealth

The concepts have been ingame for a long while since fleet skills were added, and with the new overworld I can finally get around to adding in a stealth mechanic.

On the overworld you'll be able to toggle stealth mode (which takes time to do to prevent abuse), provided your fleet has a positive fleet stealth skill value. This will enable you to remain undetected to other fleets in the system at the cost of moving at min speed. While stealthed you project a detection radius, which shrinks depending on how strong your stealth skill is. Any fleets entering this radius will then have their scanning skill compared against your stealth. If it's greater, stealth mode will be disengaged leaving you open to detection.

While in stealth mode fast travel cannot be used. I may change this to just relays (relays are basically toll roads so can't exactly stealth them) but we'll see how it goes.

Dialogue Tooling

During this content freeze I've also begun taking the time to develop additional tooling to make my life easier. Dialogue for example is in dire need of a pipeline speedup and a dialogue editor that *doesn't* require manual editing of the state machine in friggin notepad++ would mean I could spin up and maintain complicated dialogue trees much faster. This would pave the way for more unique crew/random events and who knows maybe even some story stuff. What this ultimately means is between the overworld redesign and new tooling it will speed up overworld content development *considerably* once in play and allow me to do things I was hesitant to work on before.



As of this post Drifters has been in open-alpha for just over a year now and still chugging along. All in all, I'm optimistic about the future of the game and am eager to see where things go as I steer the proverbial fleet in its new direction.

Get Drifters