--- tags: Appended, Ongoing, Cargo title: ArcMining Version 1.2 --- # ArcMining (Arcane) Version 1.2 ## September 2023 Draft [toc] ## Intro Welcome back ladies and gents. ArcaneMusic is here yet again, with a new mining document, having gotten... a lot of feedback on the previous draft of mining. Some of it worked, some of it didn't, and at the end of the day it wasn't up to anyone's expectations. It kinda sucks, but this is the next step in trying to make this work. And uhh, I'm way too fucking stubborn to not just try again, so here is the Version 1.2 draft. I'm re-evaluating as much of this as I can, while still working towards the same common goal. ~~I still totally think the last design could have worked and people were just determined not to give it a fair shake but it's not worth the headache of trying to convince anyone that it could have been improved over time so here we are~~ **EDIT 7/30/24** I've got a second document, more updated with the tides of time, where I'm throwing out ideas for the second big arcmining PR. See there for more context: https://hackmd.io/@Arcane/SJ46NeIFC ### Why do we want this? (For dramatic effect, imagine I'm doing that scene from full metal alchemist where edward lists off the contents of the human body) Lavaland is a 255 x 255 tile map. On average, lets assume that a total of 80% of the map is generated as part of the randomized cave generation. The baseturf found on lavaland has a 10% chance to spawn an ore inside of itself, and that ore breakdown results in an estimated 5202 tiles containing 1 to 5 stacks of ore each. Each stack of ore is 1-1 to a sheet of it's corresponding mineral. With 5202 mineral ore turfs every shift, randomized to contain 1-5 stacks of ore. This means that on average, a round of space station 13 contains 15606 sheets of minerals, resulting in: 50 sheets of bluespace crystals 50 sheets of diamonds 250 sheets of uranium 500 sheets of gold 550 sheets of titanium 600 sheets of silver 1000 sheets of plasma 2000 sheets of iron and 200 gibtonite crystals. On average, a given round of space station 13 consumes the following sheets of minerals, based on a study taken from a random 40+ round sampling where minerals were used at minimum once in a single shift, and the shift lasted for more than 10 minutes. ~4.8 sheets of bluespace crystal. ~6.25 sheets of diamond. ~11.9 sheets of uranium. ~13.35 sheets of gold. ~13 sheets of titanium. ~25.3 sheets of silver. ~24.8 sheets of plasma. ~93.25 sheets of glass. ~325.9 sheets of iron. Mineral consumption for pretty much every resource that isn't *iron* or *glass* had proven to be just about 15-25% of the totals that were MINED that round. By comparison to the amount that exist total on the map, it's no contest. No player is ever going to mine out *all* of lavaland with the way the map is generated, but due to the efficiency that players are able to passively mine in game, there is zero resource competition in the game. Why would you go out of your way for a resource, or use any alternative resource to acquire an item, when ultimately minerals both never run out, and never face any real consequences to their use? It's like coal, except that we actually WON'T run out of it, and it doesn't produce CO2! Thaaats also fundementally bad, all things considered. Nobody's out here in real life charging for oxygen. Unless of course, you're in a submarine (Because there's at the minimum a finite limit to how much of it can and *should* exist). So we want resource management, but we also don't want to starve the station of minerals. At the end of the day, I can rest easy knowing that there is a specific amount of resources on the map, and that those targets are attainable for players to get in a specific round, while at the same time allowing players to go over that limit on a time basis. ### Goals * Mining should still take place in an alien environment, like lavaland or icebox. * Mining should feature unique mobs with different behaviors that need to be fought to safely return to the station. * Mining should have various ruins and other challenges that can produce resources or mobs to fight, without trivializing the difficulty. * Mining should still have access to their unique loot and gameplay features. * **NEW**: Mining should still have at least a more passive or less combat-oriented gameplay loop alongside the more combat heavy gameplay loop. ### Non-Goals * Mining should not be able to collect minerals without having to have some forethought into what ores they're collecting. * Mining should not just be monster hunting. * Mining cannot avoid interacting with the station, and the outputs of their job should be improved through inter-departmental cooperation. * Mining should not also be an island that discourages cooperation with their fellow miners. Teamwork should make their job more engaging, while still building on standard SS13 paranoia. * Mining should not produce quantities of minerals that can never be used by the crew, ***BUT*** they should not produce so few minerals that they need to cannibalize each other to meet basic needs. ## The Pitch This should read like a combination wiki page as well as functional overview. ### On-station Miners on station should see the addition of 3 new machines in their starting room, or otherwise in their department. These machines are... the **BRM**: The Boulder Retrieval matrix. It's a teleporter that teleports boulders harvested from vents onto the station. It can be toggled on to automatically teleport boulders from all over lavaland. * Visually, there will be an element on the BRM showcasing how many boulders there are ready to get teleported, so you know if there are many boulders ready to get processed. The **Foundry**: A processing machine. This breaks down boulders non-metallic ores. Boulders go in, get broken down, and get spit out if there's anything metallic or otherwise remaining in the machine. The **Smelter**: A processing machine. This breaks down boulders metallic ores. Same as above. Both of these machines need to be fed boulders somehow. This is best done with conveyor belts and the BRM teleporting boulders back to the station, as I think it's soulful and would make the whole operation look more authentic. However, I am not against going and having some kind of fake transport element ferry them back and forth instead... I just think it would look less cool. ### Lavaland Lavaland needs a lot of tweaks to arrive at that better ore generation result. My current best guestimate and modus operandi is by using a radial ore generation method. So, ores now spawn based on how close the wall to it's nearest ore vent. Adjacency causes 75% ore spawn rate, ### Gameplay So you go to lavaland, and you begin scanning for ores and vents. Vents, when scanned, provide a discovery bonus of mining points granted to the miner who finds a vent first. Upon scanning again, the player besieged by a number of lavaland mobs every few seconds. Defeating all of them allows for a mining NODE drone to is provided a lump sum amount of mining points for ## The current "To-Do" List - [x] Create a SS that handles generation of boulders. - [x] Create ore vents - [x] Create an ore vent that comes with the station for free, providing baseline glass and iron scaled from the original case study. - [x] Add ore vents to the mining generator up to a cap (players will not need many for a successful mining round.) - [ ] Change mapgen to stop generating ore vent ruins after a certain point to keep sources fresh? - [x] Mining Scanners should point to the nearest ore vent as opposed to showing nearby ores. - [ ] Map in ore vents into a number of ruins that can fit them (think the birthday party ruin or ratvar!) - [x] Scanning an ore vent will summon a wave defense mini-game. - [x] Success causes the ore vent to produce ore boulders and makes the children ore available to teleport back. - [x] Failure to protect the vent causes the vent to downgrade. - [x] Clean up wave defense to work better with the lavaland environment (Spawn closer or maybe break rocks?) - [x] Provide higher tier mining vents with a scaled wave defense. - [x] Boss Vents? - [x] Spawn varied lavaland mobs in quantities that encourages teamplay and cooperation. - [x] Completion of the wave-defense minigame should generate mining points to nearby miners. - [x] Create the boulder object that is produced by ore vents - [x] Provide boulders with relevant properties to make them need assistance for hauling. - [x] Make boulders assign ore contents based on the parent ore vents in quantities scaled to to the rarity and usage of minerals in-game. - [ ] Provide occasional rarities that are produced by the vent (science artifacts) - [x] Fuck I forgot about gibbonite - [x] Add machinery for processing of ore boulders. - [x] BRM (teleporter) - [x] Brings boulders to the station for processing by the other two machines. - [ ] Small UI to select which boulder to teleport. - [ ] Lotttts of sanity checks. It's a teleporter after all. - [x] Smelter - [x] Able to refine metallic minerals to add to the Silo Network. - [x] Leaves non-metallic minerals inside the boulder. - [x] Refinement process should take x amount of time per boulder while processing. - [x] Refinery - [x] Able to refine non-metallic minerals to add to the Silo Network. - [x] Leaves metallic minerals inside the boulder. - [x] Refinement process should take x amount of time per boulder while processing. - [x] Machine takes liquid chemical inputs to upgrade refinery efficiency. - [ ] Input Chemicals boost mineral output, then consume boosting chemical. - [x] Outputs a new chem, Industrial Waste when active, until full. Then no more boost. - [ ] Melts factory bottles and puddles as a pill and acts as a medium strength toxin/acid. Slowly melts floors if left on the ground. - [x] Can be stored in chemical storage barrels. - [ ] If left full for too long, storage may rupture and spray industrial waste into the foundry. - [x] Shared Traits: - [x] Stock parts let the machine refine more boulders at once - [x] Stock parts let the machine hold more boulders at once. - [x] Refined materials provide small amounts of mining points compared to the lump sum from the vent, that can be claimed ala ORM. - [x] Mining Node Mob - [x] Needs basic AI blackboard that makes it do the following: - [x] Flees when attacked? - [x] When not attacked for X seconds, buckles itself to the ore vent. - [x] When the wave defense is completed, it flies away or otherwise integrates itself into the vent to produce boulders. - [x] Explode when killed - [x] Players can only summon a node and start wave defense once every x seconds or at least until the last one is finished. - [x] New Sprites? - [x] Boulder (Technically unused atm) - [x] Artifact boulder! - [x] Ore Vent - [x] Icebox variants - [x] The Mining Node (current sprite sucks and is uninspired) - [x] Landing animation - [x] Boulder rock overlay - [x] I HAVE to make sure that golems still work. - [x] Golems can crack open boulders by hand and obtain ores to eat. BONUS ROUND: - [x] What do we do about gulag? - [x] What do we do about free golems? - [ ] What about the old shitty stacker mining setups like in the base? Axe it? - [ ] Do we buff geysers along with all this? - [ ] How do we handle the legendary mithril/adamant rock ruins? - [ ] Do I do anything to plasma cutters? - [x] Do we give miners mining experience when completing vents to compensate for the lack of actual mining required? Bugs: - [ ] **HIGH PRIORITY**: Processing machines need to work with upgrades Currently bricks on multi-processing. bad. - [ ] make sure teleporter sounds are working. - [ ] Industrial waste doesn't appear to be melting anything. High stakes fix. - [ ]