[WIP] Life in the Frontier OXP

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: winston, another_commander

User avatar
ffutures
---- E L I T E ----
---- E L I T E ----
Posts: 2172
Joined: Wed Dec 04, 2013 12:34 pm
Location: London, UK
Contact:

Re: [WIP] Life in the Frontier OXP

Post by ffutures »

2001: A Space Odyssey seems a good source for shiny sterile corridors - lots of pictures here:

http://georgehahn.com/2014/10/22/2001-a ... sterpiece/
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6312
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: [WIP] Life in the Frontier OXP

Post by Diziet Sma »

The Dark Side is strong with this one.. 8)

G'day and welcome aboard, BeeTLe BeTHLeHeM.. nice project you've got here. :D
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
ffutures
---- E L I T E ----
---- E L I T E ----
Posts: 2172
Joined: Wed Dec 04, 2013 12:34 pm
Location: London, UK
Contact:

Re: [WIP] Life in the Frontier OXP

Post by ffutures »

One thought on the various scenarios in which money changes hands; I think that they seriously undervalue the purchasing power of a credit. A ton of food is only 2-8 credits, a ton of booze 20-35. So giving a beggar even one credit seems a bit extravagant, and in several of the scenarios amounts up to 100 credits are transferred or given to the player for very little. It seems a little too much. I think the low end is OK, but the high end needs tweaking.

Another thought - I think all of the commanders I've met so far are male, all of the thieves female, etc. Random sex for these characters would be an easy way to add more variety.


Some more possibilities for events:

"You look around the corridors but nothing interesting is happening"
Boring, but it has to happen occasionally.

"You think about visiting the gym to get some exercise"
Options - don't do it, buy an hour's membership for 2 credits, buy 5 hours for 6 credits, etc.; the time is used up. Maybe someone kicks sand in your face if you buy the 1-hour session, but compliments you on your physique after a 5-hour session.

"You run into Galcop recruiters who are looking for experienced pilots"
The aptitude tests (played as a simulator run or something) take a day and you are paid CR 100 if you pass, CR 25 if you fail. However, they do a full record check and any offences have to be paid off. For some reason nobody ever passes the test, and they ALWAYS find some prior offence with a fine more than CR 25 - "oh dear, it looks like you have a ticket for using fuel injectors inside the safety zone. That's a CR 50 fine, and I'm afraid it means we can't hire you". Anyone who is actually an offender has to do the usual "clean the declks" thing and pay a real fine to clear their offences.

"You encounter a troupe of mimes."
Give them a tip or waste some time complaining about them.

"You encounter a person of negotiable virtue"
Options walk away, spend some short time and a little money, spend more time and a lot of money, plus medical treatment needed later.

"You spot some kids 'tagging' the corridor walls with spray paint"
Options complain to the police or do nothing - if the police are called you return to your ship to find that someone has covered the hull with rude messages.

And so forth
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 39
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: [WIP] Life in the Frontier OXP

Post by BeeTLe BeTHLeHeM »

My TODO list is going full-nova.

Yesterday evening work:
- implemented a time variable for events. It's now possible to define how much time will be spent when executing an event. Instead of creating a separate property, the variabile is set in the "end:x" command, where x is the time spent in seconds. So "end:600" means "terminate the event and go forward 10 minutes in time". Use "end:0" to avoid spending game-time.
- As a general rule for numeric command parameters, two values comma-separated will be interpreted as a range, and a random number between the specified values will be extracted. This applies even to the time variable above.
- Added a new resolution to the "elixir peddler" event, that use the time variable above.

and I think I have the time to answer one post :)
ffutures wrote:
One thought on the various scenarios in which money changes hands; I think that they seriously undervalue the purchasing power of a credit.
Yes, you are right: obviously the "credit" currency is more a commercial one, it's trading-oriented and it's not fitting with everyday monetary transactions. I suppose player should use something like a "micro-credit", a currency with much smaller value to deal with people. Maybe this could be an idea? If player has no wallet-currency, he could convert 1cr to... I don't know, 1000mcr, and use them exclusively for events.

Taking in consideration this idea, I can almost see a sort of progression: player use wallet-currency with events, his reputation increaases (or decreases, a negative reputation can attract suspicious personalities), can access to events that offers missions, and missions can award him (real) credits or wares.
ffutures wrote:
Another thought - I think all of the commanders I've met so far are male, all of the thieves female, etc. Random sex for these characters would be an easy way to add more variety.
Yes, and it was no intentional. But I didn't want to transform the event text in code with something like: "You meet a $GENDER$ pilot. $GENDERSUBJPRON$ ask you if you can bring $GENDEROBJPRON$ in a safe place..." and so on.
BUT I think I have found a solution, because beside human sexes I want to include alien races too. So I'm thinking of using a $SPECIES$ tag (and "human" will be one of the values) and convert every gender pronoum to "it", that as far as I know it's the more neutral word I can use. I hope this is reasonable.
ffutures wrote:
"You look around the corridors but nothing interesting is happening"
Boring, but it has to happen occasionally.
Yes, and in several flavours.
ffutures wrote:
You think about visiting the gym to get some exercise"
I like this but it needs a variable to keep track of the physical conditions, and I would like to apply every variable to get a tangible effect on other events... maybe I could use a strength characteristics to use when the player is involved in fights (very RPG-lite so to say). I implemented an event where the player can reconcile two parties, and in one resolution the parties decide to beat him... this could display a "special" choice that brings a further resolution of the event.
"You run into Galcop recruiters who are looking for experienced pilots"
Another fine idea, this could be a course to hire an experienced pilot for a transport business specialized in something, and could unblock contracts of a certain type. At example, Galcop could ask the player to recover agents on several planets, or classified documents. The simulator would be another screen of text where the player could raise a skill (another persistnt variable), and when it reaches a certain level the business hire him.
For the bounty I was thinking about a service to clean the criminal record through a big amount of money (all or nothing). Maybe another events could be some sort of social service that at the end can offer money OR a slight decrease in bounty.
ffutures wrote:
"You encounter a troupe of mimes."
"You encounter a person of negotiable virtue"
"You spot some kids 'tagging' the corridor walls with spray paint"
These are to be implemented. I think the player should clean the ship before he can leave the station. Maybe he will have to work some hours more (time consumed) to wash away the graffiti...
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: [WIP] Life in the Frontier OXP

Post by cim »

BeeTLe BeTHLeHeM wrote:
So I'm thinking of using a $SPECIES$ tag (and "human" will be one of the values) and convert every gender pronoum to "it", that as far as I know it's the more neutral word I can use. I hope this is reasonable.
"they" would probably be better than "it" for "singular creature of unspecified gender" - "it" implies "inanimate" and/or "non-sentient" in English and only tends to be applied to people as (part of) an insult.

For that sort of text transformation, the "locals" option in expandMissionText and expandDescription should be quite a bit more efficient (as it runs in the fast core code rather than in the relatively slow JS engine) and possibly easier to use than writing your own string parser/replacer. Something like this

Code: Select all

expandDescription("You meet a [litf_species] pilot.",{
  "litf_species": "human"
});
though in real code the locals object would probably be shared between many calls to expandDescription.
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 39
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: [WIP] Life in the Frontier OXP

Post by BeeTLe BeTHLeHeM »

Thanks for the suggestion but don't worry, in the end I added other text-constants, so I don't have to use "it".

My work for the evening:

- implemented the constants $SPECIES_S$ (singular) and $SPECIES_P$ (plural), that set a random species if requested by the event text. The species value remain fixed until the end of the event;
- implemented the constants $GENDERSUBJ$ (he/she), $GENDEROBJ$ (him/her), $GENDERPOSS$ (his/her). The random chosen gender remain fixed untile the end of the event. The gender-values are correlated to maintain coherence throughout the text;
- fixed the text of all the events implemented until now;
- added 5 "no-events";
User avatar
Ranthe
---- E L I T E ----
---- E L I T E ----
Posts: 330
Joined: Sat Oct 13, 2012 7:35 pm
Location: Paraparaumu, New Zealand (TL 8, Rich Agricultural, Multi-Government)

Re: [WIP] Life in the Frontier OXP

Post by Ranthe »

spud42 wrote:
so Ikea's meat balls are made from Trumbles???
Well, Swedish meatballs are a universal constant... :mrgreen:

<finishes a glass of Esdian Jynn'n T'nnyx>
Commander Ranthe: Flying the Anaconda-class transport Atomic Annie through Galaxy 2.
Combat Ranking: Dangerous
"Big ships take more booty on your interstellar flights..."
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 39
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: [WIP] Life in the Frontier OXP

Post by BeeTLe BeTHLeHeM »

Hi everyone!

I have introduced some changes and put some new thing into the OXP, but I'm still in debug (from yesterday), I hope to finish this evening. As soon as possible I'll post the new release, but I want to be sure that it works. I've implemented a first little mission generator in two steps (first a non-mission where the player get an hint about a named npc in a system with a mission available, and then the npc that provide a cargo mission), I'll write the details later.
I've even changed the basic flow of the OXP: now, on the F4 page, the link brings to a "hub" page, where it is displayed a player report on his conditions (all variables involved in the RPG-lite part of the OXP). From here the player can go on the main concourse and fire the random event as before, or he can visit special locations (not presents in every station, for now there's a pure mathematical operation to determine this). The first of these locations, that I've implemented, is a bar, with four options. Other locations will eventually include a medical center, a church (or religious center or I don't know what), and a GalCop HQ, but I not exclude other locations based on the station allegiance.

Ok, time to do some task in real life, and then back to debug. See you later!
User avatar
ffutures
---- E L I T E ----
---- E L I T E ----
Posts: 2172
Joined: Wed Dec 04, 2013 12:34 pm
Location: London, UK
Contact:

Re: [WIP] Life in the Frontier OXP

Post by ffutures »

Something that occurred to me - maybe some cultural locations such as art galleries, opera (with time loss ranging from a few hours - Gilbert and Sullivan - to several days - The Ring Cycle - and associated costs), cinema, churches, etc.
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 39
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: [WIP] Life in the Frontier OXP

Post by BeeTLe BeTHLeHeM »

I won't release the new version tonight since I have an issue completing the cargo missions.
The thing is: I used specialCargo to "load" into the ship a custom cargo (only for aesthetics, I have no introduced new cargo types, only descriptions), and I have created a cargo mission:

Code: Select all

var newMission = player.ship.awardContract(1, vanillaCargo, start, end, arrivalTime, award);
player.ship.useSpecialCargo(minorCargo);
"vanillaCargo" is a vanilla commodity associated to each of the "minorCargo". So, for example, the player has to transport Copper (and in F5 it will result a full cargo of copper), but the mission text reports that the ship is transporting 1t of minerals. (I've choose 1t but there is no particular reason, more of a test).
The mission generation goes well. Everything works. I leave the station, make my jumps, I thank the Fuel Stations OXP so I can go faster, and so on.

But when I arrive to the destination, the mission doesn't end. Just docked, it displays the message:

You don't have enough inventory to deliver the 1 ton Minerals

Now, I've read the specialCargo blocks access to the ship cargo, so I have thought of deleting the specialCargo description, in shipWillDockWithStation (with checks for the proper destination):

Code: Select all

player.ship.useSpecialCargo(""); // I haven't found another way to do it
And Oolite does it, but the cargo tonnage it's still full (30 of 30t for Cobra III). And message it's still there.
Then I tried to remove all the cargo (in shipDockedWithStation): and it does it.

Code: Select all

player.ship.removeAllCargo();
Now I haven't neither copper, neither cargo loaded: 0 of 30t. But the message it's still there.
It's a compatibility issue between the mission engine and special cargo? It's better if I follow and check the mission internally from the OXP instead of using awardContract and similar methods (for parcel and passengers)?

Now I'm tired so for today I quit, I am afraid to write some abomination...
ffutures wrote:
art galleries, opera (with time loss ranging from a few hours - Gilbert and Sullivan - to several days - The Ring Cycle - and associated costs), cinema, churches, etc.
Yes, you're right, I think I'll introduce them, since in the list of custom cargo I'm using there are also things like movies, books, musical instruments, museum exhibits (but only for high reputation tiers). So it would be logic to create such places, and maybe tweak the missions to transport that types of cargo towards planets with appropriate locations. I hope to resolve the issues with the missions early to continue the work also in this direction.
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: [WIP] Life in the Frontier OXP

Post by cim »

BeeTLe BeTHLeHeM wrote:
It's a compatibility issue between the mission engine and special cargo? It's better if I follow and check the mission internally from the OXP instead of using awardContract and similar methods (for parcel and passengers)?
Yes. Special cargo entirely replaces the contents of the cargo hold, discarding whatever was already there. When you remove it again, the old contents are not restored.

Parcel and passengers you can award using the standard engine and they'll probably about work as you want, though (in 1.80 discovering that they've been delivered is rather tricky - it's a lot easier in the current development builds).
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 39
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: [WIP] Life in the Frontier OXP

Post by BeeTLe BeTHLeHeM »

Hi all,
I have just released the 0.1.3 version, there has been a lot of work, and this is only the beginning - I'm just digging the basis.

The main things for this release:
- The link on the F4 screen opens a "hub screen" that displays a sort of simple character sheet, offer the options to fire a random event and, for now, the chance to visit the first special location for stations: the bar.
- At the bar there are a few things to do. Talking to the bartender allows the player to get info about an npc with a cargo mission available.
- If the player meet the npc (on the main concourse of the destination) in time, the npc will provide the mission, and the player can complete it for money and a little part of reputation.
- The mission is repeatable.

This is the first implementation of a mission, completely internal to the OXP - it should be easy to do the same for parcel missions (I would add a bit of random text in them also) and passenger mission (there was this mission in Frontier to transport a dolphin... but I don't know if it's possible to "lock" a berth so maybe I can't exclude the standard engine).

In any case, I have already ideas on other types of missions, other type of station locations and a long list of random events to implement: let's see what I'll write in the OXP this week!

EDIT: some things in the bar are still temporary - an event in particular will be split in more screens to show better the process of the challenge.
User avatar
ffutures
---- E L I T E ----
---- E L I T E ----
Posts: 2172
Joined: Wed Dec 04, 2013 12:34 pm
Location: London, UK
Contact:

Re: [WIP] Life in the Frontier OXP

Post by ffutures »

I'm sorry, this really doesn't feel like an improvement to me.

This feels very clumsy; basically, you've put in some stats, but it doesn't seem to be possible to affect them voluntarily. For example, my Commander started off as unfit and feeling ill and itchy, after six or seven jumps I've still had no opportunity to change that. If you're going to have a stat like that, it needs to be possible to do something to improve it, such as visit a doctor, visit a gym, or take a vacation. It's possible that those will come up randomly sooner or later, but it would be better if at least one was present as an option at every station. I have no idea what this stat will actually do, in terms of the wider Oolite universe, but presumably it's going to have some sort of effect.

The attitude to the law stat is slightly better, but it's difficult to tell what it will actually do within the game - is it going to affect things like the police attitude to my commander? Or the behaviour of criminals?

Finally, the numbers you've put on these things are clumsy - for example, the description of the character's health sort of works on its own, adding a number just draws attention to the fact that it's a game mechanic.

One thing I noticed was that when I visited the bar I was given no indication what a round of drinks would cost - I didn't notice any money coming out of my account, was I actually charged for them?

Something I was going to mention re. the version 1.2 was that the fire, the begging commander, and the thief seemed to come up much too often. I haven't noticed them in version 1.3 so far, so thanks for fixing that.
User avatar
pagroove
---- E L I T E ----
---- E L I T E ----
Posts: 3035
Joined: Wed Feb 21, 2007 11:52 pm
Location: On a famous planet

Re: [WIP] Life in the Frontier OXP

Post by pagroove »

I installed your OXP and it does indeed give much extra flavor to the game. Compliments for that :).

Is it possible to give a station a fixed layout so that you can walk through it a bit like the old text adventures. As it is implemented now you walk automatically into some areas so what you encounters feels a bit like a chance card in Monopoly.

To grow some ideas:

In each station you could have at least:

a bar - (already implemented)
a health centre - Here you can 'repair' your health and this could be a starting point for medical missions. If on a low tech world with a serous disease or wound then you must rush to another planet to get medical treatment A counter could be set to count down and if you don't make it you die. (press space commander).

Shopping centre: To buy some things or weapons you need on a station.

a passenger waiting hall - This is normally the place where passengers come before they fill in their destination for a normal F4 passenger contract but if you walk into this hall also better, more lucrative contracts could be offered. Or you could have passengers that would want to lift at least one planet with you to get closer to their destination for a cheaper fare.
Cargo center/docks/corridors (could be in different levels) This is where cargo is stored but it also could be a hiding place for shady figures and dealers.
Luxury level/hotel with corridors
Police office (here you can pay the fines but you also could get offered missions for the police
The jail (Where you also can visit some types for more shady missions like piracy missions etc)
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
Image
https://bb.oolite.space/viewtopic.php?f=4&t=13709
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 39
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: [WIP] Life in the Frontier OXP

Post by BeeTLe BeTHLeHeM »

ffutures wrote:
I'm sorry, this really does not feel like an improvement to me. This feels very clumsy; basically, you've put in some stats, but it does not seem to be possible to affect them voluntarily. For example, my Commander started off as unfit and feeling ill and itchy, after six or seven jumps I've still had no opportunity to change that. If you're going to have a stat like that, it needs to be possible to do something to improve it, such as visit a doctor, visit a gym, or take a vacation. It's possible that those will come up randomly sooner or later, but it would be better if at least one was present as an option at every station. I have no idea what this stat will actually do, in terms of the wider Oolite universe, but presumably it's going to have some sort of effect.
First thing: I hope you're considering the fact that the development is ongoing right now, and that this is strictly talking an alpha, so I'm introducing and experimenting with features. The result is in no way representative of the final product - i will add features and content, and eventually I'll edit them, and eventually I'll remove something or replace it with something completely different.

That said, it's perfectly normal that there's no way to change the stats - because I have to physically write the code. The character is unfit at the beginning, because actually I have not still implemented the "fit center" as a location. I put in the bar to test and debug the code related to it - that it will be similar to the code for other locations, so I'm trying to get a solid foundation. When the fit center will be in, you can pay for a monthly subscription, and exercise in the center to improve your physical form. A better physical form will unlock certain choices in events that requires a physical effort. But you can exercise only one time every two days, to not abuse the process, and after a while of no-exercising, the stat will start degrading.

The same things for the health and sickness stat. Another location will be the "medical center": there the player can be cured (for a price), and get sober if he's drunk. And there will be the option to accept a mission to deliver pharmaceuticals products on another systems.

These location will not be at every station - but they will be distributed around the galaxy, the most useful location will be more easy to find. For the others, exploration aside, I want to tweak the mission generation so certain specific cargo will have to be delivered in places with related locations (e.g.: deliver a load of snacks and limes to a system with a bar). So the player can gradually discover places with locations of interest.

Until now I've a list of eight locations (including your suggestions), and the list it will further expand.

So don't worry, for now, if you can't see the greater plan: it's still early, but the elements will eventually go to their rightful place, and a more organic game flow will form.
ffutures wrote:
The attitude to the law stat is slightly better, but it's difficult to tell what it will actually do within the game - is it going to affect things like the police attitude to my commander? Or the behaviour of criminals? Finally, the numbers you've put on these things are clumsy - for example, the description of the character's health sort of works on its own, adding a number just draws attention to the fact that it's a game mechanic.
Even in this case, the player stance could unlock events or choices inside events. Criminals don't trust a good friend of Galcop, and vice-versa. I still haven't written down the possible ramifications, but I think the player could be involved in dangerous operations. I need to implement other things first, though.

For the numbers, I agree. That was an experiment, but from the start I was thinking of keeping everything literal, without reference to numeric values. I'll remove the numbers in the next release.
ffutures wrote:
One thing I noticed was that when I visited the bar I was given no indication what a round of drinks would cost - I did not notice any money coming out of my account, was I actually charged for them?
Yes, if you offer a drink to the people at the counter, you'll be charged a random amount of money - the event checks if the player has enough money to pay. Maybe in future I will introduce debts...
ffutures wrote:
Something I was going to mention re. the version 1.2 was that the fire, the begging commander, and the thief seemed to come up much too often. I have not noticed them in version 1.3 so far, so thanks for fixing that.
That is a pure game of chance. Increasing the number of events, the repeating factor will be diminished. Now we are at about 20 events, but my real goal is reaching a hundred - that should be enough to guarantee a decent level variety.
Post Reply