Page 3 of 4

Re: Re:

Posted: Tue Apr 13, 2021 9:58 am
by Cody
Cholmondely wrote: Tue Apr 13, 2021 8:57 am
Is it some sort of post-modernist fetish that has passed me by?
Mason & Dixon is an excellent postmodernist novel - highly recommended.

Re: Re:

Posted: Thu Apr 15, 2021 6:37 am
by theolodger
Cholmondely wrote: Tue Apr 13, 2021 8:57 am
theolodger wrote: Tue Apr 13, 2021 7:20 am
Cholmondely wrote: Mon Mar 15, 2021 2:32 pm


I understand that there are also hardware issues such as those with Maik's external dashboards, multi-player games etc.

Is this it? Or are there other things too?
Do people just not get mad about necroposting here :lol:
Welcome to the boards! Enjoy! I hope you get as much fun out of all of this as I have managed!

As regards necroposting, all the people who fumed about it seem to have died off!

Honestly, in my reading of old posts, I could never work out why that handful of people got so upset about it. If somebody made a good point 15 years ago, and it is still a good point today, why is it verboten to repeat it? Or to add to the relevant thread?

Is it some sort of post-modernist fetish that has passed me by?
I don't know why people get mad about it either, just know that they do :)

Re: Re:

Posted: Thu Apr 15, 2021 6:50 am
by Cholmondely
theolodger wrote: Thu Apr 15, 2021 6:37 am
Cholmondely wrote: Tue Apr 13, 2021 8:57 am
theolodger wrote: Tue Apr 13, 2021 7:20 am


Do people just not get mad about necroposting here :lol:
Welcome to the boards! Enjoy! I hope you get as much fun out of all of this as I have managed!

As regards necroposting, all the people who fumed about it seem to have died off!

Honestly, in my reading of old posts, I could never work out why that handful of people got so upset about it. If somebody made a good point 15 years ago, and it is still a good point today, why is it verboten to repeat it? Or to add to the relevant thread?

Is it some sort of post-modernist fetish that has passed me by?
I don't know why people get mad about it either, just know that they do :)
I wonder if it something to do with the way that programming has developed. Speaking as an outsider it seems to embody a desire for constant revolution/constant flux. (I just look at how the AppleMac has changed since the days of System 6!). This must create a feeling of dreadful inhibition when one has to support legacy systems which non-programmers still understand & rely on. It probably creates a disdain for the old, and a yearning for fresh untrammeled starts.

How about that for a piece of pop-psychology about a bunch of people I know vanishingly little about?

Oh ... and why theolodger? Not theoldlodger or theologer? Is it a reference to the god of lodgers?

Re: What "can" be changed without re-compiling?

Posted: Thu Apr 15, 2021 6:01 pm
by tsoj
I think in programming/technical forums it often makes sense to "fade out" old posts, just because stuff changes such that answers in old threads become wrong/misleading.
But here I find it quite entertaining reading old threads that pop up in "Active topics", and they are not less relevant to the overall "Oolite" topic than recent threads.

Re: What "can" be changed without re-compiling?

Posted: Thu Apr 15, 2021 6:19 pm
by Cody
tsoj wrote: Thu Apr 15, 2021 6:01 pm
But here I find it quite entertaining reading old threads that pop up in "Active topics", and they are not less relevant to the overall "Oolite" topic than recent threads.
<nods>

Re:

Posted: Sun Apr 25, 2021 10:31 am
by Cholmondely
Returning to the theme!

Summary of the State of Play so far.
Disembodied wrote: Wed Apr 28, 2010 8:51 am
It might be easier to list what can't be changed ... here's my attempt at such a list (which of course is only as accurate as my own knowledge and understanding, so I wouldn't rely on it):

1) You can't assign new functions to new keyboard presses.

2) You can't change the fundamental physics of Oolite spaceflight.

3) You can't (directly) give a ship a range of more than 7 light-years in one jump.
phkb wrote: Mon Mar 15, 2021 9:16 pm
4) You can't directly reference and/or assign a script to a character.

5) You can't detect when the player changes the selected menu item on a mission screen. (You only know they selected it if they press "enter" while it's selected)

6 ) The only keypress that can be "read" from a mission screen is "enter": ie. from a standard mission screen with a simple menu, you can't for instance, determine if the player presses "shift-X', or "alt-P", or even simpler ones like "q", "w", "e" etc. You can read a line of entered data on a mission screen with a specific setting (the "textEntry" property of the runScreen parameters object), but you can't interact with individual key presses.

(Renumbered from Phkb's original)
What about the following:

a) Putting a second sun in a solar system (can one create something like a sun and place it even if the game code won't call it a sun)?

b) Have more than 256 systems in a galaxy?

c) Introduce a 9th galaxy into the game

d) Have a 3-D galaxy

e) Change the behaviour of commodity prices so that they do not simply range between the two poles of poor agricultural & rich industrial:
ie create something needing a mainly industrial system (eg medicine) which would be cheapest in mainly industrial systems and then get more expensive as one moved out to the poor agri & rich ind at the ends of the economic spectrum.

Edited to add this link: Boarding abandoned ships? - see cim's comments

Re: Re:

Posted: Sun Apr 25, 2021 11:56 am
by another_commander
Cholmondely wrote: Sun Apr 25, 2021 10:31 am
What about the following:

a) Putting a second sun in a solar system (can one create something like a sun and place it even if the game code won't call it a sun)?

b) Have more than 256 systems in a galaxy?

c) Introduce a 9th galaxy into the game

d) Have a 3-D galaxy

e) Change the behaviour of commodity prices so that they do not simply range between the two poles of poor agricultural & rich industrial:
ie create something needing a mainly industrial system (eg medicine) which would be cheapest in mainly industrial systems and then get more expensive as one moved out to the poor agri & rich ind at the ends of the economic spectrum.
a) You could probably have an effect entity representing a second sun and it could maybe be made to look just like the standard suns, but there will be a problem: it will not behave like a light source. It will just be decoration. And you would need some added scripting to emulate fuel scooping actions and temperature impact.

b) No. These are hardcoded to 256 at the moment. Source code changes will be required to achieve this.

c) No. As above, this is hardcoded to 8 and you will need to tweak the code if you want to change this.

d) No. There is no prediction for a third dimension in the design of the galaxy map and in how distances and times between systems are calculated.

e) I think this may be doable with scripting, but I have a few reservation on it. Maybe someone else with more experience in this part can provide a more definitive answer.

Re: What "can" be changed without re-compiling?

Posted: Sun Apr 25, 2021 12:15 pm
by Cholmondely
another_commander wrote: Sun Apr 25, 2021 11:56 am
Cholmondely wrote: Sun Apr 25, 2021 10:31 am
What about the following:

a) Putting a second sun in a solar system (can one create something like a sun and place it even if the game code won't call it a sun)?

b) Have more than 256 systems in a galaxy?

c) Introduce a 9th galaxy into the game

d) Have a 3-D galaxy

e) Change the behaviour of commodity prices so that they do not simply range between the two poles of poor agricultural & rich industrial:
ie create something needing a mainly industrial system (eg medicine) which would be cheapest in mainly industrial systems and then get more expensive as one moved out to the poor agri & rich ind at the ends of the economic spectrum.
a) You could probably have an effect entity representing a second sun and it could maybe be made to look just like the standard suns, but there will be a problem: it will not behave like a light source. It will just be decoration. And you would need some added scripting to emulate fuel scooping actions and temperature impact.

b) No. These are hardcoded to 256 at the moment. Source code changes will be required to achieve this.

c) No. As above, this is hardcoded to 8 and you will need to tweak the code if you want to change this.

d) No. There is no prediction for a third dimension in the design of the galaxy map and in how distances and times between systems are calculated.

e) I think this may be doable with scripting, but I have a few reservations on it. Maybe someone else with more experience in this part can provide a more definitive answer.
Thank you!

Re: Re:

Posted: Fri Apr 30, 2021 8:46 pm
by hiran
another_commander wrote: Sun Apr 25, 2021 11:56 am
a) You could probably have an effect entity representing a second sun and it could maybe be made to look just like the standard suns, but there will be a problem: it will not behave like a light source. It will just be decoration. And you would need some added scripting to emulate fuel scooping actions and temperature impact.
While you mention a light source, how about a light sink? In other words: Black holes? I know one should not get too close to a Schwarzschild radius but then that phenomenon in Ooniverse could allow interesting manoevres...?

Re: What "can" be changed without re-compiling?

Posted: Sat May 01, 2021 8:36 pm
by Cholmondely
Black Holes

Charlie was experimenting with this back in 2006/7 (pre-Javascript days):

He left an empty folder in his box account: https://www.box.net/s/b2tic3tjsk

and references in this thread https://bb.oolite.space/viewtopic.php?f=4&t=2596 and this https://bb.oolite.space/viewtopic.php?p=33588#p33588

Re: What "can" be changed without re-compiling?

Posted: Tue Jun 01, 2021 7:58 am
by Cholmondely
phkb wrote: Mon Mar 15, 2021 9:16 pm
6) You can't directly reference and/or assign a script to a character.
7) You can't detect when the player changes the selected menu item on a mission screen. (You only know they selected it if they press "enter" while it's selected)
8 ) The only keypress that can be "read" from a mission screen is "enter" ie. from a standard mission screen with a simple menu, you can't for instance, determine if the player presses "shift-X', or "alt-P", or even simpler ones like "q", "w", "e" etc. You can read a line of entered data on a mission screen with a specific setting (the "textEntry" property of the runScreen parameters object), but you can't interact with individual key presses.
I 'm not sure that I understand what all of this means (#6, especially) , but, I presume that if this could be chipped away at, it might make a large difference to creating missions.

Or are these limitations just a minor nuisance for programming artistes, and easily overcome through wile and strategem?

Re: What "can" be changed without re-compiling?

Posted: Tue Jun 01, 2021 8:26 am
by phkb
Some of them are pretty minor, until they aren’t.

For instance, the issue with not being able to attach scripts to characters doesn’t turn up very often, until you start dealing with escape pods. Then, most of the time, it’s still not an issue because in 99 out of 100 cases escape pods don’t have scripted characters assigned to them - they’re just default pilots or pirates or whatever.

But, sometimes, an OXP has a particular character script attached. If, as an OXP developer, I wanted to, say, intercept the loading of an escape pod so that I could do certain things to it (eg showing pilot info on the F5 screen, or preventing that escape pod from being automatically unloaded at a station), then I can’t interrogate the character to a. Determine that a script is in play and b. Change the script or restore it at a later point. The script is invisible, making some of the things I’d like to do to escape pods almost impossible.

As for the other two items, these are what’s required in order to be able to achieve in an OXP almost all of what can only be done in core code at the moment. For example, on the F3F3 Shipyard screen, you can move the cursor up and down, and with each movement details on the screen are changed (ship specs, displayed model, etc), without needing to press enter each time. We can’t do that with an OXP at the moment.

These issues can certainly be chipped away at, and perhaps for some of them a workaround might be available (I have some ideas for the escape pod issue I want to test at one point), but some issues can’t be worked around. If you want to create an interface like the Shipyard screen, you’re out of luck.

What the limitations do is force developers into a compromise - what is the next best way to achieve their vision, if the ideal way is not available? Sometimes those compromises are small, sometimes they’re big. Is some ways, that’s the nature of programming.

Re: What "can" be changed without re-compiling?

Posted: Tue Jun 01, 2021 8:44 am
by Cholmondely
phkb wrote: Tue Jun 01, 2021 8:26 am
Some of them are pretty minor, until they aren’t.

For instance, the issue with not being able to attach scripts to characters doesn’t turn up very often, until you start dealing with escape pods. Then, most of the time, it’s still not an issue because in 99 out of 100 cases escape pods don’t have scripted characters assigned to them - they’re just default pilots or pirates or whatever.

But, sometimes, an OXP has a particular character script attached. If, as an OXP developer, I wanted to, say, intercept the loading of an escape pod so that I could do certain things to it (eg showing pilot info on the F5 screen, or preventing that escape pod from being automatically unloaded at a station), then I can’t interrogate the character to a. Determine that a script is in play and b. Change the script or restore it at a later point. The script is invisible, making some of the things I’d like to do to escape pods almost impossible.

As for the other two items, these are what’s required in order to be able to achieve in an OXP almost all of what can only be done in core code at the moment. For example, on the F3F3 Shipyard screen, you can move the cursor up and down, and with each movement details on the screen are changed (ship specs, displayed model, etc), without needing to press enter each time. We can’t do that with an OXP at the moment.

These issues can certainly be chipped away at, and perhaps for some of them a workaround might be available (I have some ideas for the escape pod issue I want to test at one point), but some issues can’t be worked around. If you want to create an interface like the Shipyard screen, you’re out of luck.

What the limitations do is force developers into a compromise - what is the next best way to achieve their vision, if the ideal way is not available? Sometimes those compromises are small, sometimes they’re big. Is some ways, that’s the nature of programming.
Thank you for the reply. So would chipping away at the game code be a doddle for you chaps of confabulatory computerised capabilities, or is it a major marathon to be avoided unless armageddon looms over the horizon?

Re: What "can" be changed without re-compiling?

Posted: Tue Jun 01, 2021 8:47 am
by phkb
Cholmondely wrote: Tue Jun 01, 2021 8:44 am
So would chipping away at the game code be a doddle for you chaps of confabulatory computerised capabilities, or is it a major marathon to be avoided unless armageddon looms over the horizon?
Somewhere in between I think! Depending largely on the boffin doing the work (some of them are far better at it than I am!)

Re: What "can" be changed without re-compiling?

Posted: Wed Aug 17, 2022 9:34 pm
by Cholmondely
phkb wrote: Mon Mar 15, 2021 9:16 pm
4) You can't directly reference and/or assign a script to a character.
What about all this?
Disembodied wrote: Sun Dec 29, 2013 8:22 pm
Some more PhraseGen fun with biographies:

Code: Select all

	CCL_BioX:{
	fieldA: ["commander","master and commander","owner, master and commander"],
	fieldB: ["Python","Boa","Anaconda","starship","starship","starship","starship","Cobra III","Moray Starboat"],
	fieldC: ["apprentice","deckhand","cook","slave","bonded crewhand","engineer","navigator","swabbie","scutter"],
	fieldD: ["two","three","four","five","six","seven","eight","several","many"],
	fieldE: ["senior","long-standing","lifelong","recent","junior","permanent","voting","erstwhile","sometime","ex-","retired","former","subscribing","affiliated","non-voting","honorary"],
	fieldF: ["network","guild","syndicate","conglomerate","corporation","clan","family","commonwealth","co-prosperity sphere","collective","organisation","hierarchy","trust","bloodline","co-operative","circle","ring","group"],
	fieldG: ["self-described","staunch","lax","intermittent","enthusiastic","strict","passionate","lapsed"],
	fieldH: ["follower of","adherent of","believer in","communicant of","worshipper of","devotee of"],
	fieldI: ["the Church of the Witchspace Lobster","Pandromianism","Winslowism","the Church of the Giles","the Reformed Church of the Giles","the New Reformed Church of the Giles","the Revised Church of the Witchspace Lobster","Eight-Bit Adventurism","the Church of Chaos","Cataholicism","Pastafarianism","Lamianism"],
	fieldJ: ["killed","rescued","saved","apprehended","collected the bounty on","destroyed","was responsible for the death of"],
	fieldK: ["battle","defence","siege","second battle","third battle","fourth battle","auxiliary wing","reserve squadron","Guardians"],
	fieldL: ["was demobilised","was awarded the Bronze Star","was awarded the Silver Star","was awarded the Golden Star","reached the rank of Pilot Third Class","reached the rank of Pilot Second Class","reached the rank of Pilot First Class","was dishonourably discharged","was invalided out"],
	fieldM: ["rumours","several sources","reliable reports","reports","unconfirmed reports","persistent rumours"],
	fieldN: ["smuggling","control of the trade","the trade","the import","the export","monopolisation of the trade","price-fixing"],
	fieldO: ["refuses to comment","has issued a string of denials","has strongly denied this","neither confirms nor denies this"],
	fieldP: ["accomplishments","hobbies","interests","pastimes","enthusiasms","interests","recreations","passions"],
	fieldQ: ["mud tennis","zero-G hockey","zero-G cricket","zero-G karate","mud hockey","swamp rugby","big-game hunting","gyrospiders","racing gyrospiders","sundiving","astrobiology","quantum pool","shuggy","eating","fine dining","drinking","poetry","combat poetry","archaeology","collective harmony","group whistling","pigbaiting","classic starships","Texeonis Fold'em","Four-Way Pellery"],
	fieldR: ["shadowy","quasi-legal","semi-legal","fabled","supposed","illegal","pan-species","banned","forbidden","prohibited"],
	sentences: ["@W, a @h, is the 1 of @i. @n first shipped on board the 2 [CCL_NamesShips] as a 3, serving under Commander @F for 4 years before gaining command of the 2 [CCL_NamesShips]. @n is a 5 member of the @F +6, based out of @S, and is a 7 8 9. A veteran of the {2 of @S, @n 3 }4 years ago. +{4 link @n with 5 of @Z: @n 6. @n's 7 are listed as '8 and 8'. ","@W, a @h and 1 of @i, is a survivor of the {2 of @S. @n converted to }9 following 4 years as a 3 on board the 2 [CCL_NamesShips] under Commander @F. +{4 suggest @n is a }7 member of the {9 @S +}6, although @n {6. Recently, @n 1 @W, following the destruction of the }2 [CCL_NamesShips].","@W, a @h, {3 after seeing action in the 2 of @S. A one-time }8 9, @n's obsession with {8 resulted in expulsion }4 years ago. Whilst serving under Commander @F as a 3 on board the 2 [CCL_NamesShips], @n {1 @W, a @h and a }5 member of the {9 @S }6.","A 7 8 9, @W - a @h - is 1 of @i. With a list of {7 which includes 8, it is perhaps surprising that 4 link @n with 5 of @Z, especially considering that @n 3 after surviving the 2 of @S.","@W, a @h, {1 @F, a }3 on board the 2 [CCL_NamesShips], 4 years ago. @n is listed as a 8 9, although @n {6. It is widely supposed that @n's skill at 8 has assured }5 membership of the [CCL_NamesOther] +6, based out of @S."],
	custom: [0x0],
	splitRules: []
},
Samples:
Jeffrey Talamir, a human colonial, was dishonourably discharged after seeing action in the reserve squadron of Atrabiin. A one-time follower of Cataholicism, Talamir's obsession with group whistling resulted in expulsion many years ago. Whilst serving under Commander Winston as an engineer on board the Anaconda The Old Dolphin, Talamir destroyed Hudley Hotmountain, a human colonial and a subscribing member of the quasi-legal Teaatis group.
Buster Garrisby, a bug-eyed frog, apprehended Drew, a deckhand on board the starship The Merciful Mind, many years ago. Garrisby is listed as a follower of the Reformed Church of the Giles, although Garrisby refuses to comment. It is widely supposed that Garrisby's skill at zero-G cricket has assured long-standing membership of the Foster Thersby Group, based out of Inera.
Ted Lyrburr, a human colonial, is the master and commander of The Predominant Tsunami. Lyrburr first shipped on board the starship The Jade Fullness as a deckhand, serving under Commander Eben for seven years before gaining command of the Moray Starboat The Heart's Lord. Lyrburr is a sometime member of the Nestor Circle, based out of Diusreza, and is an intermittent worshipper of Eight-Bit Adventurism. A veteran of the siege of Sotiqu, Lyrburr was invalided out several years ago. Unconfirmed reports link Lyrburr with the export of Blanching Brain's Tongue Teaser: Lyrburr neither confirms nor denies this. Lyrburr's passions are listed as 'quantum pool and pigbaiting'.
Disembodied wrote: Mon Dec 30, 2013 11:13 am
It needs to be broken up more, I think, into separate biographical fragments, which can then be assembled as needed (and of course most biographies will only use some of the pieces, which would increase the variety).

We could have things like (some of these are used above, and can be expanded as required):
  • Early years information (first job, first ship, first command)
  • Military service
  • Religious affiliation
  • Membership of guilds, clubs, syndicates etc.
  • Political affiliation (some major and minor political blocs could include: Corporatist; Democratist; Federalist; Communist; Militarist; Monarchist; Anarchist; Northist; Southist; Eastist; Westist; Revanchist; Imperialist; Spartacist; Populist (Big-Tent and Little-Tent); Stoicist; Pluralist; etc.)
  • Sporting affiliations/achievements
  • Artistic/cultural achievements
  • Notable kills
  • Notable rescues
  • Brushes with the Law
  • Rumours
  • Hobbies/pastimes
If it's possible to know the Commander's gender, then it gets easier to stitch sections together by the occasional use of "he/she", "his/her" etc. instead of having to repeat the surname all the time.
cim wrote: Tue Dec 31, 2013 5:21 pm
Zireael wrote:
I wonder how to plug all this neato stuff above into descriptions.plist so that it can be accessed by the in-game comms.
Not easily as it's currently set up. descriptions.plist isn't quite flexible enough to duplicate all the things CCL PhraseGen does - specifically, reusing the same randomly chosen item at multiple points. The planet descriptions generator is probably at the edge of the complexity it still makes sense to do with descriptions.plist expansion.

What I could do is let you specify functions as the comms key values as well as strings, and if it's a function, it gets called with the params to do whatever it wants to construct a comms message, rather than expandDescription being called with a string and the params.