vgstation-coders / vgstation13

Butts
GNU Affero General Public License v3.0
266 stars 546 forks source link

General idea and discussion: my idea for improving mining #12625

Closed FudgePucker closed 5 years ago

FudgePucker commented 7 years ago

This is mostly being posted in response to the "design document", I find some of the suggested changes to mining DISGUSTING.

What are the pros of the current mining system? The sense of exploration. The cons? Too easy and disconnected.

You can easily finish mining by going to the southwest asteroid belt that has high concentrations of diamonds. You never have to risk encountering monsters if you just avoid the 'natural' caves.

I believe there is a way to fix these issues without having to use the FUCKING GOD AWFUL MAGENT FROM GOON.

Make the asteroid larger, the bases are on the edge of it and catwalks connect mining outpost to science outpost. Make masions unable to see though solid plasma. Meaning plasma walls block them, also trace amounts of plasma on the asteroid blocks them as well. Make new goggles that can spot ore two astroid walls away from an open turf. Increase pick speed and ore concentration to account for the changes.

What this means now is that you can not see ores and mine straight to them. Also exposed tiles let's you see more. This would make going into tunnels more worthwhile because they allow you to uncover more ore deposits than just mining in a straight line. Caverns would have a risk reward system, instead of being easily avoided unless you want to fight monsters.

Another idea is trace radiation emitters on the mining hardsuit, able to be picked up by mining goggles, acting as bread crumbs. That way coworkers can see if an area has been mined recently, also allows you to track people though the asteroid.

jknpj commented 7 years ago

Make the asteroid larger

Xenoarch lives matter

FudgePucker commented 7 years ago

We could also rework xenoarch to not be destroyed by the changes by buffing some areas to it. Make the fluff snowflake AR PEE machines more useful, give them the ability with minimal math and reasoning to be able to pinpoint dig sites and large artifacts, meaning that even with the ability to see to see the digspots though walls removed, they are still able to find the dig spots using a GPS and simple rock analyses. Make getting large artifacts less tedious, so it is less painful when we make getting artifacts more tedious.

FudgePucker commented 7 years ago

Also maybe add a sample collecting rover that can be controlled from a computer to xenoarch, letting you go out and collect core samples to examian back at the lab without having to suit up and go though the airlocks. Also add the ability to locate ore veins using trigonometry to help miners find ore.

FudgePucker commented 7 years ago

Turning xenoarch into xenogeologists, also giving the ability to xenoarch to interact more with other people, even if its just the miners

Exxion commented 7 years ago

Making mesons unable to see through certain things isn't really possible without awful shit hacks, and still really hard with them The other goggles you suggested are only marginally more doable

FudgePucker commented 7 years ago

@Exxion Thats why I said general idea and discussion. I understand that limiting Mesons sight is hard, it is old code that just shows all turfs, adding line of sight that could be blocked by certian walls would be a pain in the ass. A work around might be to make ores only visible from the mining goggles, but not by normal sight or mesons. There needs to be discussion officially on github about the future of mining instead of that GOD AWFUL google doc. I swear to god I will flip tables to prevent us from porting that awful goon mining system.

Exxion commented 7 years ago

You don't understand BYOND doesn't ALLOW per-person visibility at all, aside from letting someone see ALL turfs, ALL objects, or ALL mobs within their view range That could be a great idea but isn't actually possible within this engine

I can think of one POSSIBLE workaround, but I don't think it's really feasible

Shadowmech88 commented 7 years ago

The reason why limiting meson sight would be hard isn't because the code is old, it's because it uses sight flags that are built-in to BYOND, and said flags don't offer the degree of customization that you're asking for here. To get particular about what they let you see and what they don't let you see, you'd probably have to calculate what is in the wearer's field of vision every step, and then manually obscure parts of their vision where necessary.

Exxion commented 7 years ago

nice

FudgePucker commented 7 years ago

So changing Mesons are off the table huh. I understand what you guys are saying about built in Byond code and mesons being impossible to change, I just didn't really word it right. What about the workaround I proposed, where we make overlays for the ores and they are only visible by using special goggles and mesons can't see them? Or would it be impossible to make exceptions to what turfs and walls the mesons can see?

Exxion commented 7 years ago

You can't see overlays without being able to see the object that owns them And sadly, visibility is calculated from loc rather than locs, so you can't just have an object the size of the entire Z-level that anyone can see

Shadowmech88 commented 7 years ago

Can you directly send an image/object to a client eye, allowing them to see it regardless of whether they can see the tile it's placed over? When I tried making one-way mirrors, I was able to create black squares that didn't show up for people on the other side of the mirror by directly sending the image to the player's client.

Maybe something like that could be done for the goggles, have them scan for ore tiles in screen range each step and then manually send an image of said ores to the eye of the client of the player wearing them?

Or would the image be blocked by the darkness overlay in that area anyway?

Exxion commented 7 years ago

Yes, you can directly send images to a client, but the image's loc still needs to be visible Err... I guess unless you don't specify a loc? Haven't tried that, actually.

No, the image wouldn't be blocked by darkness because darkness isn't an overlay. It's just nothing. It's rendered below absolutely everything else unless the viewer has SEE_PIXELS or SEE_BLACKNESS

Shadowmech88 commented 7 years ago

If you don't specify a loc, what governs where the image shows up on the screen?

Exxion commented 7 years ago

Dunno lol

I guess you could do that by sending the client an image attached to some OTHER turf that's visible, but you'd have to give it to multiple turfs arranged such that at least one is always visible to the viewer

ComicIronic commented 7 years ago

You also can't just send hiding images to the client, because that wouldn't actually obscure anything - the client still receives all the data.

Shadowmech88 commented 7 years ago

Right, but I'm not talking about obscuring with this method. My idea is to maybe make "ore-vision" goggles by not touching vision flags, but instead manually scanning for ores on-screen each step, and then creating a separate image of said ores and manually sending them to the player's client, so they can see the ores and only the ores, even if they can't see the turfs they're on.

ComicIronic commented 7 years ago

You could add an image like that directly to the client's screen, but it would be impractical and quite difficult to make move as the player did.

Shadowmech88 commented 7 years ago

to make move as the player did

You mean if it wasn't tied to a loc? Because when I experimented with sending images (that were tied to locs) to client eyes, they moved just fine as the player moved.

ComicIronic commented 7 years ago

Yes, if it wasn't tied to a loc. Images tied to locs shown to the player is how ventcrawling works currently.

Shadowmech88 commented 7 years ago

And if it is tied to a loc, then whether the player can see the image is affected by whether they can see its loc, right?

ComicIronic commented 7 years ago

Yes. We could tie images to turfs and make a special mining meson that shows you ores, but from what I can gather, that isn't the desired behaviour, since it would let you see turfs.

Shadowmech88 commented 7 years ago

since it would let you see turfs

You mean it'd let you see all turfs, or just the turfs that the ores are on? I think it would be fine if it's the latter.

ComicIronic commented 7 years ago

All turfs - there is no way I can think of to see only some turfs that aren't in LoS.

Shadowmech88 commented 7 years ago

If you send images to a client that aren't tied to a loc, do they just move with the player's view like a screen object?

ComicIronic commented 7 years ago

Yes.

Shadowmech88 commented 7 years ago

So then, if the images were re-sent every step based on the position of the ore tiles, having goggles that show ore, but nothing else, would be possible. But the updating of said images would be jerky and look like shit.

Even if it looks bad, is it better than not having such an item at all?

ComicIronic commented 7 years ago

You have to consider the performance impact, which would affect the whole server. If such an item existed, it would be painfully inefficient, and certainly not worth adding.

Exxion commented 4 years ago

And sadly, visibility is calculated from loc rather than locs, so you can't just have an object the size of the entire Z-level that anyone can see

I was actually wrong about this. That or it changed sometime after I said this. You just have to remove TILE_BOUND from appearance_flags and scale the thing up to be huge. It's still impractical though