Skip to content
This repository has been archived by the owner on Aug 21, 2023. It is now read-only.

The Un-Exploration-Ing #978

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

SeeBeeSee
Copy link

About The Pull Request

Exploration and ruins generation have long been a performance hog for a select few members of the crew. Until a more performant solution can be introduced, this PR disables the Exploration Job and removes related features from the game. Items that can only be obtained from Exploration currently like research disks will (read: may) be re-introduced in a future PR. All maps in rotation have had their Exploration departments and docks removed. Also, asteroids are now more numerous at roundstart and are renewable after going under a certain amount.

Why It's Good For The Game

There is little payoff for the station from Exploration that the other areas of Science cannot already manage, like research point production and credits earned from robotics, xenobiology, and toxins. By disabling the objective system and removing the Exploration job, Science has more impetus to be productive in these areas and the significant lag spikes associated with ruins/objective generation should be eliminated. Some loot from Exploration, such as the insanity pulse artifact and Hilbert's Hotel orb also function poorly in their current state and are not beneficial for performance and/or player experience.

Additionally, asteroid mining has become more popular among miner players as an alternative to Lavaland mining, and it made sense to add more asteroids with the disabling of ruins/objectives. While it's unlikely that miners will clear Lavaland in any given round, a renewable source of asteroids is nice to have for those that prefer it.

Changelog

🆑
del: Removed the Exploration job and access
del: Removed exploration shuttle console and objective console boards
add: Renewable asteroids and more asteroids at roundstart
tweak: Maps in rotation no longer have Exploration departments or shuttle docks
/:cl:

@SeeBeeSee SeeBeeSee changed the title Removed Exploration job, added renewable asteroids, updated maps The Un-Exploration-Ing Mar 8, 2023
Copy link
Collaborator

@dwasint dwasint left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall review as its in a ton of spots i would remove the code over commenting it out, if we need the code back we can reference this pr.

@Xkeeper0
Copy link

Xkeeper0 commented Mar 9, 2023

Removing exploration is removing one of the more fun and interesting parts of the game. I get the performance impact, but pretending that it somehow improves the game experience by forcing science into doing other things is pure farce.

@SeeBeeSee
Copy link
Author

Removing exploration is removing one of the more fun and interesting parts of the game. I get the performance impact, but pretending that it somehow improves the game experience by forcing science into doing other things is pure farce.

I completely agree that exploration is fun and interesting, but I'm not pretending when I say that the benefits brought to the station by other science jobs are, in my opinion, greater than those of exploration. However, my main focus was addressing the short-term performance hit caused by ruins generation, and I am not yet experienced enough to fix, optimize, or replace ruins generation. If the community decides that the job is worth the repeated inconveniences that it has caused in the past, then the changes can be discarded and another, more long-term solution should be approached by someone with greater knowledge of exploration and its systems.

That said, dismissing my intent as farcical is wholly unnecessary. I'd like to see Exploration not removed permanently, but improved or replaced by a more performant, alternative means of generation as I have discussed with dwasint in the Discord. This is meant to be an immediate band-aid solution to a long-standing issue, and the Science department can still support itself (and have fun!) without being host to some of the worst-performing parts of our codebase for a while.

@dwasint
Copy link
Collaborator

dwasint commented Mar 9, 2023

Removing exploration is removing one of the more fun and interesting parts of the game. I get the performance impact, but pretending that it somehow improves the game experience by forcing science into doing other things is pure farce.

i agree with your statement, but the current impact of exploration is very noticeable to players, even with the optimization prs that bee created we get noticeable lag whenever a ruin is generated, removing the job and ruins from generating is only really a stop gap. But it gives us smoother gameplay while a better system is worked on that doesn't grind the server to a halt

@jamilnielsen
Copy link

my only question here is, are the spaceruin affected by this?
will "_maps\RandomRuins" these still spawn in as normal? because that to me is awesome.

@SeeBeeSee
Copy link
Author

SeeBeeSee commented Mar 13, 2023

my only question here is, are the spaceruin affected by this? will "_maps\RandomRuins" these still spawn in as normal? because that to me is awesome.

Yes, they are affected. No, the only orbital bodies that will generate with the proposed changes are asteroids, including the derelict ships that occasionally appear in place of full asteroids, to my knowledge. "Spaceruin" and "objective" orbital bodies have been disabled until we have a better, more performant means of generating them, while asteroids were deemed performant enough to keep for the time being.

@jamilnielsen
Copy link

jamilnielsen commented Mar 14, 2023

just remember there's a big difference between spaceruins and station generation.
Space ruins= 1-5 premade small (usually single room) are placed or removed from a Z level.
station generation= generate a station from 50 pieces, do tons of checks to not overlap and place in a somewhat cohesive so it(doors matching,etc) repeat until "sanity" reaches 0, all this so it seems like a station, then do a asteroid generation on top of that.
oh and there's code that says if a turf is space and only space, that is ignored entirely for most processing.
point is, im sad to see space ruins go, especially since i feel like they should not cause any problems, but i understand that they are both so closely entwined with each other that its likely incredibly hard to seperate.

@EvilDragonfiend
Copy link

EvilDragonfiend commented Jun 17, 2023

I've tested some, and I think Map Generator subsystem isn't that optimized.
Although wouldn't be that matter anymore since monke is rebased...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants