A rework for mining and asteroids.

Kap

Active endo
Joined
Aug 9, 2019
Messages
26
#1
This post will highlight some of the current issues with belt-tech & mining in general, and offer solutions to solving each of them, and more.
Disclaimer: I will be nitpicking a bit.

________________________________________________________________________________________________________________
Current Asteroid issues:
A few ideas regarding current belt-tech.


1. Asteroids location/damage state is not saved, once a player leaves the asteroid, it will be despawn.
Why it's an issue:
What if I want to move 20 large asteroids into a clump, for a big mining ship to come chew up?
Solution: Undamaged asteroids that have been moved more than a minimum distance (So not just knocked a little by a ship), are saved for 48ish hours before despawning. Clean-up every hour. This does not require an unreasonable amounts of data storage if you just don't save asteroids that have been damaged. I don't know all the technicals of asteroids, of course, but just position and rotation, along with material composition and volumes is the important bits to store, this would be acceptable I think.

You just need to make changes to your asteroid spawning logic, such that no new asteroids are spawning inside/too close to a persistent asteroid.

2. Asteroid(s) around Player A and Player B, will despawn if hosted by Player A, and they log out/crash.
Why it's an issue:
Mining is currently buggy unless solo, and can be expected to still be for some time. You do not want asteroids to magically vanish. The asteroid in question will vanish in front of Player B. In the case of Player A mining alone, the asteroid will still be gone when they log back in. This might have been a class 10 Xhalium roid they spent 4 hours searching for, so this is NO BUENO my dudes.
Solution: Asteroids transfers hosts instead of despawning. If mining alone, and a player within loading distance crashes/logs out, the asteroid (and full damage state) should be saved for 15(?) minutes, to allow them to get back on and continue.

3. Asteroid(s) hosted by Player A, will cause immense FPS lag for Player B and Player C, if Player A thruster exhaust hits the asteroid pieces. (1-10fps), even though the asteroid pieces don't actually move. Some P2P shenanigans.
Why it's an issue:
Does not need to be explained further.
Solution: Discussed further down.

4. Large Asteroid(s) hosted by Player A, and chopped into pieces by Player A, B and C, will eventually cause Player A's system to indefinitely freeze (crash), we suspect due to p2p shenanigans.
Why it's an issue:
See Issue 1 & 2. Does not need to be explained further.
Solution: Discussed further down.
________________________________________________________________________________________________________________
Current Mining issues:
A few ideas regarding current mining-tech.


1. Ore crates tend to get Ore Stacks stuck inside of them, that cannot be removed.
Why it's an issue:
Obviously a high priority issue. Requires a full ship despawn to try and fix, but even that may only fix some of the slots.
Solution: Discussed later.

2. Mining lasers goes/phases through tiny asteroid pieces (The collectable bits)
Why it's an issue:
Not much of an issue and probably intended, it just doesn't make much sense.
Solution: Either give them collision with lasers, or something else discussed further down.

3. Sizeable asteroid pieces magically travel through pipes to their ore crate destination.
Why it's an issue:
Not much of an issue, it just doesn't make much sense.
Solution: Discussed later.

4. Asteroid pieces get magically converted into solid ore cubes when put in an Ore Crate
Why it's an issue:
Not much of an issue, it just doesn't make much sense.
Solution: Discussed later.

5. Ship to Ship transfer of Ore does not work / isn't implemented. Nor does it make any sense with current Ore Crates.
Why it's an issue:
People will want to do this.
Solution: Discussed later.

6. Turntables like to randomly snap to weird rotations during a host-transfer.
Why it's an issue:
Not really part of the whole idea of this thread, but i'll just bundle it here. If your mining lasers are on a turntable, you risk cleaving your ship in half, should this bug happen outside SZ.
Solution: Just fix turntables lol. A temp-fix if you are searching for one, would be to force the device field of mining lasers to 0 when a host transfer happens.

________________________________________________________________________________________________________________

A few things before we move on:
It is to my understanding that actual physical storage is planned to be a thing. (Not magical black-hole station storage as we have today on Origin etc) Now, that can mean a lot of things, crates, weapon-racks, and only the minds sets limit.

But the point I want to get to, is that Ore crates sadly do not work well with such a system. Having one slot taken up by just 1728 KV of a material is not a good system, and will lead to scrolling bars that are so long that it will drive any serious industrialist/faction mad.

Ore Blocks do not make much sense either, when you for example require 50kv of Nhurgite for a ship/part, and it is magically removed from a solid block of metal.

Ore blocks are in general, bad for storage. And that's why we eventually will be able to convert it into gas, and compress gas into cubes, via the planned modular furnaces.

Asteroid pieces are physical entities because that's what made sense when mining could only be done by swinging a pickaxe. They do not make sense with lasers, and is just re-use of pickaxe mining code, to speed up implementation.

Now, onto the main suggestions, and solutions for many asteroid/mining/storage problems we face today.
________________________________________________________________________________________________________________

This will be meaty. It's many suggestions bundled into one for a complete overhaul that will make the game better, make more sense and easier on our PCs, so bear with me till the end before forming your judgement.

Suggestion 1 - Laser Rework
Rework lasers to no longer create asteroid pieces.
Now they vaporize asteroids with voxel damage, creating dust/gas (Same as you have planned for station siege)

Suggestion 2 - Collector Rework
Rework collectors to no longer suck up asteroid pieces.
Now they suck up gas/dust clouds created by the new mining laser.

Suggestion 3 - Ore Storage rework.
Replace Ore Crates with small/medium/large/giga tanks that can store dust/gas collected by the new Collectors.
At no point is a solid Ore Cube created during mining, everything is stored as dust/gas.

Why the three above suggestions are better than what we have today:
You will get the following:

Less tax on user PC during mining (No tiny asteroid pieces with physics to handle and send P2P data about.
Instead you have a cloud around the asteroid that multiple miners can do transactions on. Either adding to it by mining, or removing from it by collecting. Visuals of the cloud, if any, does not have to match up 100% between different clients. Just calculate it based on Volume/Material composition of the cloud.

You will get rid of ships that have 600 different slots full of 1728kv of ore. Instead you will have a network that contains 23871Kv of Ajatite and 23812Kv of Bastium, and so on.
It's up to you, FB, if you want to make it so that the gasses mix in these tanks, and have to be seperated afterwards, either by the Dev stations for a fee, or by your own creations. Or the alternative, just say that gasses can't mix in tanks (Similar to how we can't have 2 different materials in 1 ore crate today) - I believe the former provides more interesting gameplay.

Ship to ship transfer of gasses stored in the tanks becomes easier and makes more sense, either thru the resource bridge or a special variant that is eerily similar. Or Perhaps just a device that can expel/vent the stored gas into a cloud, which another ship then can suck up. Really depends what's easiest to do and makes most sense.

Perhaps, if we then feel like cashing out on expensive mining tech, we could build a mini gas separator system on our ships, that will allow us to send unwanted gas, say Ajatite, into a vent and spit it out into a cloud, which should dissipate after some time.

Physical storage for mined material on stations/capitals becomes easier to manage and implement, mining ships will by default produce gas that can be pumped straight into very large tanks on capitals/stations, that exist in-world.

If you break a tank on a mining ship with dust/gas in it, it'll spit out a cloud of whatever was in that tank, instead of today where I believe the ore in the crate is just deleted. This makes pirating mining ships fun and easy. You can just fill it with holes till clouds start popping out, and then go suck it all up into your own tanks. As it is today (afaik), you would have to disable the mining ship without damaging crates (that's lost ore) - and then go connect to their ship with a resource bridge, drag the ore into world, connect to your own resource bridge, and spam P on the ore cubes.

Normal ships will also be able to eat from the gas clouds created by a station siege.

The updated lasers & collectors could also be used for salvaging ships, just vaporize it and suck it up, don't need other ship parts for it.
This tech could handle that.

Clouds just make for more interesting gameplay and there's a lot you can do with them!

If you still want to keep Ore Cubes as a thing, for whatever reason, fine, do it, but I just don't think they make a lot of sense, not anymore.

________________________________________________________________________________________________________________

Final Notes:
Yes, this would pretty much 'kill' all current mining ship design, and I did use the words "Replace Ore Crates", so some of you are probably already triggered. Not my intention. (Attachment plate Incident x 1000)
I wouldn't really care, even if it happened in EA, but a lot of people probably would be very sad/angry if their designs were outright dead.
I propose we do not do that.

Here's how you do it without stepping on toes:

Option A: Different modes for laser/collector.
You can either add different modes to the mining laser / collector, so that they can still produce and collect asteroid pieces like they do today.
But also a gas mode, so the above still works. This could be a module you install on the Utility Body capacitor slots of both lasers and collectors, if you want it to make a little more sense than just be a 0/1 device field!
You can keep Ore Crates and Ore Cubes in, and require the furnace to turn it into gas (As you have planned), and then you just have to create the gas storage and management parts.

Option B: New Gas mining parts.
You add everything above as new parts. New type of laser & Collector.

Either of these two options will allow us to naturally phase out asteroid pieces and move into gas mining, if we want.

As always, thanks for coming to my ted-talk.
 
Last edited:
Joined
Jan 15, 2021
Messages
6
#2
I love this solution to mining. The entire concept of just skipping the liquid state of matter for ores doesn’t really make sense, but meh, it’s there for performance reasons. This is a super elegant solution that works with other planned tech much better than our current mining system,
 

Aha

Veteran endo
Joined
Jun 21, 2021
Messages
109
#3
A very intelligent suggestion!
Allow me to add my possible improvement on it.
Replace Ore Crates with small/medium/large/giga tanks that can store dust/gas collected by the new Collectors.
At no point is a solid Ore Cube created during mining, everything is stored as dust/gas.
How about we just talk about "dust" really and forget the term gas. We still talk about clouds of dust obviously so all of your suggestion apply to it.
Now dust can be settled down and just compressed into semi-solid state and tadaa we keep the ore cubes, and with them the ore crates can stay. No triggered people! :)
Transfering ore happens by treating the ore as dust (even if compressed, that is as i said semi-solid, like a snowball so easily undoable) You can both use pipes and vent out making a cloud as your beautiful idea states, but can also be continued to be handled as solid cubes as well if you desire to do so.
Pickaxe mining: the mining backpack does the grinding chunks into dust.

- No new type of things required (its just that the mining laser doesnt produce chunks but the dust cloud)
- Blueprints work just the same
 
Last edited:

Kap

Active endo
Joined
Aug 9, 2019
Messages
26
#4
I think that's a good improvement to the overall idea. Thanks!
Although it would be very nice if we did have the option to store the dust/gas in tanks as an alternative to ore crates.
Part of the suggestion is to get rid of the many slots we have for ore, and replace it with a network you can read.
Perhaps you should still be able to see it in inventory, but rather than 600 slots, it's 1 slot per material, and the 20328 Kv of ajatite would just show an ajatite icon labeled with '20328kv', can then drag out into world from that slot, and it would grab 1728kv and put a cube in-world.
The above is an age-old suggestion, from 2019.
 
Last edited:

ChaosRifle

Veteran endo
Joined
Aug 11, 2020
Messages
226
#5
Regarding "Asteroid issues":
As far as I know FrozenByte's plan was (and still is? FB correct me if I am wrong) to have asteriods persistant, they just are not yet. A lot of the other things mentioned are just bugs that need fixing.
 

Kap

Active endo
Joined
Aug 9, 2019
Messages
26
#6
Regarding "Asteroid issues":
As far as I know FrozenByte's plan was (and still is? FB correct me if I am wrong) to have asteriods persistant, they just are not yet. A lot of the other things mentioned are just bugs that need fixing.
I don't think that has ever been the plan, I remember asking about it many times, and the answer you get more or less boils down to it being impossible, as there's trillions of asteroids. Even if you only saved the ones people touch/move, it would still be too much according to them.

Hence my suggestion to save them for a limited amount of time, and only under certain criteria.
 

Aha

Veteran endo
Joined
Jun 21, 2021
Messages
109
#7
Although it would be very nice if we did have the option to store the dust/gas in tanks as an alternative to ore crates.
Part of the suggestion is to get rid of the many slots we have for ore, and replace it with a network you can read.
Perhaps you should still be able to see it in inventory, but rather than 600 slots, it's 1 slot per material, and the 20328 Kv of ajatite would just show an ajatite icon labeled with '20328kv', can then drag out into world from that slot, and it would grab 1728kv and put a cube in-world.
I see.
But isnt that just up to coding? Since the crates are modularly connected together to create one big storage unit, it totaly should have been your way right away. Easily fixable.
On the other hand your tank suggestion would also serve as a nice alternative indeed. What you describe i understand them as silos. And if crates can do the compression to make them ores semi-solid, these silos of yours could do the super heating (if the super heater module is added) to make them ore dusts into gas.
 

Kap

Active endo
Joined
Aug 9, 2019
Messages
26
#8
I see.
But isnt that just up to coding? Since the crates are modularly connected together to create one big storage unit, it totaly should have been your way right away. Easily fixable.
On the other hand your tank suggestion would also serve as a nice alternative indeed. What you describe i understand them as silos. And if crates can do the compression to make them ores semi-solid, these silos of yours could do the super heating (if the super heater module is added) to make them ore dusts into gas.
Yeah, just up to coding, im not sure why it wasn't done like that either..

Yes, big silos/tanks.
I think the best option is to treat it as dust as you suggested.
Have all ore in your crates/silos just be a network. Similar to how propellant is running in your pipes and stored in your propellant tanks.

Say your network has 10000kv of Ajatite, consists of 10 crates with similar priority. They would be holding 1000 kv of dust each.
Should you remove the crate from the ship (Unbolted, unpiped etc), it'll still contain the 1000kv of dust, and it'll be deducted from your network, so now it has only 9000kv of Ajatite.

Similarly, when a crate/silo is damaged, penetrated/fractured. It'll do a similar transaction and release the 1000kv of Ajatite into space as a cloud others can go use collectors on.

We don't really need silos/tanks for ore, it would just be a little more interesting than square cubes that you spam. I imagine a very, very big tank for ore hold, perhaps a modular structure similar to plasma thrusters, that you can add modules to that do different things. (Split dusts, eject certain dusts back into space, compress it a bit with a lot of power, whatever you can think of, sounds like a good engineering time)

___________________

As to if silos then should do super heating and turn it into gas, up to devs I have no preference, it sounds a little weird tho, i must say.
We are getting the modular furnace that can do just that, we just have to make the furnace accept 'dust' as well as ore cubes.
 

Aha

Veteran endo
Joined
Jun 21, 2021
Messages
109
#9
I think the best option is to treat it as dust as you suggested.
Oh yea, forgot to mention how it perfectly fits with the mining laser modification. As you suggested the laser would vaporize the ore, creating a gas, but as it immediatelly cools down due to the cold space, it forms up tiny particles we call dust.

We are getting the modular furnace that can do just that
Yea, nevermind the super heater.

The rest should be as you said.

This is a great suggestion, especially as i understood, it helps with server performance a.k.a LAGG too and FB should totaly look into that.
Any developer around to give a thought?
 

Kap

Active endo
Joined
Aug 9, 2019
Messages
26
#10
Oh yea, forgot to mention how it perfectly fits with the mining laser modification. As you suggested the laser would vaporize the ore, creating a gas, but as it immediatelly cools down due to the cold space, it forms up tiny particles we call dust.


Yea, nevermind the super heater.

The rest should be as you said.

This is a great suggestion, especially as i understood, it helps with server performance a.k.a LAGG too and FB should totaly look into that.
Any developer around to give a thought?
Even without technical knowhow of their engine and such, I'm going to go out on a limb and say that yes it will be much easier on performance.
Right now if you pulverize a class 10 roid, you're going to end up with many thousand asteroid pieces. All of these you need to keep track of, both as physical entities with collision, but also as transactions.

Now im gonna guess a little, and this aint my area of expertise, so fair warning, but:'

If multiple people are trying to suck up the same asteroid pieces, they got to communicate between themselves and/or server to determine which pieces they're allowed to suck up. That's a lot of data since you need permission to suck thousands of asteroid pieces.
Furthermore, try and go pulverize an asteroid and watch memory usage spike on the different clients as you're turning the asteroid into pieces, right now it's very, very bad. Even on good systems.

With a cloud that dissipates after some time, you would be strictly communicating with the server, which should 'own' the cloud, not the host.
So, you have 4 collectors on at 5000 power, and the cloud consists of 50% ajatite and 50% bastium, well then you get 2000kv of Ajatite and 2000kv of bastium in your ore network (In the 'collection tick'), which is deducted from the cloud. On paper it looks very much less taxing, at least to me.

It doesn't necessarily make it less interesting to mine, you could still have fancy visuals of dust that depends on material composition, and visuals of it being sucked into collectors. With the difference being that it's not actually physical entities that you need to do any p2p with, your client just needs to know that another client has collectors on, and they're sucking dust at this rate, and then it renders that for you without having to communicate x,y,z of asteroid pieces and the like. (That's probably how asteroid pieces being sucked up look/behave anyway I could imagine) - But right now they're kinda broken and you don't even see them being sucked by other ships, they just vanish into thin space.
 
Top