Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mining rework + Lavaland removal #9613

Closed
wants to merge 66 commits into from

Conversation

PowerfulBacon
Copy link
Member

@PowerfulBacon PowerfulBacon commented Aug 5, 2023

This will be a very long term PR, mainly making this to get it prepared for testmerging and updating based on the testmerges.

Dependant on #9473
Dependant on #9503
Dependant on #9747
Dependant on #9752

Current Status:

  • Part 1: Asteroid mining framework
    • Initial Completion
    • Testing begun
    • Final iteration complete
  • Part 2: Gateway dungeons
    • Initial Completion
    • Testing begun
    • Final iteration complete
  • Part 3: Exploration considerations (Future or present?)

Please note that the design doc in the PR body represents the final changes, and may not be completed fully yet.

General TODO

  • Make circuitboards for all the machines added.
  • Allow the new mining tools to be printable.
  • (Inactive) Bluespace anchor sprite
  • (Inactive) Energy pickaxe upgrade sprites
  • (Inactive) Asteroid magnet border marker sprites
  • Put an active magnet on the mining shuttle
  • Fix the ORM being in the wrong direction on metastation mining.
  • Complete upgrades for silver pickaxe.
  • Complete upgrades for titanium pickaxe.
  • Figure out what to put in the empty room in metastation.
  • Rename the miner job role to something else.
  • Do we want to add debris at this stage and a system for non-randomly generated asteroids which might contain interesting things for people to discover and collect?

Initial Test Notes

Bullet Points

  • Removed lavaland roundstart accessibility. Lavaland-type dungeons can be accessed but will not be loaded at roundstart and can be instead lazily initialised for improved roundstart init performance (This will save a huge portion of roundstart load time for development builds).
  • Space debris spawns in the station around on supercruise.
  • Miners can fly to these debris locations and attach anchors to the debris/asteroids to begin towing them.
  • When towing, the debris will follow the shuttle around.
  • Any debris or asteroids close enough to the station can be pulled in and linked to the station.
  • Miners can bring the debris/asteroids back to the station in order to be mined.
  • Once mining has been completed, the station can eject the materials back into space.
  • Integrate exploration and mining into a single role which still spends a large portion of time on-station.

Motivations

Problems with Lavaland

What are the high-level problems with mining?

  1. Mining as it stands acts as a single-player experience with very little interaction.
  2. Players on Lavaland do not experience any of the events which occur on the station, leading to other players being eliminated from the systems which depend on players to create unique experiences.
  3. Miners are inaccessible to be interacted with, even when interactions are forced through antagonist objectives.
  4. Miners do not cooperate and tend to compete instead.
  5. Death is too punishing for miners and often results in >30-minute wait time or full round removal, leading to players being unable to play the game if they die.
  6. Most deaths are caused by environmental/system-controlled hazards and have no player involvement, leading to boring and unfun deaths.
  7. Antagonists feel encouraged to eliminate miners as soon as possible rather than come up with plans and wait for the situation to kill them.

What mechanics cause these problems?

The nature of Lavaland itself contributes a significant amount to the problems outlined above. The 3 major problems that I have identified with Lavaland that leads to these problems are:

  • The inaccessibility of Lavaland to most players on the station. This comes in the form of access requirements restricting players as well as the time gap to access Lavaland.
  • Lack of any tangible reason to go to Lavaland.
  • The game is focused on the story of the station, there are few systems which are designed around events and stories taking place away from the station.
  • Specialist gear is required to access Lavaland which is not accessible to the crew.

Discussion of alternative solutions

There are other proposed solutions, however many of these solutions either do not solve all the problems I am looking to solve, have other conceptual issues or are simply too much work to get completed.

The reason I believe this concept is the best solution is that every aspect of the design helps to propose solutions to the problems while remaining an elegant solution (one which is simple and already fits in with the existing mechanics without feeling out of place). An elegant solution has significantly lower risk during implementation as there are less ‘moving parts‘ which can cause unexpected outcomes.

Secondary Benefits

Removal of Lavaland saves a significant number of resources when it comes to mob processing, other background systems processing and load time. The removal of Lavaland results in about ~30% load time improvements (~60 seconds down to ~40) as well as reduced load throughout the round.

Mining Changes

We need to encourage miners to bring the debris back to the station before mining it.

  • The mining satchel of holding now teleports materials to a nearby receiver rather than having infinite capacity.
  • Mining boxes no longer have infinite capacity.
    Since we will be spending a lot less time mining for the sake of reaching a location, a lot of the mining tools can be changed to improve progression (Plasma cutters for fast movement are no longer a requirement).

Labour Camp Changes

Unresolved Question: How do we do the labour camp? Have them mine in the same area as the miners?

  • Throw them in with the miners, give them an ankle bracelet which alerts security if they leave the mining area. (Have the miners pull them rocks and then the prisoners work?)

Debris Types

Asteroid

  • Contains large quantities of ores, usually of a specific tier.
  • Asteroid monsters will spawn inside of asteroids in cavities.

Debris

  • Random bits of debris which may contain rare or unique items.
  • This could contain items for CentCom bounties in order to replace station money gaining.
  • We could give CentCom missions to investigate different scrap points and recover a data recorder for example in order to replace exploration money.

Boss Fights / Dungeons

Asteroids may contain a rare chance for special structures to be contained inside of them. These will spawn once enough asteroids have been mined already. These contain some simple puzzles which will unlock a dungeon, that members of the crew can enter.
This will be technically implemented by having a special room spawner marked inside the asteroid maps (Note: Do we want them as maps, or randomly generated structures?). If some probability check succeeds upon spawning the asteroid, then the dungeon will be placed inside of it. The dungeon that can spawn will depend on different parameters to prevent players from getting full dungeons before actually mining resources.
Dungeons will be wiped using the Z-Clear system, once wiped they cannot be returned to. Dungeons cannot be loaded in while another one is being cleared by Z-Clear.
We will try and keep with the theme of the 9 circles of hell as we go down.

Blood-drunk miner

Spawns inside of cavities inside asteroids with the normal looking ruin. Pretty standard stuff.

Hierophant Dungeon (Lust) (Planned implementation early on)

A 5x5 floor of indestructible tiles with a podium in the middle. In the corners of the room are 4 symbols that generate as overlays on top of the floor. An order will be randomly generated. If you stand on the right one, then it will flash purple and a sound will play. If you stand on the wrong one, then a hierophant pulse will start from the centre and expand outwards to fill the 5x5 tiles.
Once completed, they will all flash purple and a stone tablet will spawn on the podium. This contains coordinates which can be entered into the gateway to unlock the hierophant dungeon. The floors and walls of the dungeon are made of the indestructible hierophant tiles. The dungeon will consist of mostly traps as well as those pandora box enemies with the mine hierophant at the end of it (in the centre?).

Ghost Roles

Unresolved Question: How do we implement more interesting ghost roles that can interact with the station?
Ideas:

  • Off-station ghost roles similar to skyrat’s: Freighter crew, black market, port tarkon, etc.
  • Pirates that spawn in the debris and need to salvage for money
  • Allow ghosts to request to spawn in a ghost ship, which will generate the ghost role when requested as a shuttle.
  • Have ghost roles spawn in the gateway missions when they are loaded.
  • Have ghost roles spawn on asteroids/debris (how?)

Items / Features

image

The energy pickaxe is a new mining power tool which the miners start with. This is the most powerful mining tool in the game and deals the most damage to minerals, however it neede to be recharged at a recharger between uses encouraging the miners to mine on station. It can be upgraded with different materials which will provide different effects:
iron - (slightly) More damage to rocks
diamond - instantly break rocks
uranium - Allows for the pickaxe to 'store' charges which can be used in quick succession
plasma - Max amount of charge increased
gold - 50% more ores dropped when mining
silver - TBD
copper - 50% less cooldown
titanium - TBD
bluespace - 3x3 mining area
image
image

The gravity anchor can be connected from the shuttle to another anchor placed on an asteroid in order to tow it to the station.
image
Note that this uses the ORM sprite for now.

Asteroids will now show a material scan giving the miners an indication of what is on the asteroid. This provides some choice when selecting an asteroid, as you may prioritise necessary early game materials or instead go for an asteroid that is rich in a late-game material such as diamonds or BS crystals.
image
Ignore datum for now, working on the fix for that

Asteroids now have different rock densities and aren't a single hit to mine. The darker the rock, the richer the minerals but the harder it will be to break. This is to encourage miners to bring the rocks back to the station rather than mining them with the existing, infinite, tools away from the station. The asteroid generator has been significantly improved and will now have relatively consistently sized asteroids. You won't get 1x1 asteroids or asteroids that are pure squares.
image

The asteroid magnet can pull in nearby asteroids into its designated zone. This zone is 14x14 on metastation. No other maps have been altered yet.
image
image
image

Planned Features

Asteroid Cavities

The first testmerge highlighted an issue with the original design, being that with 3/4 people it is still easy to mine away from the station, towing takes a long time and you don't get a lot out of asteroids.
In order to resolve this we are going to implement asteroid cavities:

  • Each asteroid will have 3 'weak' points on them.
  • On the station is a machine that requires a power cable under it which generates energy explosives. These detonate 30 seconds after their creation.
  • Once all asteroid weak points are blown up, a hole will open in the center of the asteroid.
  • Miners can deploy a rope ladder down this hole to enter it.
  • Inside asteroids is more ores, the potential for mapped things to spawn (interesting little dungeons or whatever), mobs or the future planned dungeon keys.

These will make asteroid mining far more engaging and further discourage mining away from the station.

Changelog

🆑
add: TODO...
/:cl:

@github-actions
Copy link

github-actions bot commented Aug 5, 2023

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added Mapping DMM Change Sprites TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 labels Aug 5, 2023
@PowerfulBacon
Copy link
Member Author

This is going to be a big one

@PowerfulBacon PowerfulBacon added the Don't review yet Reviewing this at this stage would be a waste of time. label Aug 5, 2023
@bruhlookatthisdood
Copy link

Word can not describe how much I love you right now

@Rustyfoxb
Copy link

This feels like what ss14 has, wich i think is unique wich i like. One thing i do have a question is what would be the replacement for golem, ash and terrarium?, also how about adding a chance for og charlie station to be in the ghost roles, as currently one has to pray that rng is good for them to spawn, and normaly it's the random gen charlie rather then og.

@Kratairo
Copy link

What about the rest of the mega faunas and other loot

@PowerfulBacon
Copy link
Member Author

Megafauna are planned to mostly be moved into the dungeons

@PowerfulBacon
Copy link
Member Author

Now working on getting turf integrity into the game.

@github-actions github-actions bot added the Tools label Aug 29, 2023
Virtual multi-z

Update zcopy.dm

Fixes the overlays not updating properly.

Fixes virtual multi-z atmos

Above and below VV support

Update the turf adjacency on a multi-z linking update

Makes VV below/above forced
Converts the gravity magnet to proper deployables

Update RadStation.dmm

Fixes the barricades being the wrong type

Virtual multi-z support

Virtual multi-z

Update zcopy.dm

Fixes the overlays not updating properly.

Fixes virtual multi-z atmos

Above and below VV support

Update the turf adjacency on a multi-z linking update

Makes VV below/above forced

Update change_turf.dm

Update RadStation.dmm
@Cartlord
Copy link

Cartlord commented Aug 31, 2023

i had a whole lot typed up, but nobody'd read it anyway, so here
I eagerly await seeing how this turns out - Lavaland, while it is indeed a single-player experience, is an enjoyable single-player experience (there's a reason the shaft miner job's almost always full). I hope you're able to get something in that's just as fun while bringing in more roleplay opportunities.

@github-actions
Copy link

github-actions bot commented Sep 3, 2023

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

github-actions bot commented Dec 1, 2023

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Rukofamicom
Copy link
Contributor

This hasn't seen updates for a while

@github-actions github-actions bot closed this Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Administration Don't review yet Reviewing this at this stage would be a waste of time. Feature Mapping DMM Change Merge Conflict Sound Sprites SQL SQL Change Stale TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 Tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants