The Oolite NPC ecosystem (and other questions)

General discussion for players of Oolite.

Moderators: another_commander, winston

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16060
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Where do pirates come from?

Post by Cody »

cim wrote:
... most of them are not high-tech Corporate States. Maybe we should let the player be a hero or a coward in the unlikely event they see one of these invasions, and not worry too much about what happens when they aren't there - we can leave it to an OXP to fill in the standing military (unless I've missed some, there are only 19 double and 2 triple in total, so they would be logical places to focus on)
<nods sagely>
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Re: Where do pirates come from?

Post by Thargoid »

Sounds good to me too (it's a plot line I've used in a couple of OXPs myself). But if they are supposed to be big and scary ships against a small fleet of traders and escorts, then a little rebalancing may also be worth considering. Maybe some more passive strengthening, such as blocking of missile target locks.
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: Where do pirates come from?

Post by Disembodied »

Would it be worth adjusting market prices according to riskiness of the system, so that the best prices (buying and selling) are available in the most dangerous systems? Of course, this would have the effect of reducing the earning potential for beginning players ... still, though, maybe a bit of rebalancing is worth thinking about - at least in terms of quantity of goods on sale in the regular marketplace. Maybe it could be less likely that a player would be able to buy 35T of cheap Computers on the open market in a safe Rich Industrial, because most of the production is being bought up by the big exporters: they'd have to settle for e.g. 17T, plus some Luxuries and some Machinery to make up a full cargo hold. Ditto for the big-profit items on safe Agricultural worlds. It would make trading a bit more varied, and get away from the 35T Computers / 35T Furs monoculture. The more dangerous systems would have lower levels of trade overall and maybe there would be bigger piles of goods around for the independent trader to pick from.

Things are complicated a bit by players flying other, larger ships, of course - but there's the bulk haulage market for them, and still, the game should be built around the Cobra III.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16060
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Where do pirates come from?

Post by Cody »

Disembodied wrote:
... adjusting market prices according to riskiness of the system, so that the best prices (buying and selling) are available in the most dangerous systems?
Something similar to cim's [EliteWiki] Risk Based Economy OXP, you mean?
Disembodied wrote:
... the game should be built around the Cobra III.
<nods>
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: Where do pirates come from?

Post by cim »

Disembodied wrote:
cim wrote:
Probably most ships should ignore their disagreements temporarily if a Thargoid ship starts attacking.
Would that mean they would attack the Thargoid, or try to flee, or a mixture of both? Merchants and pirates might try to flee, but a hunter might try to fight ... or would this all just be taken care of by an evaluation of the odds?
Odds evaluation, hopefully, will take care of that. Pirates might well try to fight, if the odds evaluation was reasonable. 4-5 Alien Items, plus the bounty for destroying the warship? A single one is probably not actually as dangerous as a Boa + escorts.

Traders are trickier. A Thargoid warship can easily outpace most traders - it's rare that fleeing is going to help, and again, an escorted freighter probably has the firepower to kill one. I've no idea what a lone trader without injectors should do. Are they better going all-in on an attack on the warship in the hope they can get it before the thargons get them, or are they better running, not provoking it, and hoping they can hold out against its turret laser long enough to find help?
Disembodied wrote:
Although it might be worth broadcasting a system-wide alert/distress call in the event of a major invasion, a little bit like the Nova mission: make something of an occasion of it for the player!
Having actually counted them, there are considerably fewer double-bottleneck systems than I originally thought, so assuming the player doesn't go looking for them, they'll probably only see a major invasion once in every 3-5000 jumps. I'd hate them to actually then just miss it when it shows up.

Hmm. This needs a rethink. I like the idea of having an occasional larger Thargoid pack jump into a bottleneck system and start trying to systematically destroy Galcop's lines of communication and trade, but that seems a little too rare to be worthwhile. And, looking at the maps more closely, the double bottleneck systems are not actually always more strategic than the single ones. For an extreme example: losing the triple bottleneck at Erusat in G7 would barely get noticed: you can go around and most people probably already do rather than make a full-range jump into an Anarchy system. Lose the two single bottlenecks at Beritere/Tierus and Reoran/Timaesin, and the chart's in two bits. Er, three bits. Identifying which bottlenecks are strategic and which are merely useful is well beyond the abilities of a (fast) algorithm, though.

Perhaps it would be better to just stick to packs of 5ish showing up occasionally in bottleneck systems regardless of bottleneck type, and let OXPs make a proper event out of the bigger invasions.
CheeseRedux wrote:
rather observations on how I see that the various NPC classes should interact.
A lot of the behaviour is getting tweaked at least for 1.79, if the Javascript AI works out. So please keep talking about what ideally should happen: it might be possible.

For Thargoids: if a non-Thargoid ship is hit by a Thargoid, it will target the thargoid as the primary target, and discard all non-thargoid ships in its secondary target list [1]. Depending on how many thargoid ships there are, that may or may not end an existing fight entirely, but it probably will. Also depending on AI, they may or may not go back to fighting once it's over.

[1] You'll be able to override this if you want for custom AIs, of course.
Thargoid wrote:
But if they are supposed to be big and scary ships against a small fleet of traders and escorts, then a little rebalancing may also be worth considering. Maybe some more passive strengthening, such as blocking of missile target locks.
All warships have ECM, and the player is about the only ship likely to routinely carry a full spread of hardheads. But for an extra bonus since 1.77 the Thargoid Laser is a point defense weapon: they do sometimes shoot down missiles with it.
Disembodied wrote:
Would it be worth adjusting market prices according to riskiness of the system
I'd really like to hear people's thoughts on that one. As Cody points out, [EliteWiki] Risk Based Economy is there to test the concept in practice.

On the one hand, I think it is less than ideal that the maximum (legal) profitability Isinor/Ensoreus trade route is so close to the starting position, and there's no trader incentive to go anywhere else. Another area which could be considered (as tried in Phasted's "Real Life Economics", for example) is the nearby systems: use the topology. If I was making a trade system for a game set in the Ooniverse from scratch, I'd really want to include that sort of information in the pricing structure.

On the other hand, fingers one and two: I don't think the current commodities.plist method of price calculation as implemented to match the original Elite algorithms is particularly capable of getting much better results than it currently does (which should not be a surprise, of course!). A different pricing algorithm (and a more comprehensible one?) with different inputs would probably be needed. Making that change without breaking compatibility with existing OXPs would be extremely difficult and perhaps impossible, though. Still, if that's the only reason not to do it, there's probably some way to make it work.

On the other hand, remaining fingers: as trading is currently balanced it's mainly a way to make money for the purposes of spending in the rest of the game (and indeed with the exception of courier/contractor, all of the other core careers basically use the trade mechanism to make their money - even the bounty hunter). I commented very recently elsewhere that doing something different in that area was both potentially very exciting and very difficult to get right without turning it into a spreadsheet game. The trade system is basically unchanged (interface improvements aside) from the original Elite. I don't know how much scope there is to adjust it in the core game while keeping it recognisably Elite in feel.
Last edited by cim on Sun Aug 04, 2013 7:33 am, edited 1 time in total.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16060
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Where do pirates come from?

Post by Cody »

I like the idea of troublesome bottleneck systems a lot, especially when it means long detours to avoid them - Bizaar is a fairly good example of that.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Re: Where do pirates come from?

Post by CheeseRedux »

cim wrote:
For Thargoids: if a non-Thargoid ship is hit by a Thargoid, it will target the thargoid as the primary target, and discard all non-thargoid ships in its secondary target list [1]. Depending on how many thargoid ships there are, that may or may not end an existing fight entirely, but it probably will. Also depending on AI, they may or may not go back to fighting once it's over.
But that's not enough. If ship A and ship B are slugging it out when suddenly ship A comes under attack from ship T, ship B should also be making a decision on what to do next. (Provided, of course, that ship B actually notices the change in circumstances.)

More broadly, all ships in the vicinity should be altering their behaviour when Thargoids attack, independent of whether they have yet been specifically targeted by the bugs. Or more precisely: Run an analysis of whether or not to keep on doing what they were doing or react to the new threat.
Sort of like the guys from The Good, the Bad and the Ugly: Constantly trying to double-cross each other, but always ready to put their differences aside and cooperate if that is in their best (short term) interest.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: Where do pirates come from?

Post by cim »

CheeseRedux wrote:
But that's not enough. If ship A and ship B are slugging it out when suddenly ship A comes under attack from ship T, ship B should also be making a decision on what to do next. (Provided, of course, that ship B actually notices the change in circumstances.)
One of the concerns essentially is efficiency. Getting ships to react before they're shot at means regularly checking the scanner for new objects, which is relatively slow. When in combat it's easier just to get them to react when they or a group member gets shot. It's unlikely the Thargoid would shoot at A and not at B as well, in that scenario. It's possible when a Thargoid wanders in to a big multi-group fight that one of the groups will not have any ships being attacked by it, but that seems to be the sort of situation where someone not under direct attack deciding to take advantage seems most likely.

(Since Thargoids don't need to aim, you can give them multiple targets and they'll make a shot at all of them. Same applies - not that the core game has any - to ships with plasma turrets)
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by CheeseRedux »

But the code already exists, does it not? Clearly the thankyou messages you receive when you decide to join an ongoing fight depend on the sender recognizing that someone else is shooting at the ship that is shooting at them. Or is this something that is only checked when the player intervenes and not transferable to NPC intervention?
(I have no clue about the actual code involved, so this is based purely on observed behaviour.)
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by cim »

CheeseRedux wrote:
But the code already exists, does it not? Clearly the thankyou messages you receive when you decide to join an ongoing fight depend on the target recognizing that someone else is shooting at the ship that is shooting at them. Or is this something that is only checked when the player intervenes and not transferable to NPC intervention?
(I have no clue about the actual code involved, so this is based purely on observed behaviour.)
Yes, that could work, or something similar to it. I'll take a closer look.
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: Where do pirates come from?

Post by Disembodied »

cim wrote:
Disembodied wrote:
Would it be worth adjusting market prices according to riskiness of the system
I'd really like to hear people's thoughts on that one. As Cody points out, [EliteWiki] Risk Based Economy is there to test the concept in practice.
Maybe a gentler approach is by varying the quantities of items for sale, rather than the prices - particularly the quantities of the high-profit commodities? The pricing structure can remain exactly as it is, but e.g. the Isinor/Ensoreus run would be less profitable, because the player isn't likely to be able to buy more than (say) 10T of Computers on Ensoreus, and no more than 15T of Furs on Isinor. They'd have to pad out their manifest with Machinery, Luxuries, and Alloys from Ensoreus (? I think Alloys are an Industrial product ... that shows how little attention I've ever paid to goods other than the core few!), and Liquor & Wines, Radioactives, Minerals and Textiles from Isinor if they want to take a full cargo hold.

Maybe now and again you could get lucky, and hit a small glut on a same world, and fill yourself to the brim with the juicy items, but mostly you're getting the scrapings because the big ships - and the big conglomerates - are dominating the high-profit trades on the safe routes. If the player wants to fill up their hold with cheap Computers, they're going to have to either collect them from multiple safe systems (which takes time, and fuel, and forward planning, and at least a couple of safe Rich Industrials next to each other, with a safe Poor Agricultural in range too to sell them on), or they can take a dive into somewhere a bit more piratey, where the goods for export tend to stack up more because there are fewer ships making the run.

The main disadvantage would be that there would be no difference in the selling price on a dangerous destination as on a safe one - you'd get the same high return on Computers on Isinor as you would on Qudira. The main advantage of this though would be that reducing the quantities for sale, on the main stations of safer worlds, of a limited number of commodities, rather than changing the price, should be a minimum-impact change and shouldn't affect OXPs or other parts of the game (it might also be possible to introduce a sliding scale, e.g. max. 10T of top-end cargo on Corporate States; 12 on Democracies; 15 on Confederacies; 19 on Communist; 24 on Dictatorships; 30 on Multi-Government; 37 on Feudal and 50 on Anarchy). This might also make it slightly more difficult for players with bulk-haul contracts to sell half their cargo on the way and replace it all before they reach their destination.
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: Where do pirates come from?

Post by Disembodied »

cim wrote:
Hmm. This needs a rethink. I like the idea of having an occasional larger Thargoid pack jump into a bottleneck system and start trying to systematically destroy Galcop's lines of communication and trade, but that seems a little too rare to be worthwhile.
Maybe expand the range of targets a bit - not for the big raids, or even the frequencies, but don't just have them focus on bottlenecks. Bottlenecks would be strategic targets, but heavily-connected systems, with multiple linked neighbours, could be tactical ones. If the bottlenecks were the major targets all the time, you'd expect a bit of fortification on the part of GalCop; the bugs could mix things up a bit by choosing to hit well-connected systems, too.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by CheeseRedux »

cim wrote:
On the one hand, I think it is less than ideal that the maximum (legal) profitability Isinor/Ensoreus trade route is so close to the starting position, and there's no trader incentive to go anywhere else. Another area which could be considered (as tried in Phasted's "Real Life Economics", for example) is the nearby systems: use the topology. If I was making a trade system for a game set in the Ooniverse from scratch, I'd really want to include that sort of information in the pricing structure.

On the other hand, fingers one and two: I don't think the current commodities.plist method of price calculation as implemented to match the original Elite algorithms is particularly capable of getting much better results than it currently does (which should not be a surprise, of course!). A different pricing algorithm (and a more comprehensible one?) with different inputs would probably be needed. Making that change without breaking compatibility with existing OXPs would be extremely difficult and perhaps impossible, though. Still, if that's the only reason not to do it, there's probably some way to make it work.

On the other hand, remaining fingers: as trading is currently balanced it's mainly a way to make money for the purposes of spending in the rest of the game (and indeed with the exception of courier/contractor, all of the other core careers basically use the trade mechanism to make their money - even the bounty hunter). I commented very recently elsewhere that doing something different in that area was both potentially very exciting and very difficult to get right without turning it into a spreadsheet game. The trade system is basically unchanged (interface improvements aside) from the original Elite. I don't know how much scope there is to adjust it in the core game while keeping it recognisably Elite in feel.
I think there is a way to achieve a better "realism" to the trade system without rewriting the current procedure: By putting a Recent Player Actions filter on top of it.

For the sake of simplicity, I will be assuming that available goods and their price is a fixed number instead of a Range From To; The concept works the same in either instance, but it makes it easier to explain.
Also, the numbers I'm using will be pulled out of thin air for illustration purposes only, and would need a bit of testing and tinkering for real use.

Section 1, Supply:

Ensoreus has 30 Computers available @60. Currently, this means you can almost fill the Cobra every time you visit. (Or by doing a Buy-Save-Reload operation, completely fill it, unless you've got the OXP that prevents that sort of thing.)

Proposed change:
The game remembers what you buy, and will take time to replenish the stock. Replenish rate is 10% per day, so for Ensoreus, that's 3 a day until the standard 30 is available again 10 days later.

Furthermore, the price goes up by 1% for every 10% that is "missing". So 5 days after the player cleans out the market, there will be 15 Computers available @63.

Section 2, Demand:

Isinor pays 90 for the Computers, and it also has 5 available for sale (in case someone is really desperate to buy some :) ) Currently it does not matter how much Computers get dumped onto the market, the price remains fixed, and whenever you return all but the 5 will be gone.

Proposed change:
The game remembers what you sell, and will take time to "insert" it into the local market. The rate is 100% of standard availability per day. So when 30 Computers get sold on Isinor, it will take 6 days to bring the local stock back down to 5.

Furthermore, the price goes down by 1% for every 100% that is "extra". So those 30 Computers would immediately (or rather, once the player leaves the system) reduce the price by 6% to 84.6.

-----

The good thing about this approach is, as mentioned, that is could be done as a layer on top of the already existing algorithm. Once the game has calculated the price/availability, the changes from recent player action is applied to the results. The principle is easy. The implementation? I've no clue.

The main problem, as I see it, is that it is arguably very player-centric.
However, I don't think it's a deal-breaker. The Ooniverse exists in a state of near equilibrium; within a certain range, each system always has the same goods available at the same price. Conceptually, it can be argued that this equilibrium is the combined results of all NPC actions. Traders and pirates and bounty hunters and police and Thargoids all have an influence on the market, an influence that is simulated by the current pricing algorithm. The player currently has no such influence, but could be given one by allowing him/her to disturb the equilibrium on a short-time basis.

Obviously it would need balancing. Too much influence, and you pretty much kill milk run trading with one stroke, as you would only get two, maybe three runs done before having to move on to let things recover. One run if you are flying something bigger than the Cobby. Too little influence, and there would be no point in doing the work to begin with.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by cim »

CheeseRedux wrote:
(Or by doing a Buy-Save-Reload operation, completely fill it, unless you've got the OXP that prevents that sort of thing.)
Quick note, since I'm still thinking about the rest of it: the main station market is preserved across save/load.

You can repeatedly visit rock hermits for now, though of course save/load will also refill the system's pirate population.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by CheeseRedux »

cim wrote:
the main station market is preserved across save/load.
Oh, good. That's what I get for working with knowledge that is two years and two version numbers out-of-date. Good thing that it was only a minor throw-away point. :D
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
Post Reply