First test show things work as planned. Pirates are as responsive as before. Only one pirate in a group receives my old custom AI for welcoming the player and starting the attack. That seems enough.
Occasional traders etc are now also added and correctly removed again when out of view-distance of the player. I still want to do some more testing before release.
Sounds like you're well on your way to making everyone happy.
I'm in the process of hacking this OXP. I don't know yet if I'll fork it, submit an update, or release anything at all.
My modifications are essentially simplifications:
- suppress asteroid and rock hermit/pirate cove spawning. Asteroid "popping" before you is just weird - and I'm playing with a very low alpha setting (around 0.3) so it's less noticeable. Pirate coves have the same problem, plus it's not believable that the Galcop lets this happen. Finally, Pirate coves have a very low chance to spawn, so why bother?
- The script is "active" when the torus drive is engaged. The current version uses a weird calculation involving a random number. As I understand it, the faster the ship is the higher are the chances that the script "fires".
- I also removed all distance-to-lane considerations, and kept only distance-to-station restrictions. My reasoning is that when we are on the lane, we are frequently masslocked so the torus is disengaged. And if we are not masslocked, then maybe we feel a bit lonely so spawning something is good anyway. Furthermore, distance-to-lane considerations is nice and all, but it's actually not easy for players to tell if they are on the lane or not - and it's difficult to find the quickest path to the lane without proper navigation instruments (like VORs in planes). Furthermore that makes it compatible for free with all OXPs that add stations (extra planets, Kyota stations, ...).
- The script is on a 1 second timer instead of a 10 seconds timer. When the timer fires, spawning something is considered if a random number is greater than 0.99 (to be adjusted). So every second we have 1 in 100 chances to spawn something. Typically with a sun-distance modifying OXP (I use Keeper's), a trip to the sun on Torus is around 3 minutes (180 sec) on average. Going to a secondary planet is around 3 minutes also, although I use a modified version of Additional planets that places the second planet 2 or 3 times further away.
- I removed player's history considerations (i.e. number of DSP killed) to determine how much pirates should be spawned, for the reason that it is a player-centric feature. Pirate population should be a function of the system stats - namely safety, economy and population. It seems to me that player skill&skin scaling should be achieved by other OXPs, like Hardships for instance.
- Pirates spawn with a random amount of fuel. Fuel injectors currently being the only way to escape bad situations (and in my experience injectors are relatively common on NPC) spawning pirates with full fuel gives one less chance to flee in case of a very unlucky encounter (i.e. a bunch of sharp shooters with triple lasers).
- I'm considering spawning groups of non-pirate NPCs/Vipers rather than single ships. After reading this thread, I came to the conclusion that this OXP should act as a random traffic spawner, because the current solutions are not satisfying and progress is very slow: station-to-station traffic was only added recently (by Spara for one of his OXPs IIRC), and OXPs like Total Patrol still only considers the WP-Sun-MS triangle. My reasoning is that players do sensible things in general, so in general it makes sense that they see NPCs that do the same as they do.
- I'm considering spawning groups of non-pirate NPCs/Vipers rather than single ships. After reading this thread, I came to the conclusion that this OXP should act as a random traffic spawner, because the current solutions are not satisfying and progress is very slow: station-to-station traffic was only added recently (by Spara for one of his OXPs IIRC), and OXPs like Total Patrol still only considers the WP-Sun-MS triangle. My reasoning is that players do sensible things in general, so in general it makes sense that they see NPCs that do the same as they do.
Interesting! Should the non-hostile NPCs you meet have different behaviours? If you're off-lane, you might expect that any non-Viper you meet is probably a pirate … players approaching too closely or directly could be given a warning/disincentive, e.g. "Back off! This ship is heavily armed and defended", or "Any attempt to steal our cargo of basic Food will be met with overwhelming force". Ships could change direction to move away from the player, too.
I'm in the process of hacking this OXP. I don't know yet if I'll fork it, submit an update, or release anything at all.
My modifications are essentially simplifications:
...
- I also removed all distance-to-lane considerations, and kept only distance-to-station restrictions. My reasoning is that when we are on the lane, we are frequently masslocked so the torus is disengaged.
...
Pirates fly around witchpoint-station line.
- I removed player's history considerations (i.e. number of DSP killed) to determine how much pirates should be spawned, for the reason that it is a player-centric feature. Pirate population should be a function of the system stats - namely safety, economy and population. It seems to me that player skill&skin scaling should be achieved by other OXPs, like Hardships for instance.
...
May be reset count DSP killed in the Hacker Outpost for some credits?
I think that it can be improved:
1) The cylinders have infinite length. Perhaps it is not important for most missions and OXP. My suggestion to limit the length of the cylinders. It would be more realistic. So far, I have limited line in deep_stealth_raiders: planet-sun spacelane. The same principle can be limited and the other line: planet-witchpoint spacelane cylinder.
- I'm considering spawning groups of non-pirate NPCs/Vipers rather than single ships. After reading this thread, I came to the conclusion that this OXP should act as a random traffic spawner, because the current solutions are not satisfying and progress is very slow: station-to-station traffic was only added recently (by Spara for one of his OXPs IIRC), and OXPs like Total Patrol still only considers the WP-Sun-MS triangle. My reasoning is that players do sensible things in general, so in general it makes sense that they see NPCs that do the same as they do.
Interesting! Should the non-hostile NPCs you meet have different behaviours? If you're off-lane, you might expect that any non-Viper you meet is probably a pirate … players approaching too closely or directly could be given a warning/disincentive, e.g. "Back off! This ship is heavily armed and defended", or "Any attempt to steal our cargo of basic Food will be met with overwhelming force". Ships could change direction to move away from the player, too.
Indeed, currently when DSP spawns a neutral NPC, it generally jumps immediately, leaving you masslocked by the wormhole. But it may be caused by the fact that I sometimes ask for "gifts" and I think the game tracks that.
I too would like to see NPCs with "the finger on the trigger". They could fire shots across the bow when you id or lock them and look like a threat to them. Maybe set their accuracy to minimum to simulate that? Or at least they should focus you and emit warnings as long as you have one of them locked. AI scripting is a bit intimidating to me, but I'll give it a try.
Version 1.7 available on the Expansion Manager or here
Changes:
- Removal of derelicts and asteroids created by the OXP can be controlled by Library OXP Interfaces Screen (F4) Config for AddOns
The default is to remove everything the OXP created when not in player's sight anymore. Those players whose game is salvaging or mining might want to change the configuration (it's saved into the savegame afterwards so you have to do this only once) if they have the habit of marking the place of a bunch of derelicts or asteroids and come back to them after doing business elsewhere
Version 1.7 available on the Expansion Manager or here
Changes:
- Removal of derelicts and asteroids created by the OXP can be controlled by Library OXP Interfaces Screen (F4) Config for AddOns
The default is to remove everything the OXP created when not in player's sight anymore. Those players whose game is salvaging or mining might want to change the configuration (it's saved into the savegame afterwards so you have to do this only once) if they have the habit of marking the place of a bunch of derelicts or asteroids and come back to them after doing business elsewhere
[script.javaScript.exception.undeclaredVar]: ***** JavaScript exception (deep_space_pirates 1.7): ReferenceError: assignment to undeclared variable i
Deep Space Pirates v1.7 seems to be working as designed so why this error is being generated and what effect it might be having on how the OXZ operates is beyond me.
Really enjoying the latest version of Deep Space Pirates and my Lasers are too. Thank You for the updated release and for your attention to this minor error.
Humor is the second most subjective thing on the planet
Brevity is the soul of wit and vulgarity is wit's downfall
I found one place where I used a variable i without declaring it, I will release a new version as soon as I have ran it a bit for testing.
I wonder why I didn't get that exception, I looked for it in my archived log files and didn't find any... I guess I have stayed too close to the main space lanes