Mekanism

Mekanism

111M Downloads

Suggestion for a Digital Miner overhaul

dashkal16 opened this issue · 16 comments

commented

Overview

I am suggesting a major change to the digital miner for the purpose of adding more gamplay (in the form of decision making) and tempering the exteme power to mine the world with effort to get there.

This is born of a conversation in #mekanism. Special thanks to Greylocke for help in brainstorming this.

The primary goal here is to encourage decision making by providing mutually exclusive decisions. While this will amount to a nerf of sorts, it's no intended purely so. Rather, the goal is to make the DM more interesting to use.

The core of the idea is that the DM will become something of a upgradable blank machine. The upgrades would be more detailed than the existing system.

Baseline

The base machine would have limited range, be slow, and be limited in how it mines (either mines everything, or mines exactly one thing), but on the plus side be cheap in terms of energy to operate (a single windmill should be enough). Also make the replacement block part baseline. After all, part of the point of the DM was that it didn't have to leave quarry craters.

It could then be upgraded in various ways, with a limit to the amount of upgrades that can be applied that's less than the total set.

Upgrades

Upgrades include a range booster, speed booster, more efficent energy usage, targeting system (filters), and accuracy (more allows it to find more of the ore in the ground). Aside from the energy upgrade, each of these would increase energy costs. Each upgrade would come with a point value, and there would be a limit on the total.

Range: Comes in tiers, upgrades from the base. Example figures: Baseline allows 16x16, upgrdes to 24 and 32.

Speed, Energy, as already implemented.

Targeting: Better targetting system would allow better filtering (wildcards or simply more filters).

Accuracy: Allows the miner to better find ore, resulting in missing less of it. Examples: baseline woulf find 50% of the ore, deterministically so you can't just run the miner again and find 50% of what's left. (I worry that this would simply become mandatory)

Expected usage

I imagine usage would follow a pattern of this sort:
You want to mine out an area, so you build your new digital miner.

You're early in the game (have a few diamonds, enough tech to make the parts) and just some resources. Place a baseline miner down and let it run. It'll run on a windmill or two, so you drop that down and a chest behind it and let it do its thing as you work on other projects. Maybe get some of that pesky Thaumcraft research done.

You don't much care how long it takes, as you're just going to chunkload (more on this soon) and come back the next day. As a result, you place in the best range upgrade, as much accuracy as you can, and fill any remaining slots with energy efficency.

You need resources and you need them now, cost is no object.
Speed, accuracy, only enough filters to find what you need. Don't even bother with range since you'll be there actively and will move it as required. But you'd better have a hefty powerplant to run the thing. Impatience comes with a price.

commented

There is a silk-touch mode in the Digi miner already. I do like the the scanning idea somewhat but don't know how feasible it would be.

commented

@RAWRwins254 Yes. I was suggesting that you need the silk-touch upgrade to allow the miner to silk-touch. Without this (hypothetical) upgrade, the silk touch option would be locked (always off).

commented

I had an idea for this, but taking this in a completely different direction. If you want I can create a new ticket, but I thought it would be useful to put everything here.

I think the Digital Miner is pretty balanced when it is used like a quarry (mine everything with ore*).

I think it becomes far too good when:
*) You tell it to mine up every bit iridium/cobalt/emerald/really-rare-ore.
*) You can get silk touch very early in the game

With that in mind, I have three proposed suggestions:

  1. Add a silk-touch upgrade for the Digital Miner
  2. Add a "scanning cost" based on the amount of un-mined blocks

The silk touch upgrade is pretty straightforward. I'm not exactly sure how it would be made, but I imagine that it requires a silk-touch diamond or gold pick. (I don't want to allow everything with silk-touch to be used, so that people can't pull it off of a too cheap modded item as easily. )

Scanning cost:
The idea here is that instead of only paying for mined blocks, you also have to pay (in time and power) for blocks that you don't mine. Say that each block you do mine costs 1 power unit (probably half of the current cost), and each block you don't mine costs 0.05 power units. To provide feedback to the user, we display the "power efficiency" in the miner's status screen. From an implementation standpoint, there are a few ways to do it:

  1. When we count up the blocks to mine, also count up the blocks we don't mine, and use the ration as a power cost multiplier
  2. When the miner finds the location of each block, calculate the extra power cost for each block separately.

My goal with the scanning cost is to keep the power cost the same when you use it to mine all ore* on a pack like FTB. This will have the side-effect of reducing the cost per block when you tell the miner to gather up all blocks. (Although mining every block would be more expensive than mining all ore)

This also has the side-effect that you pay a power penalty when you use two Digital Miners to try to get around to cost of silk-touching[*]

[*] For anyone who doesn't know how this works, here's a brief description. Say that you want to silk-touch all ores, and pretend that the only ores are iron, redstone, gold, and diamonds.

First you set up the miner to mine all gold and iron normally.
Then you reset the miner, or use a second one set to mine all redstone and diamonds.

This means you saved a lot of power, since you were paying the silk-touch power cost for each time you mine iron and gold.

commented

What bugs me most about Digital Miner is: Why doesn't it have a drill? The ores simply teleport from the underground to the machine.

My idea is:

  1. The player opens the DM inventory, puts some item pipes and a drill bit/head (or a pump if it's for liquids);
  2. Set up the depth (y-coord) and the catchment area (some kind of radius). Deeper/bigger/harder = more energy or upgrades are required.
  3. Turn on DM, it will deploy a drill which goes down to the defined y-coord and starts collecting the goods (ores, crude oil, etc) within the defined catchment area.
  4. The drill retracts if done.

Links:
https://en.wikipedia.org/wiki/Exploration_diamond_drilling
https://www.google.com/search?q=drill+mining&tbm=isch

commented

@EzerArch

The ores simply teleport from the underground to the machine.

From an in-game view, that's sort of the point of the machine. If you look at the recipe it's basically a robot with a pair of teleporters.

From a player perspective, I'd really like to avoid that. I always hated the IC2 drills and the mess they made. One thing that's really cool about the Digital Miner is that is can be used for unconventional things like home-redecorating. For instance, if I decide that I like mossy brick more than stone brick, I can use the Digital Miner to replace all the stone brick in my base with Mossy brick.

commented

I always hated the IC2 drills and the mess they made.

As a non-IC2 player, what did they do? I guess they would make nasty big holes and drag blocks around randomly. I wouldn't want to add such a level of... realism.

I know DM can "inject" a block to replace another one, as you said, and I'm totally fine with this. What feels odd, for me, is that the ore blocks can teleport across a fairly long distance underground (dozens of meters, so to say) straight from its spot to the DM on surface. Instead, ore blocks would teleport from its spot towards the drill bit (and replaced with another one, if defined), and I would add a "well" function to the drill to pump up liquids like water, oil or lava. Say, you have a floating base over the sea and you want some water, the DM could deploy a pipe down to the water to pump it up.

commented

@EzerArch

As a non-IC2 player, what did they do? I guess they would make nasty big holes and drag blocks around randomly. I wouldn't want to add such a level of... realism.

(I might be getting Gregtech and IC2 confused, but it doesn't matter for this discussion.)

Basically the IC2 Miner, would have actual "pipe" blocks in its inventory. It would dig a hole straight down, like a mining well, much much slower, and much more expensive. At each level it would scan for ore, and dog out sideways up to 3 blocks outwards to find ore.

Finally when it was all done it would pull the pipes back up to the top into the machine. This means you're left with a hole that looks something like a negative of a Christmas tree. (This is when it worked properly. If anything went wrong, you had to manually dig out all that pipe, which is a bigger mess.)

So, what I was saying is that I really like how you can use the Digital Miner for home reconstruction, because it doesn't require digging a hole downwards, filling it with pipe. If I place the Miner on a stained glass floor, I'd really like it to be able to change blocks below (and above it) without touching the glass.

commented

I think DM also needs more range upgrades, 64, 128, 256, 512.
Also DM needs memory card upgrade to use memory cards to store different configs.
Chuck loading upgrade.
Blast resistance upgrade.
NEI upgrade, so you could configure item stack (item type) directly from NEI.
Turret upgrade for rapid security.
Liquid upgrade, to pump liquids.
Tank upgrade, up to 8x, every upgrade +5 types and +128 buckets of liquid.
Gas upgrade to extract gasses from natural sources.
Also DM needs Tesseract upgrade to connect with Thermal Expansion 4 Tesseract or Ender IO Dimensional Transceiver.
Wireless Redstone upgrade for WR-CBE.
Burning proof upgrade for lava (and similar) resistance.

commented

Teleporter upgrade, to teleport on that DM, also DM teleport addres could be set once, and then when DM would be plased again in the world you don’t need to select that address again, it bee preset as a filter settings do.

commented

Side upgrade, you could choose what side will you look at when you place DM in the world, also you can choose what side do what like in TE4.

commented

I think the Teleporter Upgrade is making it way to simple to use. Other mods provide transport/teleporting options.
You always look at the same side when placed, the "Side Upgrade" would be useless.
Also, the Sides make no difference unless you have some awkward contraption to make it move 64 blocks after it's finished mining.

commented

This request has been added to the master list at #5320

In order to keep issue numbers under control this issue will be closed and used as future reference.

commented

If the digital miner would get such an overhaul i'd like to see it as a multiblock structure. Not sure what the developer's thoughts are on multiblocks, but lets say you build up the miner structure from multiple pieces that do things like:

  • Add support for filtering
  • Add storage (would only hold one stack for a non-storage upgraded miner)
  • Improve speed
  • Add option for Silk touch operation

The digital miner as it exists right now is an incredibly powerful thing considering it doesn't really cost that much to craft and run.

commented

I am actually all for this idea . Kinda like the machines in TE are they start off basic , and then you upgrade it to a better one , but this you would just simply add a upgrade to a pre existing machine , and actually see little parts being applied to the DM . This would be a rather good Idea! :) But if you did this to the DM wouldn't it be a good idea to do to all the machines . Don't take this wrong though I love mekanism , and have been using it since the beginnings , and its the only mod I would ever use for my ore processing , and in fact I have never used any other mod to process my ores unless you count minecraft as a mod like NEI does. :/

commented

Accuracy: ... baseline would find 50% of the ore (I worry that this would simply become mandatory)

Yes, with this design the accuracy upgrade would be almost required.

Instead, how about the first 50% comes up normally, and then the next 50% takes longer to mine for each ore and the last 25% takes even longer etc etc. You could say the Digital Miner has to "search" for it as it becomes rarer, and adding the Accuracy Upgrade brings the search time back to normal. This design makes it so the upgrade is not completely mandatory, but it would be very useful and makes your life easier, which is perfect. 😄

As far as implementation goes, you wouldn't want to just store the number of each block type every time you start the machine, otherwise you could just restart it a few times to work around it. Nor would it be practical (and maybe not possible) to store the number of initial ore blocks in each chunk as they're generated.

But what if the extraction time is based on the absolute rarity of the ore compared to a baseline? This would have a few effects. First, the rare ores like diamond and redstone would naturally take more time to extract. Second, as the ores are extracted, they become more rare, increasing the time it takes to extract them without the upgrade. Both of these sound like plusses to me! (It's always seemed too easy to just strip the area of diamonds very quickly, this makes it a bit more balanced, imo.)

After hours of grueling tedious research, I found -- by my own sweat and blood -- that iron and coal are generated at approximately 77 and 142 ore blocks per chunk, respectively. Since we want at least half of that to come up relatively quickly, we could choose a baseline of 50 blocks/chunk average. That is, if there is less than 50 blocks of a given ore, then it will take longer to mine. How much longer? We could use a formula to scale it smoothly as it becomes more rare: multiplier = sqrt((baseline - block_count)/5). Some examples: if half of the iron is left (35), it will take 70% longer to mine the next ore. If there are 5 diamond ore, the next one will take 3x as long to mine than normal, and the very last ore block of any type will take 3.1x normal.

Now, the upgrades can simply reduce the baseline so the rarer ores come up faster. In this example, each upgrade could reduce the baseline by 6 or 7 so after all 8 upgrades the baseline is 0 -- which means all ores come up at normal speed.

commented

Rather than complex algorithms for how long an ore should take (accuracy as well) how about a simpler idea. The further the ore is from the Miner, the more energy/ lower % of a successful mining operation.

So 32-64 blocks away might have a 25%-50% chance of failure (ore is destroyed from world as well)

This will naturally lead to diamonds being harder to get unless you place the miner underground.

It would probably need a filter to not attempt to mine ores "x" blocks away to allow players to choose to risk it, or not.