Advanced-Rocketry / AdvancedRocketry

Space mod for minecraft
http://arwiki.dmodoomsirius.me/
MIT License
216 stars 274 forks source link

Suggestion: Seeing other ships/space stations, site-to-site transporters, weapons and sensors. #1455

Closed Peppernose145 closed 4 years ago

Peppernose145 commented 5 years ago

I have a suggestion:

What if you could rendezvous with other ships? It would be cool to see other ships. You could arm your ship or station with weapons, whether lasers or torpedo launchers, and engage in battle with other ships or stations.

Weapons:

You could arm your ship with projectile weapons or energy weapons, lasers/phasers, torpedo launchers, rail guns, and mass drivers.

Defense:

A shield emitter would be useful, so a ship/station could defend against attacks with the weapons described above. The shield generator requires a lot of power to generate an energy field, and that field can be weakened by powerful attacks. Shields with more power would be able to regenerate faster, however there will be limits. There could be multiple classes of shield, with Mk1 being a basic shield generator, Mk2 a stronger one that requires more power, Mk3 even stronger with higher power demand, and so on.

Transporters:

What if there were transporters that you could use to beam to the other ship/station? The transporters would have limited range, and you'd have to specify coordinates, so you don't get beamed to space. You also can't beam through shields, self explanitory. The transporters could even transport to an area on the planet within range.

Sensors:

You could scan for ships/stations, energy sources, electromagnetic anomalies and disturbances, even types of blocks in the scan area. Accuracy could be limited by interference by sources such as radiation, strong magnetic fields, or dampening fields from other ships.

Possible way to implement:

Seeing other ships:

You could have the game's XYZ coordinates of the ships stay the same in the Space dimension, but have a seperate coordinate system for space coordinates, so that multiple ships could be near each other visually, but the starship mechanics don't end up affecting the other ship. For the visual component, you could have it render the other ship using a similar method you used to render the planet you're orbiting in the skybox.

Weapons:

It should be easy, you could have an entity or tile entities act as beams from energy weapons, and you could use an entity to act as a torpedo or a chunk of metal from the mass driver.

These features would add a great deal of depth to the interstellar travel aspect of the mod.

It would be good to see your opinion on these suggestion if you care to reply.

@zmaster587

C1ffisme commented 5 years ago

What if you could rendezvous with other ships? It would be cool to see other ships. You could arm your ship or station with weapons, whether lasers or torpedo launchers, and engage in battle with other ships or stations.

I'm certainly interested in seeing the mod get to this point, although aren't we getting a little ahead of ourselves? I'd be happy to just see space stations visiting other space stations.

I actually have my own proposal for how space station encounters could work without requiring too much more coding or RAM, but I'll get to that later.

You could arm your ship with projectile weapons or energy weapons, lasers/phasers, torpedo launchers, rail guns, and mass drivers.

Would these weapons destroy blocks or would they simply kill players? I definitely think the former sounds cooler, but on the other hand, it seems like it would be hard to build ships that withstand attacks without the mentioned defenses, while still keeping a sealed air-tight environment for breathing.

A shield emitter would be useful, so a ship/station could defend against attacks with the weapons described above. The shield generator requires a lot of power to generate an energy field, and that field can be weakened by powerful attacks. Shields with more power would be able to regenerate faster, however there will be limits. There could be multiple classes of shield, with Mk1 being a basic shield generator, Mk2 a stronger one that requires more power, Mk3 even stronger with higher power demand, and so on.

I'm not really a fan of the different tiers. While tiers are common in modded Minecraft, I think upgrades or something similar would work better than different shield tiers. Would the field affect the whole ship or only a small part?

What if there were transporters that you could use to beam to the other ship/station? The transporters would have limited range, and you'd have to specify coordinates, so you don't get beamed to space. You also can't beam through shields, self explanatory. The transporters could even transport to an area on the planet within range.

I don't like teleporters that can teleport to any coordinates, that seems a bit cheaty and easy to exploit when other mods are involved. (For example, you might be able to skip solving the maze in the Twilight Forest.)

I do think teleporters to other teleporters like the old Thermal Expansion or Galacticraft ones are good, since they require a player to access that area before teleporting there. It also avoids a player teleporting under the ground or inside a mountain.

You could scan for ships/stations, energy sources, electromagnetic anomalies and disturbances, even types of blocks in the scan area. Accuracy could be limited by interference by sources such as radiation, strong magnetic fields, or dampening fields from other ships.

I like the idea of cloaking a ship from other ships, and I think that'd go well with my proposed ship-to-ship interaction:

When orbiting a planet, you can see any non-cloaked ships orbiting the same planet. You can select another spacecraft and warp to it. The skybox is still rendered as usual, but now there is a map of a spacecraft rendered above or below yours. (This would use the same rendering code used by maps from Vanilla Minecraft.)

Falling below y=0 or rising above y=255 would send you to the ship below or above you respectively. Space Elevators can send a player in-between ships as well. If the guidance chip is taken out of a space shuttle, the shuttle will default to launching to the space station above/below.

Sadly, station to station combat will not really be possible, but attacking with vertically launched ships (not implemented yet, but I want them to be) or hand-to-hand combat will be possible.

This implementation, while not entirely satisfactory (and I can think of other ways to implement this), doesn't require too much redesigning of Minecrafts' deeper mechanics or require large quantities of RAM or CPU power.

github-actions[bot] commented 4 years ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 90 days