Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

(WIP) Hermitage

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

Moderators: another_commander, winston

zx_cb
Competent
Competent
Posts: 46
Joined: Wed May 18, 2022 2:46 am

Re: (WIP) Hermitage

Post by zx_cb »

Yay! I did this: removed the ".oxp" from Hermitage folder, started the game, then exited it, restored the ".oxp" and restarted. Right away checked the F8 page and it is in new format, so I guess *something* was preserved from previous version despite new files. Here`s some new results:

Accessing reactor submenu in Facilities returns:

[script.javaScript.exception.unexpectedType]: ***** JavaScript exception (Hermitage_Cargo 0.8): TypeError: sub is undefined

Purchasing station TL upgrade does not produce the certification mission with an error:

[script.javaScript.exception.notDefined]: ***** JavaScript exception (Hermitage_Upgrades 0.8): ReferenceError: dest is not defined

(retroactive check would be good here, if possible - to create a mission if not present if upgrade was bought earlier)

Accessing the Hangar remotely (from the main station) logs:

[script.javaScript.exception.notFunction]: ***** JavaScript exception (Hermitage_Management 0.8): TypeError: player.ship.dockedStation.script.$maxHangarBerths is not a function

(not sure if that`s of importance since why you need your hermitage hangar not being there, but the error exists)

Also some observations:

1. Installing upgrades that are supposed to supersede existing ones does not removes older versions, so I had Life Support type 1 and 2 both present, as well as Fuel Storage 100LY alongside 40LY. F3 menu does not allows to manually remove either version, saying "cannot be uninstalled - upgrade\downgrade only"

2. Purchasing the ship from Utility Ships menu does not charge player`s account. New ship is delivered and changing ships in hangar works well, but any cargo that was in hold is "sold" - not removed (and restored after changing back to that ship) but credits for it are being credited. Very exploitable.

3. Transferring something _into_ ship hold through market functions prompts for an amount "between 1 and -[minus]145653786" and produces an angry beep on any input. Transferring _from_ hold works ok. Both true for either storage and market source and destination.

4. My new miner contractor spawned with Offender status. Being a Worm this time, he still pushed 460 speed and scooped miserably ineffective, then disappeared somewhere while I was off to the station. No corresponding error was logged, but he was nowhere to be seen, despite remaining on Employed list - neither Telescope+GravScanner+Large Dish nor RangeFinder+Extender showed him, maybe some bounty hunter got the poor guy?..

5. Speaking of Gravity Scanners, is it possible to give our Hermitage a property of a "Friendly Station" to work as an anchor for it?

6. Scheduled fuel transports (also possible for other deliveries, but not tested) hang in "delivery imminent" indefinitely, not replenishing the Fuel Reserve and not adding Quirium Fuel to storage as a commodity. Btw, are they supposed to be real ships making trips to the station or just an events? I did observed a Cobra heading to my rock with 2t Quirium Fuel, among other things, in his hold, but unsure if he was a general trader or my scheduled delivery. Either way, no fuel was added after he docked.

7. Hydoponic module I was talking about earlier are waaaaay unbalanced as of now. 1500Cr (plus materials) producing 1t Food per day would take forever to return the investment. And, 100MW of power consumption means no more that one could be installed right away, defying its purpose of scalable entry-level income source. I`d say, slash both figures about an order of magnitude down :)

8. Life support degrades way too fast - its service level drops to Critical in about an hour in-game time, and function level goes down 30% in 20 minutes. Although I haven`t encountered its malfunction (yet), leaving the station for days seems perilous.

On a positive side, trading outpost model appears to be working - there`s a constant turnaround of goods being bought and sold based on pricing relative to main station. Provided the hired miners would work as intended, and with some active input from the player, self-sustainability and maybe even profits are theoretically possible on trade and refuelling services.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4669
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: (WIP) Hermitage

Post by phkb »

OK, version 0.8.1 is now available

In this version:
  • Fixed JS error when accessing Reactor details in Facilities management.
  • Fixed JS error when purchasing equipment that requires a sub-mission.
  • Issue issue where swapping to a stored ship while holding cargo would result in the player getting credits for sold cargo.
  • Prevented access to some local services when using remote management.
  • Fixed issue where installing an upgrade that must replace an existing one was not removed previous upgrade.
  • Fixed issue where RH AI wasn't getting switched after purchase.
  • Adjusted price and energy consumption of hydroponics unit.
  • Fixed issue where the expected delivery of upgrades might show as a blank when very close to delivery time.
  • Added Market Inquirer role requirement to shipdata, rather than adding hermitage role to Market Inquirer.
That should address most of the issues you identified. I wasn't able to reproduce the issue with transferring cargo into your ship. I'll keep checking that one out.
zx_cb wrote: Thu May 26, 2022 5:40 pm
Speaking of Gravity Scanners, is it possible to give our Hermitage a property of a "Friendly Station" to work as an anchor for it?
I'll have to check. I don't normally run with Telescope, so I haven't investigated that side of things.
Last edited by phkb on Sun May 29, 2022 2:34 pm, edited 1 time in total.
zx_cb
Competent
Competent
Posts: 46
Joined: Wed May 18, 2022 2:46 am

Re: (WIP) Hermitage

Post by zx_cb »

phkb wrote: Fri May 27, 2022 1:44 am
OK, version 0.8.1 is now available
At this point, I`m unsure that the game updates the OXP list properly, and it rather seems that it doesn`t or something else is wrong on my end.

I have two separate Oolite installs, main (playing with all the bells and whistles) and test (just the minimum OXPs). Under both, I have two savegames - before and after RH purchase. In both AddOns I deleted the Hermitage.oxp, started the game, exited, then put the folder in and restarted.

Some (most) fixes from 0.8.1 got applied (upgrades installing properly, hydroponics unit price reduced, menus access), but certification mission creation routine is still broken. Under both installs, trying to purchase an RH returns

[script.javaScript.exception.unexpectedType]: ***** JavaScript exception (Hermitage_ForSale 0.8.1): TypeError: hm.this is undefined

When purchasing either a TL or Equipment Price Factor upgrade

[script.javaScript.exception.notDefined]: ***** JavaScript exception (Hermitage_Upgrades 0.8.1): ReferenceError: dest is not defined

BUT. When I loaded an old savegame under test install, created before 0.8.0, with Price Factor already bought but pending certification, a mission for it appeared, pointing to a nearby system (rather then to the main station). Such thing did not happened under same conditions on main install.

Confusing af. Please advice. I`m trying my best within my knowledge and logic abilities, maybe there`s kind of cache that needs to be purged?..

Also to note, cargo "selling" issue hasn`t fixed on my end, as well as ship price (or as I noted, any upgrade price from F3 menu) not being deducted from player`s account.

Regarding employed miners behaviour. I hired a Worm, and followed it closely to observe. After filling his hold (with some help from me), he headed to the station, docked, and this was logged:

12:39:24.538 [Hermitage_Station_Script]: ship docked [Ship "SIRF Worm Prospector" position: (-207706, -91414.2, 512667) scanClass: CLASS_NEUTRAL status: STATUS_IN_FLIGHT]
12:39:24.539 [Hermitage_Station_Script]: processing 10 minerals from scavenger [Ship "SIRF Worm Prospector" position: (-207706, -91414.2, 512667) scanClass: CLASS_NEUTRAL status: STATUS_IN_FLIGHT]
12:39:24.539 [Hermitage_Station_Script]: processed 1 platinum
12:39:24.539 [Hermitage_Station_Script]: processed 1 minerals
12:39:24.540 [Hermitage_Station_Script]: processed 1 alloys
12:39:24.540 [Hermitage_Station_Script]: processed 1 alloys
12:39:24.541 [Hermitage_Station_Script]: processed 1 minerals
12:39:24.541 [Hermitage_Station_Script]: processed 1 minerals
12:39:24.542 [Hermitage_Station_Script]: processed 1 alloys
12:39:24.542 [Hermitage_Station_Script]: processed 9 gem_stones
12:39:24.543 [Hermitage_Station_Script]: processed 1 gem_stones
12:39:24.543 [Hermitage_Station_Script]: processed 1 minerals
12:39:24.544 [Hermitage_Station_Script]: adding ship back into data miner -- [Ship "SIRF Worm Prospector" position: (-207706, -91414.2, 512667) scanClass: CLASS_NEUTRAL status: STATUS_IN_FLIGHT]

...and he disappeared. Both from employed list and from docked ships.

As a side note on miner difficulties to scoop moving splinters, maybe it`s worth force awarding them a Cargo Stopper equipment from GalCop Missions OXP. Should really help their efficiency.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16061
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: (WIP) Hermitage

Post by Cody »

zx_cb wrote: Fri May 27, 2022 2:15 pm
... maybe there`s kind of cache that needs to be purged?
Try holding Shift down while restarting Oolite (until the spinning Cobra appears).
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
montana05
---- E L I T E ----
---- E L I T E ----
Posts: 1166
Joined: Mon May 30, 2016 3:54 am
Location: lurking in The Devils Triangle (G1)

Re: (WIP) Hermitage

Post by montana05 »

The SIRF Worm Prospector got his own ship-script which, maybe, is causing problems in combination with the hermitage.
Scars remind us where we've been. They don't have to dictate where we're going.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5029
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: (WIP) Hermitage

Post by Cholmondely »

What-ho!

Downloaded the new version of Hermitage. This time the mission screen came up, as did the Hermitage Management screen on the F4 page. All ship-shape and Bristol fashion.

Critique #1
Then tried to move the commodities around. Currently docked at the main orbital.
I could not transfer goods from the hermitage market to the hermitage storage. But I could transfer goods from the rock-hermit market to the hold of my ship docked at the main orbital station!

Then I waltzed over to the RH (just past the Mandotech factory station in my game) and tried to move some luxuries from the RH market to my hold (in SWEconomy they take up no space). Now, I'd just bought a couple of TC's of luxuries at the main orbital. But I couldn't. I could transfer between the RH market and RH storage but not bung any in my hold. Quite peculiar.

Will investigate further!

Critique #2
The RH was selling off fuel before I arrived and unlocked it! How on Rexebe did people get in there to buy the stuff? Was it not locked-up and mothballed?

Critique #3
By the way, I have fallen in love with the ship's chandlery all over again. The list of items for sale is decidedly delightful! Araminta is quite taken with the Self-propelled modular transporters and now wants three, decked out in black mink. Benedict has no idea as to where to put them. Should they not take up space in the hold?

And I'd also like to add that of the little I've so far seen, it is a significant improvement on the earlier version I mucked about with. I like the way you are developing this. More power to your elbows, Sir!

Tally-ho!

Mandotech Station Shipyard at Rexebe
Image
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4669
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: (WIP) Hermitage

Post by phkb »

zx_cb wrote: Fri May 27, 2022 2:15 pm
[script.javaScript.exception.unexpectedType]: ***** JavaScript exception (Hermitage_ForSale 0.8.1): TypeError: hm.this is undefined
That's a bug. Thanks for spotting.
zx_cb wrote: Fri May 27, 2022 2:15 pm
[script.javaScript.exception.notDefined]: ***** JavaScript exception (Hermitage_Upgrades 0.8.1): ReferenceError: dest is not defined
Another bug. Sorry, should have caught both of those.
zx_cb wrote: Fri May 27, 2022 2:15 pm
...and he disappeared. Both from employed list and from docked ships.
That's really strange, because "data miner" isn't a role I gave to any ships. Anyway, I've included code, following montana05's suggestion, and I'm now using a different method to determine what type of ship is docking. Should be more reliable now.
Cholmondely wrote: Fri May 27, 2022 5:39 pm
I could not transfer goods from the hermitage market to the hermitage storage.
That's weird. I can't seem to reproduce this one.
Cholmondely wrote: Fri May 27, 2022 5:39 pm
But I could transfer goods from the rock-hermit market to the hold of my ship docked at the main orbital station!
Oooh! Space magic! Yay!
Wait...
OK, it's a bug.
Cholmondely wrote: Fri May 27, 2022 5:39 pm
The RH was selling off fuel before I arrived and unlocked it!
Not a condition I'd considered before. I'll put a fix in for it.
zx_cb wrote: Fri May 27, 2022 2:15 pm
At this point, I`m unsure that the game updates the OXP list properly, and it rather seems that it doesn`t or something else is wrong on my end.
One suggestion is to give each iteration of the OXP a unique name. For instance, rename the current "Hermitage.oxp" folder to "Hermitage.0.8.1.oxp". That will force the cache to clear and be reloaded from scratch. When I release the next version, delete the old one and put the new one in with the name "Hermitage.0.8.2.oxp" and again, the cache will be loaded.

Actually, I might do that when I create the ZIP to make it even easier.
zx_cb
Competent
Competent
Posts: 46
Joined: Wed May 18, 2022 2:46 am

Re: (WIP) Hermitage

Post by zx_cb »

When trying to start a new Hermitage on Easy (Rexebe G1), the game was crashing shortly after the opening message. I decided to give it a try with JS memory allocation increased. It didn`t this time, accepted my Return key on Ok, I got the F5 screen as on regular start\load, immediately paused and went into the log file.

Right off, it was about six times larger than usual, roughly 2.5MB. This line was related to the Hermitage:

[script.javaScript.exception.unexpectedType]: ***** JavaScript exception (Hermitage_Transports 0.8.1): TypeError: this._trueValues is undefined

But then many of these were logged

[universe.addEntity.failed]: ***** Universe cannot addEntity:<ShipEntity 0x14f76b0>{"GalCop Viper" position: (5.18109e+006, 1.08512e+007, 1.55464e+007) scanClass: CLASS_POLICE status: STATUS_IN_FLIGHT} -- Universe is full (2047 entities out of 2048)

with different ShipEntity-es, every three or four of which intermitting with

[script.javaScript.exception.unexpectedType]: ***** JavaScript exception (Hermitage_Main 0.8.1): TypeError: h is null

Also no asteroids were populated with same error, concluding in

[RockHermitBeacons]: Created 0 asteroids around Rock Hermit: Samfair's Opportunity

Whole fifteen seconds of the runtime was devoted to timer garbage-collection, hundreds of them

[script.javaScript.unrootedTimer]: ----- WARNING: Timer <OOJSTimer 0x2c4637c0>{nextTime: 2.25, one-shot, running, function: anonymous} is being garbage-collected while still running. You must keep a reference to all running timers, or they will stop unpredictably!

Then, after this line

[script.javaScript.timeLimit]: ***** ERROR: Script "Lib_EntityStrength" ran for 1.03516 seconds and has been terminated.

the game kept logging

[universe.addEntity.failed]: ***** Universe cannot addEntity:<OOLaserShotEntity 0xb9cf50> (also OOPlasmaShotEntity and OOFlashEffectEntity, entity parameters omitted here) -- Universe is full (2047 entities out of 2048)

by thousands, even after the pause. Undocking from the station presented me with a black screen not responding to keyboard or joystick input, with only option to force-quit.

Advice will be much appreciated!
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4669
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: (WIP) Hermitage

Post by phkb »

Wow! Universe is full error! That’s … strange. Very strange. Can you post a list of the OXPs you’ve running so I can see if there might be a conflict somewhere?
zx_cb
Competent
Competent
Posts: 46
Joined: Wed May 18, 2022 2:46 am

Re: (WIP) Hermitage

Post by zx_cb »

phkb wrote: Sat May 28, 2022 12:35 pm
Wow! Universe is full error! That’s … strange. Very strange. Can you post a list of the OXPs you’ve running so I can see if there might be a conflict somewhere?
Sure can. Which will be the convenient way to do that? (apart from copypasting a bunch of text)
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6560
Joined: Wed Feb 28, 2007 7:54 am

Re: (WIP) Hermitage

Post by another_commander »

zx_cb wrote: Sat May 28, 2022 12:55 pm
Which will be the convenient way to do that? (apart from copypasting a bunch of text)
Full log on pastebin.com, link to pasted log here.
zx_cb
Competent
Competent
Posts: 46
Joined: Wed May 18, 2022 2:46 am

Re: (WIP) Hermitage

Post by zx_cb »

Thanks.

Since full log is about 5MB long, I only included the resources and worldscrips sections, guess that would work.

https://pastebin.com/iL6k3WLp
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6560
Joined: Wed Feb 28, 2007 7:54 am

Re: (WIP) Hermitage

Post by another_commander »

Full log would be preferred for these cases where the universe overflows and the game starts behaving abnormally.
zx_cb
Competent
Competent
Posts: 46
Joined: Wed May 18, 2022 2:46 am

Re: (WIP) Hermitage

Post by zx_cb »

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6560
Joined: Wed Feb 28, 2007 7:54 am

Re: (WIP) Hermitage

Post by another_commander »

In both logs, within 15 or so seconds from loading up your savefile, the universe is already flooded. It seems that you didn't even have time to launch before this happened (at least LogEvents doesn't seem to be catching a player launch event). In both cases the fail sequence is a JavaScript exception for this._trueValues followed by a series of failures to find a script related to something called serpent_death. This last one could also be the result of the initial failure, but it looks like it's trying to generate this serpent_death stuff continuously and failing. By the time a few of those events have executed unsuccessfully, the universe is full. Once you hit 2048 entities there is no point looking further, script execution effecitvely collapses and the game at that point would be running like a slideshow.

Easy things first: Does this occur if you remove the Hermitage OXP? If not, chances are that Hermitage is to blame and an error in its scripts results in entities being created continuously without ever being released. In this case, just to be sure, try removing everything except Hermitage and any other OXPs it may require to run and try again. Does it happen now?
Post Reply