Page 1 of 5

Help us make Oolite more immersive!

Posted: Sat Dec 21, 2013 6:28 pm
by Zireael
As far as I can tell, buried under the last umpteen pages is the problem of making the "boring" mass-locked inbound bits less boring for the new player.
Yup. So I'm unburying it.

The idea was laid out by Admiral cim:
It works, though, because while you're flying that distance the other ships in your patrol are chatting on the comms.

The problem with doing the same thing in Oolite, of course, is the scale - to get to Elite rank we're probably expecting the player to have built up several hundred (if not a few thousand) hours of flight time, so any comms chatter besides the professional (e.g. "target the Gecko", "requesting docking clearance", "your cargo or your life", etc.) basically needs to have a huge data source to work from so that it doesn't end up getting repetitive (something like CCL PhraseGen and similar can of course reduce the data needs, but not by a lot). The technical implementation would be relatively straightforward by comparison to the task of writing and collating all of that.

Similarly - and even harder in all aspects - with giving out mission hooks. Curse of the Black Sunspot was kind of an initial experiment in the direction of the sort of informal mission I think it would be excellent to stumble across (CotBS, because it's the only one, has to really give some heavy hints to the player as to where they should stumble about, and includes a lot more custom code) and choose what to do with. Similarly you might pick up a "routine" passenger somewhere, get dragged into the edges of something bigger when they turn out not to be who they claimed ... and it would be good to have "poke my nose in" and "get well clear of that sort of politics" both as valid options (and I don't mean "mission screen choices") with their own consequences. Somewhat difficult to code, but would need ridiculous amounts of background data [1].

[1] Well, to an extent. So long as it was being produced faster than the majority of players could consume it, it might be possible to do some sort of rolling release of that data file. That's still a big task, though.
Some replies included:
Could this be extended? Some brief commander biographies, stitched together out of a seed as per the planet descriptions? We've got a lot more memory to work with, so it might be possible to have rather more variety than the planet descriptions have.
Again, from a seed, there could be chunks of random news/gossip generated ... it doesn't have to be game-relevant, just mildly diverting (like the planet descriptions). And it could be occasionally game-relevant. People would get bored with it, I'm sure, but it really doesn't have to do much more than keep new players entertained for the first few trips - like your Freespace 2 example.
I don't know ... it's not just new players who find themselves stuck on a long journey in after a 6.4 jump wanting to save what little injector fuel they have left for actual combat. I think it needs to be varied enough that by the time you see a repeat (and even with generation it needs considerably more baseline data than the planet descriptions have) you've forgotten the original - something Random Ship Names, especially in the latest version, does very well. Otherwise I think it might end up breaking the atmosphere a bit for more experienced players.
***
Some links:
Tools:
Cabal Common Library Phrase Gen download
CCL Comms doc
CCL Phrase Gen doc

Ideas:
Comms Demo by Kaks original thread
Comms Demo thread 2
Communicating with other ships
Things to do when masslocked
Ship's library

Re: Help us make Oolite more immersive!

Posted: Sat Dec 21, 2013 7:48 pm
by Zireael
I've started poking about CCL Phrase Gen and it's a great generator which could be used to cover a lot of comms.

I'm wondering how to approach the random bios/news idea. I'll probably end up looking at Snoopers and/or Random Hits for guidance.

While I might have loads of ideas and a rather good command of English, my coding s*cks.

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 1:48 am
by metatheurgist
I think some friendly traders would help. Let's say I'm stuck dogging another cobra into the station - wouldn't the guy make contact? "Hey Bud, how about we form a convoy? I'll watch your back if you watch mine.", or "I'll just let you get off my scanner, you're making me nervous.", "Gonna make a killing on furs, how about you?", etc.

Seems odd that OXPs really only exist for bad things. Is that human nature? :mrgreen:

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 6:15 am
by Diziet Sma
Good idea to make this a separate thread.

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 11:17 am
by Zireael
metatheurgist wrote:
I think some friendly traders would help. Let's say I'm stuck dogging another cobra into the station - wouldn't the guy make contact? "Hey Bud, how about we form a convoy? I'll watch your back if you watch mine.", or "I'll just let you get off my scanner, you're making me nervous.", "Gonna make a killing on furs, how about you?", etc.

Seems odd that OXPs really only exist for bad things. Is that human nature? :mrgreen:
Those are really cool ideas - and no, the OXPs are not only for bad things :mrgreen:

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 12:15 pm
by Diziet Sma
Yup.. take mine, for instance.. its' sole purpose for being is to help you stay alive.. :wink:

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 4:39 pm
by Zireael
One of the ideas I had was using a ship's name (per Commander McLane's excellent randomshipnames.oxp) or its registration number (the code for them is already in CCL Phrase Gen) in a comms.

The problem is making the names stick - normal randomization would result in a ship being hailed as "Lave Maru" one time and "Pride of Lave" another, not to mention more egregious cases.

Same problem with pilot bios or star/planet temperature or any other data that probably needs to be stored somewhere once it's randomly generated.

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 5:01 pm
by cim
Zireael wrote:
The problem is making the names stick - normal randomization would result in a ship being hailed as "Lave Maru" one time and "Pride of Lave" another, not to mention more egregious cases.
shipUniqueName from 1.79 should sort out ship names for you (and even in 1.76 Random Ship Names was quite happily using ship.displayName to store that information)

I plan to make JS access to crew properties easier in 1.79, too - the ships already have crew with names, descriptions, systems of origin, etc., you just can't yet read/write them. If you want a biography field then now would be a good time to request it.

Star/planet temperature is trickier - it's not that hard to store planet temperatures, but the planet texture is extremely likely to contradict you. Star temperature is probably something you could derive from radius and colour rather than just randomising, but because of the way systeminfo data works, you don't necessarily have easy access to colour. For what it's worth, the effect of the star on your cabin temperature is with one extremely rare exception entirely dependent on radius: they are currently assumed to have identical surface temperatures. So again, setting a star temperature is likely to be contradicted by other bits of the game at the moment.

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 5:06 pm
by Zireael
cim wrote:
Zireael wrote:
The problem is making the names stick - normal randomization would result in a ship being hailed as "Lave Maru" one time and "Pride of Lave" another, not to mention more egregious cases.
shipUniqueName from 1.79 should sort out ship names for you (and even in 1.76 Random Ship Names was quite happily using ship.displayName to store that information)

I plan to make JS access to crew properties easier in 1.79, too - the ships already have crew with names, descriptions, systems of origin, etc., you just can't yet read/write them. If you want a biography field then now would be a good time to request it.

Star/planet temperature is trickier - it's not that hard to store planet temperatures, but the planet texture is extremely likely to contradict you. Star temperature is probably something you could derive from radius and colour rather than just randomising, but because of the way systeminfo data works, you don't necessarily have easy access to colour. For what it's worth, the effect of the star on your cabin temperature is with one extremely rare exception entirely dependent on radius: they are currently assumed to have identical surface temperatures. So again, setting a star temperature is likely to be contradicted by other bits of the game at the moment.
I am definitely requesting a biography field for the crew.
I thought of temps in a way similar to random rumors or the size in meters displayed in the F7 screen - ie. it's there for immersion's sake and not necessarily related directly to the game.

Re: Help us make Oolite more immersive!

Posted: Sun Dec 22, 2013 5:12 pm
by cim
The size in metres is related to the game, though - the size of the planet is exactly proportional to it (and then several other factors are based off the size of the planet, too)

Re: Help us make Oolite more immersive!

Posted: Mon Dec 23, 2013 9:21 am
by Ranthe
metatheurgist wrote:
I think some friendly traders would help. Let's say I'm stuck dogging another cobra into the station - wouldn't the guy make contact? "Hey Bud, how about we form a convoy? I'll watch your back if you watch mine.", or "I'll just let you get off my scanner, you're making me nervous.", "Gonna make a killing on furs, how about you?", etc.
The [EliteWiki] Far Arms ships OXP has some ship-to-(player) ship chatter (from a predetermined list) that features both greetings and curses. Something like that perhaps?

Re: Help us make Oolite more immersive!

Posted: Mon Dec 23, 2013 4:29 pm
by Zireael
Zireael wrote:
I am definitely requesting a biography field for the crew.
I think we need a registration_ID field for ships, too (using name causes it to get really long and displayName is already taken by RandomShipNames, besides I've had this cool idea of only displaying the ID to the player if he has a special equipment working only with CLEAN legal status)

Re: Help us make Oolite more immersive!

Posted: Tue Dec 24, 2013 3:14 pm
by Zireael
A sample code for commander bio using CCL PhraseGen.

Code: Select all

CCL_Bio:{
fieldA: ["&fights$", "battles$"],
fieldB: ["Thargoid", "bug", "invader"],
sentences: ["@X(Si:human=[CCL_Names]|[CCL_NamesOther]), a @h from @s. Has ^1 the >2 at @S @c@c years ago.", "@X(Si:human=[CCL_Names]|[CCL_NamesOther]), a @h from @s. Has ^1 the >2 at @S and @S @c@c years ago.", "@X(Si:human=[CCL_Names]|[CCL_NamesOther]), a @h from @s. Has ^1 the >2 at @S, @S and @S @c@c years ago.", 
"@X(Si:human=[CCL_Names]|[CCL_NamesOther]), a @h from @s. Has ^1 the >2 at @S @c years ago.", "@X(Si:human=[CCL_Names]|[CCL_NamesOther]), a @h from @s. Has ^1 the >2 at @S and @S @c years ago.", "@X(Si:human=[CCL_Names]|[CCL_NamesOther]), a @h from @s. Has ^1 the >2 at @S, @S and @S @c years ago."],
}
Sample output:
Gabriel Hotwinter, a human colonial from Atriso. Has battled the invaders at Cebetela and Oresri 55 years ago.
James Tiryas, a human colonial from Lave. Has fought the bugs at Tibedied 44 years ago.

***
To expand CCL's pool of words

Add this to the v section:
fight1: ["&fight$", "battle$"]

Add this to the n section:
bug1 : ["Thargoid", "bug", "invader"]

Re: Help us make Oolite more immersive!

Posted: Fri Dec 27, 2013 11:56 am
by Zireael
Another one, this time expanding on the default "Bored now" message.

The synonyms can, of course, be added to the CCL pool of words.

Code: Select all

CCL_Boredom:{
fieldA: ["I'm", "I am"],
fieldB: ["bored", "disinterested"],
fieldC: ["boring", "uninteresting", "dull"],
sentences: ["1 2", "This is 3", "+2 now."],
}
Sample output:
P3: Bored now.
P1: I'm bored
P1: I'm disinterested
P1: I'm disinterested
P2: This is uninteresting
This begs a question, why isn't CCL PhraseGen used by the main game itself? I can easily see the PhraseGen being used for other languages, for example:

Code: Select all

fieldA: ["bloed", "dumm", "nicht interessand"],
sentence: ["Ich bin gelangweit",  "Es ist 1"],
(any errors in German are my own :P)

Re: Help us make Oolite more immersive!

Posted: Sun Dec 29, 2013 10:01 am
by Zireael
An idea so simple that I'm surprised no one thought of it already:
We already have ship.accuracy, so we could display it as the pilot's Elite rank!