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: 13886
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: The Oolite NPC ecosystem (and other questions)

Post by Cody »

cim wrote:Making them a destination is much more difficult...
Yes... that problem occured to me months ago when I was 'planning' something similar.
A squid eating dough in a polyethylene bag is fast and bulbous! Got me?

User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6511
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: The Oolite NPC ecosystem (and other questions)

Post by Disembodied »

cim wrote:Just keeping to indirect signalling for the most part I think is fine. Perhaps if rather than a risk level, the contracts had a "minimum Elite ranking" publicised. The player would have to decide based on other factors if the ranking was just the client being prudent about general piracy, or if there was a definite threat they were worried about.
Sounds sensible ... dodgy clients aside, would it be possible to build in some sort of visual commentary on how safe a route is into the Advanced Navigational Array? Maybe colour-coded by an overall score based on the system types passed through? If Anarchy = 0, Feudal = 1, Multi-gov = 2, etc., then a low average score (total system score/number of systems) gives a red route, medium an orange route, and high a green route. I don't know what would constitute a low, medium or high average score, though ... 0, 1 or 2 = red, 3, 4 or 5 = orange, 6, 7 or 8 = green?

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by cim »

Disembodied wrote:Sounds sensible ... dodgy clients aside, would it be possible to build in some sort of visual commentary on how safe a route is into the Advanced Navigational Array?
I have been considering adding a colour setting to the ANA: press a key to cycle round {off, government, economy, tech level}. "?" isn't doing anything on that screen any more.
cim wrote:Making them a destination is much more difficult
I have an idea for this: each contract defines a preferred station allegiance (with a very strong bias towards the station allegiance it was found at, and only considering stations which can generate those contracts). On arrival at the system, search for a station with that allegiance; if none is found, then just use the main station, but otherwise mark the station as a waypoint and add a message to notify the player. Could be a neat way to let the player find some out-of-the-way rock hermits, too.


One other thing I've been thinking of is cargo contracts... in 1.76 you could (with a big enough ship) take on a lot of contracts, sell all the cargo, and repeat, for a considerable profit on the contract purchase price. I mostly fixed that exploit in 1.77 by increasing the contract purchase price, but that of course means that the price is far higher than it needs to be for honest players, giving the contracts a significant barrier to entry. There have been a few discussions since about how to adjust them; I'm now considering a slightly more radical change.
Contract: 100TC of Textiles to Xexedi by 2084078. Pays local market rate + 6 credits
You take the contract, obtain 100TC of Textiles one way or another, and take them to Xexedi in time, at which point someone buys them for a higher-than-usual price. No need to worry about what an appropriate deposit is, and adds an extra dimension to route planning in that the quickest route is not necessarily great if it goes through the wrong sort of systems. The payment bonus would vary with risk level, reputation, distance, and the level of natural variation of the good (market+6 is worth more for Textiles than Furs)

Any thoughts? (Especially from people who take cargo contracts, of course)

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: The Oolite NPC ecosystem (and other questions)

Post by Diziet Sma »

Hmm.. I mostly think you got it right with the cargo contracts in 1.77.. but I have to admit I haven't really tried them with a fresh Jameson, so I couldn't comment on the entry barrier side of things..
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13886
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: The Oolite NPC ecosystem (and other questions)

Post by Cody »

cim wrote:
cim wrote:Making them a destination is much more difficult
I have an idea for this: each contract defines a preferred station allegiance (with a very strong bias towards the station allegiance it was found at, and only considering stations which can generate those contracts). On arrival at the system, search for a station with that allegiance; if none is found, then just use the main station, but otherwise mark the station as a waypoint and add a message to notify the player. Could be a neat way to let the player find some out-of-the-way rock hermits, too.
I think I like this idea - but what exactly do you mean by 'allegiance'?
A squid eating dough in a polyethylene bag is fast and bulbous! Got me?

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by cim »

Cody wrote:I think I like this idea - but what exactly do you mean by 'allegiance'?
This, approximately. In terms of the core game it'll just mean that contracts taken at rock hermits tend to have rock hermits as destinations; with OXPs it should mean the the destination is about as "shady" as the source.

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13886
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: The Oolite NPC ecosystem (and other questions)

Post by Cody »

cim wrote:
Cody wrote:I think I like this idea - but what exactly do you mean by 'allegiance'?
This, approximately. In terms of the core game it'll just mean that contracts taken at rock hermits tend to have rock hermits as destinations
<nods in understanding> Cool!
A squid eating dough in a polyethylene bag is fast and bulbous! Got me?

User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6511
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: The Oolite NPC ecosystem (and other questions)

Post by Disembodied »

cim wrote:One other thing I've been thinking of is cargo contracts...
Contract: 100TC of Textiles to Xexedi by 2084078. Pays local market rate + 6 credits
You take the contract, obtain 100TC of Textiles one way or another, and take them to Xexedi in time, at which point someone buys them for a higher-than-usual price. No need to worry about what an appropriate deposit is, and adds an extra dimension to route planning in that the quickest route is not necessarily great if it goes through the wrong sort of systems. The payment bonus would vary with risk level, reputation, distance, and the level of natural variation of the good (market+6 is worth more for Textiles than Furs)

Any thoughts? (Especially from people who take cargo contracts, of course)
Might there be room for both sorts of contract? Perhaps the original, existing type could be called "shipment" contracts, and the new type could be "supply" contracts.

It might even be possible to make "supply" contracts open to players with smaller ships: a Cobra III could take on the above deal if the 100TC of Textiles could be delivered, by a deadline, in instalments. Such deadlines would have to be more generous (perhaps geared to the player's cargo hold size?), and profitability would be correspondingly lower ... perhaps "supply" contracts could be kept to the less profitable commodities, like Food, Textiles, Minerals, Radioactives, Alloys?

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by cim »

Disembodied wrote:Might there be room for both sorts of contract? Perhaps the original, existing type could be called "shipment" contracts, and the new type could be "supply" contracts.
I don't mind keeping the "shipment" ones on their own, if a sensible way can be found to balance the deposit charge.

The problem seems to me that if it's same-or-lower than the market price of the goods, you can take on a bunch of long-range contracts and then abandon them for a significant quick profit - sure, it trashes your rep, but not quickly enough to stop you; if it's made enough higher that you can't do that, it's then making the contracts much harder to get into for beginners, and also means that if a contract goes wrong you've got a 100TC of stuff which you're going to take a heavy loss on, that could wipe out your profit for the next several contracts.

Looking at it a different way, a shipment contract ties up a lot of your hold for (e.g.) ten jumps. In a big ship you're not going to be able to use all that hold space for the top profit cargo, so let's say 15Cr/TC profit per jump. So a 10 jump contract for 100 TC should give around 10*100*15 = 15,000 credits gross profit - maybe a bit less at low rep, a bit more at average or high rep so that it's actually worth doing rather than hanging around the Isinor-Ensoreus route, for a couple of thousand net profit over the alternative.

...except that you can just sell the goods you get for the contract on the open market, maybe immediately, maybe take a jump to a nearby system with a better economy, then work with your full hold capacity for several jumps, then buy them up again when you get near your destination, and get almost all the gross profit as net profit.

So: do we balance the contracts assuming that the player won't sell the original goods on the way - in which case I think it makes more sense to use DaddyHoggy's idea of the contracts being for items too big to fit in the standard pods so you can't sell them ... or do we balance the contracts assuming that the player will sell the original goods on the way - in which case why are we bothering giving them the goods in the first place?
Disembodied wrote:It might even be possible to make "supply" contracts open to players with smaller ships: a Cobra III could take on the above deal if the 100TC of Textiles could be delivered, by a deadline, in instalments.
I'd be wary of allowing the player to pay in instalments unless the contract was "payment on completion" with only a token payment (market rate or below) for partial completion. There's otherwise perhaps too much exploitable in taking on contracts you have no intention of completing so that you can get a Bloomberg Market's style price boost much more reliably.

User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6511
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: The Oolite NPC ecosystem (and other questions)

Post by Disembodied »

cim wrote:So: do we balance the contracts assuming that the player won't sell the original goods on the way - in which case I think it makes more sense to use DaddyHoggy's idea of the contracts being for items too big to fit in the standard pods so you can't sell them ... or do we balance the contracts assuming that the player will sell the original goods on the way - in which case why are we bothering giving them the goods in the first place?
I say go for option 1: make the shipments "special cargos" with only one possible destination. Like you say, option 2 is kind of pointless as a contract! Plus, this also allows players to take "special cargos" that could, on paper anyway, include slaves, narcotics, or firearms, without harming their legal status - because presumably these shipments would be licensed. There might need to be a way to eject special cargos though, if a player feels compelled to abandon the contract. This might mean we need a new cargo model (although possibly this could just be a bunch of cargo canisters bundled together).
cim wrote:
Disembodied wrote:It might even be possible to make "supply" contracts open to players with smaller ships: a Cobra III could take on the above deal if the 100TC of Textiles could be delivered, by a deadline, in instalments.
I'd be wary of allowing the player to pay in instalments unless the contract was "payment on completion" with only a token payment (market rate or below) for partial completion. There's otherwise perhaps too much exploitable in taking on contracts you have no intention of completing so that you can get a Bloomberg Market's style price boost much more reliably.
I'd make it all or nothing, payment on completion only - with perhaps part-payment for late completion. There could be a penalty clause that knocks, say, 10% off the total for every day over the target time (or whatever seems suitable). After X days over the limit the contract is deemed to be abandoned and the player gets nothing, even if they eventually bring in the remaining cargo. But since this form of contract uses standard commodities, the player can just sell these on the open market.

These contracts would need to step in when a player docks in the target system, and extract however many TCs of the specified commodity the player has on board (up to the total of the contract), before the player can trade on the F8 screen. The contract would get priority, in other words. It should probably also temporarily reduce the amount of the specified cargo type in the target station to zero, for the duration of the contract - otherwise you'd get situations where the player came in 5 TCs of (e.g.) Textiles short, but there were more than 5 TCs of Textiles available on the F8 screen, on the open market - it would look a bit daft, and the player would probably have to buy it, launch, then dock again to trigger delivery to the customer. An temporary shortage of Textiles would prevent this, and justify the contract.

Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 1998
Joined: Mon May 31, 2010 11:11 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by Switeck »

cim wrote:Looking at it a different way, a shipment contract ties up a lot of your hold for (e.g.) ten jumps. In a big ship you're not going to be able to use all that hold space for the top profit cargo, so let's say 15Cr/TC profit per jump. So a 10 jump contract for 100 TC should give around 10*100*15 = 15,000 credits gross profit - maybe a bit less at low rep, a bit more at average or high rep so that it's actually worth doing rather than hanging around the Isinor-Ensoreus route, for a couple of thousand net profit over the alternative.
That's the problem with cargo contracts -- it gets silly to be paid 150 Cr per TC for a 10 jump contract. Profitability cannot scale linearly with each additional jump.

Gold/Plat/Gems "work" as very profitable contracts in v1.76 and earlier because the crazy multipliers and typically huge quantities bump their absolute, total profit for each contract to the silly levels. 1000 kg of Gold would not have significant profit at all were it based on current starting location price versus random destination price, even for the most "favorable" trading (from Poor Agri. to Rich Ind.)

But "retool" the pricing scheme to be the max normal possible price difference between the start and finish systems and some possible profit is available without adding any multipliers or huge quantities. Also bump the "buying" price for the contract up to at least the current cost for that commodity (or higher/max for low reputation) and getting contracts just for "free credits" becomes a non-issue.

User avatar
ZygoUgo
---- E L I T E ----
---- E L I T E ----
Posts: 406
Joined: Mon Nov 17, 2008 4:15 pm
Location: Blighty

Re: The Oolite NPC ecosystem (and other questions)

Post by ZygoUgo »

Apologies if I've missed the point so far, not very well so not thinking straight..
Hows about if you sell the contracted cargo on route you are slapped with a criminal status and can no longer accept cargo contracts until the status is clean again, and upon landing at the station of origin are slapped again with the cost of refund. Keeping track of all the trader locations you have cheated would surely end up being a bit of a mine-field if you continued to behave in this manner.

Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Re:

Post by Zireael »

Apologies for missing this excellent thread due to extended absence from these boards.

My few Cr:
cim wrote:
cim wrote:set it up so that a few essential behaviours have comms messages attached (initiation of piracy, response to distress calls, police fines, etc.) but it's easy for OXPs to extend both the variety of messages and the set of behaviours with them attached.
I just realised - I never actually explained how I decided this would work. What do you think?

The AI library (or OXP AI code) sets up broadcast requests, which take three parameters: a message key, a parameter object (which can either be a dictionary, or a ship which is converted to a standard dictionary), and a priority from 1 to 4
Priority 1: always sent
Priority 2: sent unless this ship has sent a message (of any priority) in the last 10 seconds
Priority 3: sent unless this ship has sent or received a message in the last 10 seconds
Priority 4: sent unless this ship has sent or received a message in the last 60 seconds
This lets you set up messages to liven things up without flooding the comms channel in a big situation.

The key is then looked up in a global communication dictionary, according to the ship's "communications role" and "personality". The role is usually set in AI initialisation, though it can be changed later. The personality can be set at the same time (or later), but if you don't it will pick one at random from the list of personalities assigned to that role (biased towards the group leader personality, if there is one). This happens as:
1) role+personality
2) if not found, and role allows fallback, generic+personality
3) if not found, and personality allows fallback, role+generic
4) if not found, and both allow fallback, generic+generic
Whether fallbacks are allowed for a particular role or personality is up to the person setting them up. As I have it at the moment, most roles allow fallbacks, but the "thargoid" role doesn't. For testing I've just put a lot of messages on generic+generic, but for actual use you'd rarely want to put anything there.

So you could for example have: (key: role: personality)
Commence Attack: Escort: Generic -> "I've got the {target}"
Commence Attack: Escort: Military -> "Acknowledged. Intercepting {target} now."
Commence Attack: Generic: Pirate -> "Yaarrr! To Davy Jones Locker with ye, {target}"

If a non-empty string value is found for the key, it gets passed to expandDescription along with the parameters, and if that gets a non-empty string back from descriptions.plist, it gets sent as a comms broadcast.
Is this in? Because it could be really useful for my immersion project...
"Core" democracy/corporate state systems in Galaxy Chart 1 could be a little safer than any other Galaxy Chart, to give new players a little more security. Anyone who uses a Galactic Hyperdrive should be well-equipped. This extra safety may only last till a Galactic Hyperdrive is used...or the player indulges in piracy. It could be time-based too, so after a few weeks/months "things get worse"(tm) in-universe without the player doing anything useful. While this may be player-centric, we have a big problem with getting and keeping new players who often find docking to be a challenge and fighting pirates even harder. It won't change whether they've earned Elite status, if anything it may make Elite harder to get with fewer pirates to kill.
Good point. This could apply to Lave, too (for some time), Lave being a starting point after all.

In the current 1.79-test, I found myself in the unpleasant situation of having spent 90 Cr of 110 Cr on computers which I then had to dump in order to pacify some pirates in LAVE. So yeah, I'm not a newbie - I just started over - but a newbie in such a situation would probably go "damn this, I'm gonna play something else"

***
The above means a new player has to have some way of getting the money back if he ends up with 10 Cr altogether.
Some thoughts:
Minerals are too plentiful at main stations at least on the rich industrial side. Rock Hermits would have "more", but they're set too high and flip over back through 0.
Set a cap so that hermits and only hermits cannot flip back over?
If anything, rather than simply greatly reducing the profits between RI<->PA systems, change things around at the other systems. A Mostly Industrial system for instance pays poorly and has little worthwhile for sale currently, yet I'd expect such a system to have a much larger and active economy than a Poor Agriculture. Their demands might be for more computers that they appreciate and can immediately use than a Poor Agriculture. They might have (simple?) machinery for sale that an Agriculture-type desperately needs. A Rich Agriculture might have more Liq/Wines and Furs, but at higher prices than a Poor Agriculture. Better to be able to fill your Cobra 3's hold than to get a great price on only 1-4 TC of Furs. Food price range between RI and PA can be slightly larger, since it's so low-profit that it almost only matters to new players starting out. No freighter types can fill up on food without using cargo contracts.
Very good point. Currently, there is little reason to trade except the "milk runs".
Also, this could be combined with the idea which makes races influence the goods - it's floating somewhere around these very forums, link coming if I can find it.
Hmm ... it's verging on heresy but perhaps it would be worth introducing a low-value Industrial trade good?
That would go a great way towards solving the "10 Cr remaining" problem.

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Re:

Post by cim »

Zireael wrote:Is this in? Because it could be really useful for my immersion project...
Yes. Documentation

What isn't documented yet is which communications keys exist: I shall try to get round to that soon.
Zireael wrote:In the current 1.79-test, I found myself in the unpleasant situation of having spent 90 Cr of 110 Cr on computers which I then had to dump in order to pacify some pirates in LAVE. So yeah, I'm not a newbie - I just started over - but a newbie in such a situation would probably go "damn this, I'm gonna play something else"
It's an interesting thing about Lave - it makes a decent starting system (I'm not sure there's a better one in Chart 1) because you can jump straight into the Leesti/Diso run which is a fairly safe way to earn money but nowhere near optimal for economies - but it is a Dictatorship and so has an above average level of danger itself.

Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Re: The Oolite NPC ecosystem (and other questions)

Post by Zireael »

You're right - a plethora of "Harmless" pirates would look odd ... maybe though it's possible to finagle this for the NPCs, though? Part of the reason it's harder for the player to progress up the rankings is because the player is usually fighting solo: pirates often hunt in packs, against solo ships, so it's maybe easier to get a kill rating as a pirate wingman without actually being as good a pilot. If things were fiddled to give most common pirates ranks from "Poor" to "Competent", with a scant few here and there rated "Dangerous" (with superior ships, equipment, and accuracy). "Deadly" and "Elite" NPCs could be left up to OXPs to provide. "Harmless" and "Mostly Harmless" pirates could be very rare, too, and usually found operating solo. Most bounty hunters would probably be "Above Average" or "Competent", too.
My idea is - go with this. Require a piece of equipment similar to the Bounty Scanner OXP (and much more costly). Don't show rank for Harmless & Mostly Harmless. Actually, I might cook up an OXP tomorrow based on this, if I manage to understand the Bounty Scanner's code... (ie. how to modify names without conflicting with randomshipnames.oxp.

Post Reply