tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
112 stars 17 forks source link

[Dev Asks - Brainstorm] Terrain editing - mining #1854

Open tsunamayo opened 4 years ago

tsunamayo commented 4 years ago

Okay as previous post were very useful to me I am opening a new one on the topic of terrain manipulation and mining in particular. So the feedback I am looking from you guys:

My roadmap is

PopkaAkula commented 4 years ago

About the mining, you could maybe have both the beam and drill:

Have the beam be like a long range but narrow mining capability and have the drill be short range and wide mining capability. So for example the beam could only mine 1 meter wide holes that are maybe 10 meters long, and the drill can mine 3 meter wide holes but they are only 2 meters long or something.

That way you could have two different ways of mining for different scenarios.

ProPeach commented 4 years ago

To clarify, when we dig down into an asteroid/Torus in SEVO will the ground be split into cubes or smooth like the surface?

Most games I've played have either a beam or a drill. The beams are usually the "cheat" way of doing it, in that you just aim the beam at the rock and it removes rock then deposits it in your inventory. This is ok, but a bit boring. Elite makes it more interesting by having small drones which fly out and collect rock cut away by the beam and deposit it in your cargo bay which is mesmerizing to watch. There's also a bit of skill in finding the right ores, but I digress. Here's a clip of beam mining in Elite with drones picking up the ore - https://youtu.be/1XMVE94qxRU?t=278

Drills (in Space Engineers) remove rock in a small radius around the drill head and magically move the material into the drills inventory, which can then be piped around your ship to your cargo hold. I really like the concept of piping resources around, perhaps that be a good use for tubes :P When mining with a drill by hand in SE, the rock simply drops on the floor and you need to pick it up by hand. This makes sense but it's tedious, I know a lot of people install a mod that automatically picks up the rock until their inventory is full. Here's a clip of mining in a ship- https://youtu.be/q2GVKrTHG50?t=454 And by hand - https://youtu.be/lamomTuBFcI?t=91

I haven't played StarMade, but I think they use a 1m wide beam and then magically put the resources in your inventory.

Personally I find using drills a lot more satisfying - Accurately removing large chunks of rock and carving out tunnels is fun! It can also be much more challenging than using a beam though as you've got to think about how far into the rock your ship will fit, and being careful not to collide with the walls of your tunnel. That, tied with how comparatively easy it is to mine with a beam means you could have both and offer that choice, maybe with some yield changes between the two

Ideally you should be able to build in the holes left by your mining to create underground structures or asteroid bases, I think that adds a whole load of depth and possibility in finding buildings to explore around the galaxy

ExodistSKY1 commented 4 years ago

I really like the ideas presented about having both the mining laser (possibly easier yet yielding less materials), the mining drill (possibly more difficult yet a high yield of materials), and possibly the third option of having a few drones as ProPeach had mentioned! I really like that idea and possibly making that an average yield potential... I do not think I have ever seen a game with multiple different mining solutions. But being the first in this would be pretty awesome for the game and allow a huge creativity boost when designing mining ships/fleets!

Dwarf-LordPangolin commented 4 years ago

What are the tools given to player in other games, and what tool you think are importants

Space Engineers has the drill, both player-held and vehicle-mounted. It serves basically the same function as the pick/shovel in Minecraft. One serious weakness in Space Engineers is that there is no way to fill in holes in the terrain unless in Creative mode. So I would say we need both a tool like the pick/shovel/drill, as well as something that does the same job that placing terrain blocks does in Minecraft. Presumably there would be both handheld and vehicle-mounted versions of both tools.

What size is there in other game, what size would you like to see? I am was planing for a standard 1m.

1m works well, and matches the SEVO block size already used. Minecraft uses 1m as well; SE has no clearly defined size for the drilling area, which makes digging precise tunnels incredibly tedious. This is one of those "if it ain't broke, don't fix it" things. ;)

Now onto mining: what do you prefer regarding the mining experience? Beam, drill, both, other?

Drills have a low-tech, chunky appeal to them; for aesthetics and feel, I prefer them. However, beams do have a number of gameplay advantages. One of those is range; with drills, if you want to reach something far away/high above, you have to build scaffolding to reach it or use a jetpack, which can be inconvenient depending on how difficult it is to build that scaffolding/how much fuel the jetpack has. A beam can remove that problem. Another concern about drills is that it can be easy for mining vehicles/ships to dig holes that they end up getting stuck in. You could implement both, with the beam being a sidegrade to the drill; more versatile, but more expensive to build, and requiring more energy to operate. And as others have suggested, the drill could yield more resources to offset the beam's ease of use.

Is having the terrain grid aligned to your build important? It will be for asteroid, but not for terrain. Terrain is curved, and the solution I am planning to implement is to squash the terrain voxel to have zero terrain patch boundary issues. No idea how other game are solving this...

It's not important to me, and I honestly feel that for the non-asteroid areas, it would be better to leave the player free to place things more freely.

I can't speak for other games, but Space Engineers "solves" it by ignoring the problem; if you build a line of blocks, with the first block level with the ground, you don't have to go far before the curvature of the planet leaves that line hanging in mid-air. TBH though that works well enough, since variations in terrain height make more of a local difference than curvature does.

I also wanted to add on the topic of mining: mining output collection. I had in mind something where you would need to put a collector of some sort, and plug that into a storage via tube. Not sure what other game are doing, if it is magical pickup or something evolved. And maybe some gravity beam to push the output toward the ship, but I dont want to make something too tedius either.

Regarding output collection, I would suggest avoiding loose items lying around or moving prior to collection; loose or moving items have caused performance issues in Space Engineers, both in single-player and multiplayer. It's also especially annoying when mining in space, where things float away, making you chase them down. And in Minecraft, it's really annoying when a diamond or whatever falls into lava or a hard place to get. So, I am in favor of some form of automated collection where whatever you mine ends up in your inventory/the mining vehicle's inventory.

BTW: how are you planning on handling rock/ore/dirt in SEVO? Minecraft lets you pick up the terrain blocks themselves, add them to your inventory, and place or craft with them. Space Engineers turns terrain voxels into stone or ore, which are items that can be put in the inventory & used in crafting, but are not blocks. Are you planning on using a block approach like Minecraft, or a bits & pieces approach like Space Engineers?

tsunamayo commented 4 years ago

@Dwarf-LordPangolin nope it wont be block but more matter. Tech is called marching cube (well known stuff), so it is made for smooth surface - but I will try to have a mode to generate cube / hard surface, I will see if I can make this work. If it does then yes it would look a bit like minecraft, except that terrain voxel would not match player voxel...

ultrak2k commented 4 years ago

Okay as previous post were very useful to me I am opening a new one on the topic of terrain manipulation and mining in particular. So the feedback I am looking from you guys:

  • What are the tools given to player in other games, and what tool you think are importants
  • What size is there in other game, what size would you like to see? I am was planing for a standard 1m.
  • Now onto mining: what do you prefer regarding the mining experience? Beam, drill, both, other?
  • Is having the terrain grid aligned to your build important? It will be for asteroid, but not for terrain. Terrain is curved, and the solution I am planning to implement is to squash the terrain voxel to have zero terrain patch boundary issues. No idea how other game are solving this...
  • EDIT: I also wanted to add on the topic of mining: mining output collection. I had in mind something where you would need to put a collector of some sort, and plug that into a storage via tube. Not sure what other game are doing, if it is magical pickup or something evolved. And maybe some gravity beam to push the output toward the ship, but I dont want to make something too tedius either.

My roadmap is

  • terrain raycast and building (done)
  • Asteroid collision
  • asteroid editing
  • terrain editing
  • mining

Mining in games is split between magic collection and tube based. Personally for item logistics I’d love to have tubes! Especially for factory gameplay, which I feel really would benefit from thbes

Servomotor commented 4 years ago

What are the tools given to player in other games, and what tool you think are importants In Landmark we had mining picks that had various strengths (part of the "upgrade" chain). Some dug faster, some with a larger radius to mine with. This was all done with the avatar, no moving ships in that game.

What size is there in other game, what size would you like to see? I am was planing for a standard 1m. 1m seems fine, but this can also be used for an upgrade path. Better mining tools could do 2m or collect faster, etc.

Now onto mining: what do you prefer regarding the mining experience? Beam, drill, both, other? I like the idea of drills for the avatar (perhaps we can build our own like guns?) and lasers or beams for vehicles. A turret beam would be fun in an HV, but manually controlled by the player, not AI.

Is having the terrain grid aligned to your build important? It will be for asteroid, but not for terrain. Terrain is curved, and the solution I am planning to implement is to squash the terrain voxel to have zero terrain patch boundary issues. No idea how other game are solving this...

If players have the ability to terraform, then I think the "squish" works because they can recreate the land around their building, but if they can not terraform it might be best to just leave it alone. Players will just need to build foundations for their builds. The issue here is we need more block types/textures for base building materials. Concrete for one or even dirt blocks. Your solution of moving the blueprint up or down when placing it works well. It gives the player an idea of how they can make a foundation. I like the squish idea, but if it leaves ugly squared terrain around it, then I don't like it. One of my mottos in voxel building games where curves are not existent is MORE CURVES, or rather less squares. If the squish creates a square around the house then it will be ugly. If the squish is the exact shape of the blueprints base, then it could work as it may look more natural. You may have to end up creating some terraforming tools so players can flatten the land or regrow it.

EDIT: I also wanted to add on the topic of mining: mining output collection. I had in mind something where you would need to put a collector of some sort, and plug that into a storage via tube. Not sure what other game are doing, if it is magical pickup or something evolved. And maybe some gravity beam to push the output toward the ship, but I dont want to make something too tedius either.

I think the best solution here is to keep it simple. Make the collection "magical" as it just appears in the appropriate container, but maybe have an artist create a little mining drone that just flies around like he is picking up materials, but other than that no real function or existence in game. You could basically have a mining drone fly down around your avatar when ever you start to drill.

As far as spaceship drilling. I don't think anything is necessary. Just make it look like the laser beam also harvests the rocks and stuff. So like the beam would have rocks and dirt particles flying back up it as if it works like a two way street.

Ultimately, and I know you are aware of this, the more systems in the game, the simpler they need to be from a coding perspective. In this example the fun in mining is the action of mining. The collection does not need to be any deeper than material just popping up in your inventory. If you want a lore reason/realistic reason to explain HOW it makes it to the inventory, then we do a drone idea or dirt and ore feeding up through the laser drill. I would definitely not make mining anything you have to pick up because of performance/rendering. Picking up blocks in Minecraft is ok, but I cant say it was any more fun than just having materials magically end up in my inventory like landmark.

at 3:15 you can see how the materials just go into the players inventory. Perhaps have a drone come out of the sky and have materials go into its inventory.

at 4:00 you can see how a drill looks

https://youtu.be/sGQvrdAgPI4?t=197

Kaiser-Indrasil commented 4 years ago

And as others have suggested, the drill could yield more resources to offset the beam's ease of use.

I don't think it should be a quantity penalty. If any, I'd prefer a speed penalty, so the beam would extract the same amount of ore, just slower than the drill.

What size is there in other game, what size would you like to see? I am was planing for a standard 1m.

As long as it's not Minecraft-like cube, I'll be fine. But what shape then? Maybe a cube with strongly rounded edges and corners? Maybe a sphere? Maybe an irregular shape entirely?

What are the tools given to player in other games, and what tool you think are importants

In Star Citizen, the players use multi-tools or mining ships to first induce enough heat with a beam into a rock to shatter it, but not too much, because that would cause it to explode. Then they either pick up the pebbles by hand or with a scooping beam that magically transports the shattered rocks into the ship's inventory. While I don't think physicalised pebbles is a good idea at all, maybe you could introduce 2 states of the rock: solid and shattered. In that system, you'd have to first crush a rock with a drill or a shattering beam and then scoop it up with a gravity beam.

Kaiser-Indrasil commented 4 years ago

While this is not strictly an answer you are looking for, it addresses some of the issues at hands indirectly. Namely, gas mining. The atmosphere of gas giants (uneven distribution to make prospecting for mining sites a profession) could be the source of fuel you'd have to "inhale" with your ship, compress in the gas tanks, and transport to an industrial space station in a gas freighter (transferable gas over pipes? detachable gas tanks?) for processing.

Brushes2 commented 4 years ago

Hmm, Not sure what your plans are for cargo manipulation are but I'd love to see actual physical assets. It's a bit ambitious, perhaps... Starmade does it by having 'cargo zones' designated in the ship and they fill and dissipate with artificial block representations of your cargo. They always appear as boxes though so it's not great but at least there's something tangible and not purely 'magic' system. Star Citizen, I believe, has actual cargo, in that, if you're hauling a bunch of rocks, you actually have a bunch of rocks in your hold.

Anyway, on that note, an alternate system of mining could be station based? Ship goes and scoops up, or otherwise hauls, an intact asteroid back to station where there's large grinders and/or furnaces for processing. Lasers or explosives could be used to break apart larger asteroids for easier hauling.

An alternate drilling method could be 'resonance drilling'. It's a process where the tools vibrations are adjusted to the rocks natural resonance which causes the rock to fragment much more. Might be an interesting mining process to implement... adjusting your outputs to maximize yield.

Methods observed in games so far:

I feel that the mining process itself is less important to fun gameplay, and instead, skill based processes leading to it and managing it should be focused on... i.e. finding asteroids, scanning for ores, optimizing tools for mining yields, avoid damaging ship or equipment, etc etc. This way the gathering process is less repetitious.

Kaiser-Indrasil commented 4 years ago

https://www.youtube.com/watch?v=NyZURpzzbfA

Here is an example of very satisfying prospecting system. You drill the terrain without damaging the voxel grid to find what's directly below you in search for ore veins.

In Starship Evo's terms I imagine we could first have some kind of wide-spectrum radar-like device on-board that we would scan the asteroid belts with. It would give a general location of vaguely interesting rocks but wouldn't tell what minerals they keep inside. For that you'd need prospector probes in the form of drones (short drill) or an on-board long prospecting drill. That would provide you with info on both the location and kind of minerals held within.

Whackjob commented 3 years ago

I have a suggestion. One of my favorite mining methods was from a game called Firefall. You basically called in a mining drone that was fired via cannon. It would slam into the ground, then open up and start mining. It had a pneumatic ram to it that would make loud thumping noises. Thats why they were called thumpers. Anyway, in that game, the thumping would bring waves of enemies, and you would have to defend it to let it complete the mining. No practical here, but i have a better idea.

Engineering. As the drill unit works, it slowly reduces output due to wear and tear. Then you have two options. Send out many at once for parallel work, or stay at one, and perform maintnenace and fine tuning, increasing the output greatly over time, at the cost of time and active attention.

And of course, pirate activity should be a concern.

Perhaps we could even build our own thumper. You could add modules that increase output but require constant attention, or streamlined trash drills meant for parallel work.