Closed rubenwardy closed 5 years ago
Jetpacks that grant fly.
I think a portal (*cough* https://github.com/minetest/minetest/issues/6996 ) would be the simplest method, and the most MC-like (it'd be logical to players). However, a rocket entity would be much more interesting. We could add a control console that checks for a specific block configuration when placed, and spawns a rocket if it matches. Rockets technically only need to go up, so the physics wouldn't be too bad.
This is big and will need a lot of engine changes. Making MT 'do space' (and alien planets) is something i am very interested in, see my 'moonrealm' mod which has vacuum nodes that drown you and that spread through and replace air nodes.
I have an engine issue https://github.com/minetest/minetest/issues/5725 for defining any node as the 'air' node in biomes, however coping with that will be difficult, the engine expects empty generated world to be 'air' in very many places. However if we just use 'air' for space then we don't know when to damage players and there is no fun in creating sealed space bases full of 'air'. So i think custom 'air' nodes have to be used.
That issue also suggests 3D limits for biomes, easy to do and allows small planets each with their own atmosphere nodes and biome systems. These planets can be cubic and won't have to be stacked flat realms, then spacecraft can fly between them.
After that we need a core mapgen that actually generates a moon or asteroids or whatever, it can't be Lua mapgen.
I really like the idea of building NASA-style rockets with cool animations and stuff. Issue is that a straight movement of the rocket would be subject to block loading. You could make the rocket go the first 100 nodes then teleport to some temporarily location where the player just sees fire outside the windows, from the atmosphere. Then for the last 100 nodes it teleports to space. This feels intensive though, and might be better as a mod. Depends on how well it works You would probably need engine changes for map loading
And, yes I was intending on proposing a vacuum node. I thought the engine already supported custom air nodes though, is it just the mapgen that doesn't?
Minetest is supposed to be a game engine, and I don't see that a space biome would be particularly expensive. Just a bunch of 3d noises
Having "real_air" nodes above the space limit for air, and "air" for vacuum could work without too many changes to the engine. However, the vacuum/air physics might be expensive, and this needs to be checked. One solution would be to extend the flexibility of the engine to support this kind of physics. It will probably be quite complicated, though.
I like this idea and do not think it needs to be that realistic, at least to begin with. The simplest approach I can think of is to simply generate only 'vacuum' nodes above a certain height, these could suffocate the player and extinguish torches just like water. The sky could go black and the player would be granted 'fly' but would need some form of oxygen supply to survive long.
Surely any future 'space' mapgen can just treat those as 'air' or am I overlooking something?
I originally read this literally as adding a simple void and the original post did not really mention asteroids and what-not other than in the link. I guess something like that would be a lot more complex and involved.
However, even something like the simple 'space' idea I describe could add a lot of new possibilities for gameplay like building space stations and finding interesting ways to get there :)
One of the first things I did when I started running a server was look up and ask myself "what goes there?", because something needed to. other_worlds was my answer, and though I don't feel it's suitable for MTG as it is, it probably has many of the elements it would be good to have. (I'm obviously biased, since I made it to have what I wanted.)
I don't see that a space biome would be particularly expensive - Other Worlds doesn't appear to be.
OOM is possible with the other_worlds mapgen, though extremely infrequent and it could probably be eliminated with some work. I've simply chosen not to adjust it due to < reasons unrelated to this >. I'm fairly sure more efficient space mapgens could be created.
I'd love to see the introduction of vacuum and the ability to set air node per biome. This would also have potential use in the game I'm working on.
The problem with rockets that just go up is that you might also need to go to the side? Plus it's really, really far to travel. This is where I see mese potentially having a meaningful use. Some kind of teleporting feels like an option, but I don't really have strong feelings.
A custom air node per registered biome is an idea that hmmmm and i agreed on long ago. Easy to add but the difficult part is the rest of the engine coping with that. However an alternative is to let the game handle that in Lua using callbacks on dug nodes etc. See my 'moonrealm' mod, for example, every time a node is dug it searches for a neighbouring face-connected airlike node and the void is filled with that node. That mod has sorted out most of the issues but implemented them in Lua.
Vacuum (or any alien atmosphere) has to spread slowly through air nodes to be a hazard needing protecting against this requires an ABM. Multiple types of alternative atmosphere or vacuum nodes are needed to allow multiple alien atmospheres, plus vacuum, plus uses in normal biomes like poisonous air.
A Lua mapgen is not acceptable, any space realm interesting enough will have stuff to visit. Lua mapgen runs in the server thread so you will create heavy server load. Less powerful devices will be even slower. I can't imagine empty space being interesting enough. officially using Lua mapgen in Minetest is unacceptable, many know that any Lua mapgen causes problems on a server, for example when many players are exploring at once.
Mgv7 floatlands could be customised to create a flat layer asteroid field, apart from that no other core mapgen is able to create a separate realm of things high up.
A vehicle doesn't need to go super fast, it can just be another flying vehicle that can navigate in 3D (not just straight up) so it can fly around and visit asteroids etc. In MT the scale of everything is shrunk, and the speed of vehicles is also smaller than realistic. So travelling in space from point to point will take a fair amount of time travelling at a speed the engine can cope with, for example 16-20 nodes per second.
Space vehicles can require crafting from many stages of components that need many precious ores, there's no need to add a complex 'technic' or 'mesecons' style industrial system, which would be too complex and intensive for MTG anyway.
I very much do not like any sort of 'faked' movie-like space experience as in MC, MC does space badly because they don't have the vertical height to do it properly.
Zero custom gravity isn't practical, more practical would be a very low gravity so that you can come back down after jumping. A flat asteroid realm would be suitable for very low gravity.
//////////////////
Allowing MT to 'do space' is a central part of celeron55's vision http://c55.me/blog/?p=1491
"Keep the common base (the Minetest Engine) as universal as possible. I like to compare everything that goes into the engine for how well it suits a gravitation-less space game without ground surface. If everything is either disableable or suitable for such, then it gives much more freedom for people to experiment and create interesting things, even in ground-based worlds."
I was always intending to work on the engine to make space more possible. I have a big vision for MT doing space enginewise that involves a new mapgen (different to watershed). If space was done in MTG before then it could only be in Mgv7 using floatlands and a lot of Lua code for atmosphere management etc. (essentially 'moonrealm' mod plus floatland core mapgen).
I have quite strong views (in terms of mapgen, travel and vacuum) on how space should be done, because i am so interested in it, and my interest will vary depending on the approach chosen. I would prefer thorough engine work is done first to do this properly.
Random transportation idea. In-keeping with the 'alien origin' concept of mese, why not spawn extremely rare UFO's which needn't be that fast and should not be any more troublesome than boats or carts.
A gas is a particular case of fluid (even though in common usage "fluid" is wrongly understood as synonym of "liquid").
Maybe it would make sense to have "gas_source" nodes that spread evenly in all directions (including upwards, maybe have a "range_y" for different densities). So pockets of gas can be implemented that way reusing the already existing liquid logic.
If you need space, you need T E C H N O L O G Y introduced, machines that work with metals, electronics, fuel, jetpacks, spacesuits, etc
Yes but it doesn't have to be a complex industrial system, this is MTG after all. My moonrealm mod was planned to do everything simply, i was going to add some solar panels and machines that process moon dust into oxygen, silicon and glass. All machines were crafted from the usual ores (except coal of course). Ores and water is why you need asteroids and comets at least. This all requires a lot of work, in space you need to add a whole extra survival experience, big job and there is still much to do in the normal realm especially underground.
No reason for a vacuum node. Use air, but if you want vacuum have your mod detect for altitude and effect mobs based on that. Gravity is different but a limited sort of flying might manage things. Fluid nodes are going to be more complex. I would probably just have them dissipate in space.
Apparently clay is common enough in the outer belts and some bodies could be iron. One simple advantage to building a tower of babel would be to get iron.
The existence of carbonaceous chondrite in the belts justify, something like coal, sulfur, silica and oxygen mining . Needing to mine and extract oxygen adds a new dimension to a survival mod. A few new ores and a few blocks of iron thrown in can make space a nifty place to explore. I see large bodies like the moon being dangerous all on their own. You can fall to them. Smaller bodies in a belt are the things to prospect!
No reason for a vacuum node. Use air, but if you want vacuum have your mod detect for altitude
Can't have space bases with breathable air that way. So no fun with building sealed bases and installing air generators.
Adding outer space makes a lot of sense with Minetest, considering the ridiculous amount of vertical space that Minetest gives you to play with. Even if I don't like vertically stacked dimensions for multiple reasons, at least the idea of flying into space to find some asteroids would be cool.
(While we're at it, simplistic Kerbal Space Program-esque rocket and airplane building wouldn't be bad either...)
Plus, if we're looking for a way to make Minetest look less like Minecraft, a Sci-Fi theme rather than a Medieval theme would be a nice change.
I know this isn't necessarily supposed to be realistic, but I think an atmosphere/ozone layer dividing space and the "Earth" would be cool. The player would be vaporized if they get too close, and thus require some method to get through it. Just a thought.
Since vacuum nodes will spread through air nodes, we would need some kind of border of another atmosphere node type that prevents vacuum spreading across.
Ladders will do. they make great airlocks. :) I personally prefer vertical stacks of ladders. The ones braced against walls are very inconvenient. ;) I cannot tell you how many times I would have drowned if it had not been for a trusty ladder.
On a serious note, a breach should blow you out of an airlock. You should maintain velocity on a jump and float further and further away until you hit atmosphere and burn up on entry. With those elements, space will feel a bit more like space. Despite being burned, I think your bones should end up where your dead body hits ground.
On Thu, Feb 8, 2018 at 3:24 PM, Paramat notifications@github.com wrote:
Since vacuum nodes will spread through air nodes, we would need some kind of border of another atmosphere node type that prevents vacuum spreading across.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/minetest/minetest_game/issues/2042#issuecomment-364253010, or mute the thread https://github.com/notifications/unsubscribe-auth/AhKYHipUVYs3TamPy3eUtYfhCCE3arngks5tS2YTgaJpZM4R7B5F .
Since vacuum nodes will spread through air nodes, we would need some kind of border of another atmosphere node type that prevents vacuum spreading across.
Aka airlock trapdoor
Since vacuum nodes will spread through air nodes, we would need some kind of border of another >>atmosphere node type that prevents vacuum spreading across.
Aka airlock trapdoor
A planetary-sized airlock? :P We are talking about the border between the overworld and space.
I see several possibilities worth exploring. What if air and gravity are similar to light? If gravity radiated like light from some objects, then small planets would be possible. If some objects are not transparent to gravity then other odd things would become possible. If gravity has a larger radius than light, then deadly drops in other directions become possible.
If air was a radiated field like illumination is, then your air plant could be a plant. To have a plant survive in space you could make a plant tank. Glass, Meselamp, Glass Water Aquatic_Plant, Water Glass, Dirt, Glass. Like a protection block, this could allow breath within an area.
Water and fluids introduce a lot of issues to space. I leave the faucet on up in space and remote grief may take a while before it hits. Lava adds even more issues.
I think gravity is the place where huge variations in desired outcome are possible. If gravity accelerates to a point and there is no drag in space, then orbits become possible. How cool is that?
Those are engine issues, also let's not get too far ahead with specifics, the very basics are still a long way off.
So lets start on basics
Although, as you know, i am a huge space fan (see my mods) i actually disagree with trying to add such a huge feature to MTG. It would require space vehicles, a hi-tech crafting tree, management of vacuum nodes (tricky), and lots of lua mapgen code which will cause significant server lag on servers. Lua mapgen cannot be used in MTG, and it would be needed just to place vacuum nodes. The engine doesn't have the features necessary for high-performance mapgen for space worlds (although i am considering that). No mapgen can create asteroids or planets.
Also, i feel the feature is too nice to add to MTG, it deserves to be in a new game, or actually be a new game. This would divert huge amounts of effort away from new games. I feel MTG should only be a basic world with resources, to be used with mods. I feel space in MTG should be an optional mod, being such a specialist feature. :-1: (sorry, and it's weird to thumb-down space).
Minetest Game currently doesn't use much of the vertical height limit. Adding a space zone is a good and logical way to use up higher altitudes.
Adding space will also encourage better physics eventually in the engine, as it doesn't support weightlessness particularly well. Until then, players could be automatically granted fly.
Things to think about:
Implementations
The best mod I've seen so far is other worlds.