Hi all, here is a short work-in-progress video about the ongoing addition of NPC traffic to the ASG world.
The most common ships in the game world are now defined and with their dedicated model. These are procedurally generated from sets of parameters, so adding new classes and variants should be quite straightforward from now on.
To maintain a global consistency the ships’ physical characteristics are derived from their technical specifications using a custom design tool:
Besides graphics there is now a ship “entity” and the fundamentals of the underlying book-keeping are in place. As explained in the video all instances will be unique and persistent. They are currently being instantiated in a docked state at their home station using a dedicated “Traffic Editor” dev app:
The goal from now on is to have these ships start moving around! This will require several key tasks:
- connect the ship entities to the physics engine and fit them with an approach auto-pilot for their operations around stations,
- design a traffic scheduler and generate realistic flight plans and trajectories. The computations will be performed on parallel threads and rely on the auto-planner routines,
- implement an Orbital Traffic Control system to regulate all operations, and which will communicate with all present agents (including the player) through the comms layer.
This should lead to 2021. A few words about the overall roadmap:
When this initial implementation of the NPC traffic is in place a new pass will be run on the CSN-F9 systems to add the missing elements (life support, centralized monitoring and alarms, performance panel, maintenance).
Then the work will shift to the ship’s sensors. And back to NPC vessels this will require they are fitted with detailed enough models to generate proper radiation levels and signals.
Thanks for reading!
Creating a vibrant and responsive backdrop to your game is a monumental task. I’m also happy to hear that NPC ships will use autoplanners instead of static routes. This will be a much more robust model, allowing for NPC detours and incidents that they can recover from.
* Will NPC vessels report distress if they “discover” problems with their delta-v budget?
* Will NPC vessels respond to nearby events? Encounters?
* Will NPC vessels have RNG to give mechanical issues, contraband, competency, degree of compliance etc?
* The star system layout suggest that there are interstellar power dynamics at play, but you also say that NPC schedules are precalculated suggesting that NPC traffic will be unaffected by events. Is the universe static, does it change but follow a predetermined dynamic, or am I misunderstanding something and the universe will be dynamically changing based on what transpires?
To be honest this is still largely guesswork at the moment! 🙂
What’s for sure is that NPCs will have to be able to respond to the player’s actions obviously, and that they can interact with one another is definitely a design goal. For instance there should be Space Guard NPC ships doing their patrolling job and the civilians they control should behave correspondingly (possibly deviating from their flight plan). A kind of introductory test is ongoing with the Orbital Traffic Control entity right now. The system is completely “player agnostic” and is treating all ships alike through the same interface. And once this first automaton is in place in machine ⇆ player mode, the next step will be to fit the NPC ships with a matching system to go full machine ⇆ machine.
About mechanical issues a lot will depend on the achievable traffic density (flight planning is very CPU intensive – and runs on parallel threads of course). Ideally the design could be very organic with failures naturally triggering associated rescue missions. If that’s not possible then that will require more scripting behind the scene, which will likely be necessary for “bad guys” too.
On a larger scale the game world will certainly remain quite stable. I’m afraid that very dramatic events would be too complicated to properly manage.
Finally about flight planning: the schedules are more like “galactic tide tables” really. Due to the ever-changing orbital configurations the routes are constantly shifting and can even be closed when no solution is found for a typical commercial liner. For instance the main one linking the two largest Alliance systems is only open 75% of the time in average! (And that should have some gameplay consequences of course).