Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

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

Moderators: winston, another_commander

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

Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by BeeTLe BeTHLeHeM »

A little self-referential introduction

A few years ago I started developing an OXP for Oolite that promised more action for the player when docked to a station. In particular, the OXP allowed the player to disembark his own ship and walk through several different areas of the station with a mechanic similar to a CYOA game.

The project was ambitious, as I wanted to integrate it with new mission templates, RPG mechanics and so on. On top of this, I suddenly received a lot of (real) work on my shoulder, a project that kept me super-busy for almost a year and caused me a lot of stress. I abandoned the OXP idea and vanished from the forums (shame on me).

Some time ago I've seen my unfinished OXP on the Oolite expansion manager list and I was not proud of the state of my work. So I promised to start again, and complete it.

And here I am.

Getting Back to Development

Several concepts are changed since the old, original version of the OXP. I decided to follow a modular approach because I wish to lower the general complexity, so I splitted the project in three phases.

PHASE 1 - MISSIONS

- This phase revolve around providing the player a number of procedural missions to complete, varied in scope and description, to simulate a system BBS similar to the one in Frontier:Elite. The BBS will contain various items, missions, ads and flavour text, that will change depending on the system government type.
- The player will navigate the list and eventually open a details screen for some items. IE the detail screen for a mission allow the player to get more info or accept the missions - think again to Frontier:Elite.
- There will be different mission templates.
- Completing missions will increase the player BBS feedback, and in turn this will allow for more rewards in missions, with destinations far away from the starting system.
- Missions will have a deadline - failing a deadline the player will suffer a feedback penalty.
- A status screen will allow the player to see his feedback and the current active missions.

PHASE 2 - EVENTS / STATIONS

- In this phase a new mission template will appear: LOCAL. People will ask the player to complete tasks on the station.
- The player will have the chance to explore the station to complete tasks.
- Every station will have a specific list of components, depending on government, TL and industrial level.
- When the player complete or fail a mission, this could have consequences: major events will be reported in the BBS via news items, and in turn this events could generate new missions for the player.
- The final goal of this phase is the generation of scripted or semi-scripted missions built on a sequence of tasks, based on the phase 1 missions and the LOCAL missions.

PHASE 3 - RPG

- Introduction of player properties - like RPG attributes, to represent his physical and mental condition.
- Missions or major events could influence attributes, or affix statuses to the player.
- Special places on stations can cure affixes, or attach new ones to the player.
- Introduction of a simple player inventory.
- Markets on stations to buy or sell items from inventory.
- Player reputation with various groups (defined in Phase 1).
- Interface reorganization to display all the necessary infos.
- Final integration with the previous phases features.

I come here today confirming that I'm near completion of the Phase 1: the OXP is playable, it generates missions, there's the BBS screen to watch and accept and complete missions, and a status screen with actual feedback and current active missions.

I'm testing and tuning and fixing everything since about two weeks, and I believe I'll post the first revival release this weekend. It won't be the real 1.0 (Phase 1 completed) since I must implement some other content and test a couple more ideas.

And this time I'll ask to work on the OXP Wiki page so I can post more data about the OXP inner workings.

I have watched the other OXP threads, and there are interesting ideas around - I don't want to replace the work of others, rather I want to add to the variety. And I don't rule out future integration with other OXP. But I wish to proceed step by step.

COMPATIBILITY

There shouldn't be issues with other mods.
The OXP variables are contained in two objects (litfVars and litfCommander).
I've used:
- addPassenger / removePassenger to manage the ship cabins in the missions that requires transporting people. The name of the passenger has a prefix ("(BBS)") to distinguish them from the others. Since I manage the reward in the OXP, addPassenger has a reward parameter of 0.
- useSpecialCargo / removeAllCargo for cargo missions that wants the player to transport "sub-commodities". Player can't accept mission if cargo is not empty, so there's no risk that removeAllCargo will destroy other player shipments (it's always called after using useSpecialCargo but I could add an additional check to avoid unintentional mistakes).

SCREENSHOTS

Here is an Imgur album with some screenshots taken some days ago (in the meanwhile I've done some minor tweaks, but they're mostly the same).

VIDEOS

Same as above, that's for a general idea of the mission feature works:

Initial look at the BBS.

A simple CARGO mission.

DOWNLOAD

(14/04/2018) LITF-R v0.10.0
Last edited by BeeTLe BeTHLeHeM on Sat Apr 14, 2018 3:44 pm, edited 2 times in total.
User avatar
BlackWolf
---- E L I T E ----
---- E L I T E ----
Posts: 289
Joined: Thu Feb 15, 2018 9:30 am
Location: Texas

Re: Oolite - Life in the Frontier - REVIVAL

Post by BlackWolf »

Awesome. I have your original installed and actually go to the gym at each station to improve upon my characters physic. Also enjoying the random missions like escourting the drunk home or the gambling bit at the bar.
It will be nice to see this mod expanded and improved.
Creativity is a gift, use it well.
Balisongdalo
Competent
Competent
Posts: 36
Joined: Tue Aug 02, 2016 6:17 am
Location: Southern California

Re: Oolite - Life in the Frontier - REVIVAL

Post by Balisongdalo »

Looking forward to this, it really makes the station come alive with opportunities for pilots and immersion. Very grateful you will see this through.
"Proof is in the eyes man, when you know, you know"
Flying the D.T.T. War Lance
Rank: Dangerous
User avatar
ffutures
---- E L I T E ----
---- E L I T E ----
Posts: 2174
Joined: Wed Dec 04, 2013 12:34 pm
Location: London, UK
Contact:

Re: Oolite - Life in the Frontier - REVIVAL

Post by ffutures »

Excellent - looking forward to it.

One thing though - it would be very useful to be able to check missions against the map and any route the ship is already committed to, as for normal contracts, and that doesn't seem to be possible with the interface you have here.
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 41
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: Oolite - Life in the Frontier - REVIVAL

Post by BeeTLe BeTHLeHeM »

And here it is: the LITF-R oxp, version 0.10.0.
I'm going to put the OXZ in the first post.

Main features:
- Generate a BBS list, with a different tone depending on the system government, accessible through the F4 screen.
- The player can navigate the list and access the items detail screen: not every item has a detail screen, the player can't interact with ads or other messages not intended for interaction. Not always.
- Eleven different groups that appears only with certain governments, with different flavour missions, including GalCop.
- Five different mission templates (see below).
- The player can interact with mission items, with a dialogue system reminiscent of Frontier:Elite. There are various dialogue options, including advance in payment and more money (both need a certain feedback level). Player can get info about the mission as well.
- When a mission is accepted, a mission resume will appear on the Online Status screen, accessible through the F4 screen. This screen will also display the current player feedback/ranking.
- Various console messages to confirm accepted missions, missions completed, missions failed, money received and after exiting witchspace to notifiy that an active mission can be advanced or completed in the current system.
- Feedback increasing with completed missions, decreasing with failed missions. More feedback means longer trips, more rewards, more missions slots (starting with 1), money in advance or increased rewards. Anyway, one group in particular works better lowering feedback.
- Every mission has a deadline, urgent missions have a strict deadline (need further tuning).
- To complete the missions the player has to reach the destination and talk to someone on the BBS there. Usually there will be an item with the player name ("Hey Commander Jameson, look here!"), but in certain missions the player has to find the NPC examining non-mission items, such as local messages, because the NPC is unaware of the player mission.

Mission templates:
- CONTACT: Player goes to system A and deliver something to NPC.
- TRANSFER: Player goes to system A, pick up something from an NPC and deliver it to another NPC in system B.
- RETRIEVE: Player goes to system A, pick up something from an NPC and deliver it to the contractor in the starting system.

These three above are parcel missions: they use the addParcel/removeParcel methods, so I can set the "risk" parameter (for mission danger) and point the destination on the star map. The parcel mission is set with 0cr reward (the OXP is responsible for the payment).

- TRANSPORT: The same as CONTACT/TRANSFER/RETRIEVE, but the player has to transport from 1 to 7 people. To pick up the mission passengers the ship must provide the necessary cabins, or the mission won't advance.

TRANSPORT missions use the addPassenger/RemovePassenger methods. The passenger mission is set with 0cr reward (the OXP is responsible for the payment).

- CARGO: The same as CONTACT/TRANSFER/RETRIEVE, but the player has to move a shipment of goods. I've created a whole list of "sub-commodities", linked to the standard categories (I use this to calculate the reward). The more space the player ship has, the more reward he can get from the mission.

CARGO missions use the useSpecialCargo/removeAllCargo methods. If the player has something on the ship, the mission won't advance. In this way I can be sure that the removeAllCargo won't remove other stuff.

This is a summary of the OXP as it is now. As always, I'm available for questions and suggestions.



My actual goals to complete Phase 1:
- Fixing bugs and proofing text where necessary.
- Tuning missions deadline and rewards.
- Implementing a rather different type of mission (SEARCH).
- Eventually adding other mission to the mix (there are about 80 missions total distributed in 11 groups)
- Gain access to the wiki page (so I can upload the OXZ there) and post informations about the OXP.
- Writing the README file for the OXP!
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 41
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: Oolite - Life in the Frontier - REVIVAL

Post by BeeTLe BeTHLeHeM »

BlackWolf wrote: Thu Apr 12, 2018 1:53 pm
Awesome. I have your original installed and actually go to the gym at each station to improve upon my characters physic. Also enjoying the random missions like escourting the drunk home or the gambling bit at the bar.
It will be nice to see this mod expanded and improved.
Yes, that part will return in Phase 2 of development. I intend to expand the entire station navigation, creating various layouts depending on the system and eventually integrating this with other OXPs. And creating different missions where the player has to meet people on the station instead that on the BBS.
ffutures wrote: Fri Apr 13, 2018 9:14 pm
Excellent - looking forward to it.

One thing though - it would be very useful to be able to check missions against the map and any route the ship is already committed to, as for normal contracts, and that doesn't seem to be possible with the interface you have here.
Do you mean highlighting the missions destination on the map? I'm using the vanilla methods to have this type of visual data. Anyway certain missions require the player to go to a system before starting the real parcel/passenger/cargo travel, so the indications isn't present from the start.
User avatar
ffutures
---- E L I T E ----
---- E L I T E ----
Posts: 2174
Joined: Wed Dec 04, 2013 12:34 pm
Location: London, UK
Contact:

Re: Oolite - Life in the Frontier - REVIVAL

Post by ffutures »

BeeTLe BeTHLeHeM wrote: Sat Apr 14, 2018 3:49 pm
ffutures wrote: Fri Apr 13, 2018 9:14 pm
Excellent - looking forward to it.

One thing though - it would be very useful to be able to check missions against the map and any route the ship is already committed to, as for normal contracts, and that doesn't seem to be possible with the interface you have here.
Do you mean highlighting the missions destination on the map? I'm using the vanilla methods to have this type of visual data. Anyway certain missions require the player to go to a system before starting the real parcel/passenger/cargo travel, so the indications isn't present from the start.
No - I'm using an add-on, Display Current Course, which overlays the route already set for the ship onto the galactic map when you look at contracts. For example, if I've already set up a route that takes in a dozen or more systems and several existing contracts I am only likely to accept additional contracts if they are on the route I'm taking. I really don't want to blindly accept a mission without reference to my existing contracts. Unless I'm missing something, your mission acceptance screen doesn't show a map before you accept the mission.

Another question - should I uninstall the existing version (which is installed from the download manager) before installing this?
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 41
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: Oolite - Life in the Frontier - REVIVAL

Post by BeeTLe BeTHLeHeM »

Starting from the last question, about the past version of the OXP: I think it's better uninstalling it since some variables have the same name and it could case conflicts or other unpleasant errors.
ffutures wrote: Sat Apr 14, 2018 9:22 pm
No - I'm using an add-on, Display Current Course, which overlays the route already set for the ship onto the galactic map when you look at contracts. For example, if I've already set up a route that takes in a dozen or more systems and several existing contracts I am only likely to accept additional contracts if they are on the route I'm taking. I really don't want to blindly accept a mission without reference to my existing contracts. Unless I'm missing something, your mission acceptance screen doesn't show a map before you accept the mission.

Another question - should I uninstall the existing version (which is installed from the download manager) before installing this?
Ok, I've downloaded it and tried it and it's clear now. I've thought to a possible integration but in the end, tinkering a bit, today I have put up a mission starmap screen from scratch.

If the player enters a mission detail screen now, the choice menu will have a new option: Examine the Star Chart Map.

Image

This will open a page with the mission summary and the starmap, with the mission system highlighted in diamonds of various colors. The mission summary contains hints about the system color and the distance from the player.

Now, on the Long Range modes, the map shows also the route to Aronar I traced with the Advanced Navigational Array - and this is more or less the same the OXP does, isn't it?

Image

Problems is, not every map mode seems to work. And I wanted to use the CUSTOM_MAP to allow the player to set the zoom level and centering of the map but the map doesn't show at all.

Image

I used fixed values for testing the Custom Chart modes, with no effects.

Code: Select all

customChartZoom: 1,
customChartCentreLY: Vector3D(8, 34.6, 0), // Lave system
So I could keep the SHORT_RANGE and the LONG_RANGE_QUICKEST and LONG_RANGE_SHORTEST, but since you can't move the map maybe it isn't so practical.
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 41
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by BeeTLe BeTHLeHeM »

Ops, my bad, I just noticed that the additional chart modes are for v1.87, still not released... :D
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by phkb »

Just to be clear, Display Current Course isn’t an alternative to creating your own mission map screen. It is designed to overlay whatever your current course is onto any new mission map screen, so that your current course and the new course being suggested by the mission can be compared. It just needs to be told the screenID of your new mission screen so it knows when it should kick in and do its job. Wiki page has code samples.
User avatar
BeeTLe BeTHLeHeM
Competent
Competent
Posts: 41
Joined: Sun Jan 11, 2015 4:55 pm
Location: Bracciano, RM, Italy

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by BeeTLe BeTHLeHeM »

phkb wrote: Sun Apr 15, 2018 9:44 pm
Just to be clear, Display Current Course isn’t an alternative to creating your own mission map screen. It is designed to overlay whatever your current course is onto any new mission map screen, so that your current course and the new course being suggested by the mission can be compared. It just needs to be told the screenID of your new mission screen so it knows when it should kick in and do its job. Wiki page has code samples.
Sorry, I made a bit of confusion.

Your OXP colours a plotted course in green on the (standard) contract pages, that itself shows the route to the actual contract destination. So the player see the contract route (yellow) and the plotted route (green) and this allow for comparison between the two routes. (Correct me if I'm wrong).

In my screen I didn't show any route, only the markers for the systems relative to the mission, so in the screens I posted Oolite just showed the plotted route in yellow - the standard behaviour.
I suppose (this is a shot in the dark) that if I managed to set the route for the mission system your OXP should automatically switch colors from yellow to green.

Actually I don't think I add the routes (frankly I still don't know if this map screen will be included in a release), but I have already put the necessary checks and code for integration with your OXP, as seen on the wiki page.
User avatar
stranger
---- E L I T E ----
---- E L I T E ----
Posts: 351
Joined: Thu Apr 05, 2018 5:31 am
Location: Vladivostok, Russia

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by stranger »

It seems to be interesting, BeeTLe BeTHLeHeM.
I was disappointed by early development version - it was nothing to do in station, but contract system changes situation.
Are you thinking about pilot physical condition affecting flights? It is hard to simulate blackouts directly, but since Oolite 1.82 it is possible to change ship dynamics. Pilot condition may limit rate of pitch/roll for example or max thrust rate. It will give pilot with good condition some advantage in dogfights.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by phkb »

If you’ve included the correct code link, then the players current course will be displayed on your map screen regardless of what you show there yourself. The current course will always be displayed in green - a map screen with a new mission destination will show as yellow (by default).

The concept behind the DCC OXP is for it to work kind of independently of, and invisibly to, everything else. Once you’ve got the link set up in your OXP you should be able to ignore it and let it do its thing.
askfor
Above Average
Above Average
Posts: 19
Joined: Mon Aug 06, 2018 4:37 pm

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by askfor »

I had a crash, Oolite got frozen and I had to kill my X server to clear it. It might be related to this expansion, although I might be wrong.

I took a mission from BBS. A guy haven't heard from his family member who lives on Isinor system. I traveled to Isinor station
and found nothing there. Then I bought some cargo and proceeded to Zaonce system. When docked to Zaonce station problem
started. I got the message, sort of. I have voice enabled for comms messages but I couldn't understand what it was saying. I
understood something like "your ship..." Text message never appeared and my game froze up, not responding to any key.
I pressed Alt + Ctrl +Backspace, which killed my X server and dropped me to command line.

I am playing on Slackware Linux 14.2, 64 bit with shader mode enabled and docking protocol disabled. Oolite is 1.86.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6696
Joined: Wed Feb 28, 2007 7:54 am

Re: Oolite - Life in the Frontier - REVIVAL (14/04/2018 - Release v0.10.0)

Post by another_commander »

askfor wrote: Wed Aug 08, 2018 8:54 am
I had a crash, Oolite got frozen and I had to kill my X server to clear it. It might be related to this expansion, although I might be wrong.

I took a mission from BBS. A guy haven't heard from his family member who lives on Isinor system. I traveled to Isinor station
and found nothing there. Then I bought some cargo and proceeded to Zaonce system. When docked to Zaonce station problem
started. I got the message, sort of. I have voice enabled for comms messages but I couldn't understand what it was saying. I
understood something like "your ship..." Text message never appeared and my game froze up, not responding to any key.
I pressed Alt + Ctrl +Backspace, which killed my X server and dropped me to command line.

I am playing on Slackware Linux 14.2, 64 bit with shader mode enabled and docking protocol disabled. Oolite is 1.86.
No OXP should be able to crash the game. If it crashes, it is a problem in the core code. It would be really helpful if a pattern for reproducing it could be established.
Post Reply