I've added multi-system NPRs post-start. This does lead to a slight problem, which is a likely pause for a few seconds while a multi-system NPR is generated. That pause between transit and arrival can effectively warn a player than an NPR has been created. Therefore I was wondering whether to add random pauses to some system generations, to make it less obvious when something is actually happening. Or would this just be annoying?
You could pre-create them.
On game load, or whenever the associated game settings change, go ahead and create the next NPR and all of its systems.
Just don't give the systems any IDs yet, and don't link to any existing system (obviously).
When an NPR is "discovered" during system gen, use this "green room" NPR.
That's probably the easy bit. The hard bit is making another "green room" NPR after you use the first one, without causing noticeable slowdown.
You could probably just tack something on to the end of con cycle processing:
If the "green room" NPR does not have all systems generated, create the next system for it. (But just one system per con cycle.)
Most of the time, of course, the next NPR is fully created and ready to go, so this extra bit doesn't fire.
When it does fire, creating a single system per con cycle will probably not cause a noticeable increase in processing time.