Would you call breathing an aspect of RP?

    Joined
    Jun 27, 2013
    Messages
    896
    Reaction score
    166
    Yes, but if we have it as a check for A) A life-support system on the ship AND B) a seal, not a block, for the room to be safe, we wouldn't have the issue of oxygen blocks. Just have the setup check for a seal every half second or so and if the room is sealed, EG no room exposed to space, or the area "outside" the ship entity, we wouldn't have the issue of block interference. If the room is sealed at the check, it's habitable and you don't take damage.
    Agreed, no need to recalculate every tick; and even in the case of explosive decompression, IMO it would be realistic enough for game purposes if the check only happened every few seconds, if that is required to avoid lag.
     
    Joined
    Jul 7, 2013
    Messages
    472
    Reaction score
    156
    • Purchased!
    • Legacy Citizen 4
    The reason as to why do it is to
    A) Give the helmet a use, B) make ship interiors and airlocks use, and C) allow for a more serious consequence for having holes blown in your ship.
    With regards to A & B, I don't think the sole purpose of introducing atmosphere should be to justify the cosmetic appearance of something already in-game. It should e done in a way which *adds* something to the game-play.

    As for C, if everyone just leaves their helmet on all the time then there's no consequences. It's not like wearing helmet hinders the Player in ay way.
     
    Joined
    Sep 23, 2015
    Messages
    21
    Reaction score
    3
    Doubtful due to the probably processing requirements needed to constantly calculate whether or not a "room" is "sealed".
    Yes, but if we have it as a check for A) A life-support system on the ship AND B) a seal, not a block, for the room to be safe, we wouldn't have the issue of oxygen blocks. Just have the setup check for a seal every half second or so and if the room is sealed, EG no room exposed to space, or the area "outside" the ship entity, we wouldn't have the issue of block interference. If the room is sealed at the check, it's habitable and you don't take damage.
    Seems like the Devs may have thought of that. Not for sure. Of course they may have thought of all this stuff.

    ***
    Lots of people are comparing this to Minecraft. While Minecraft and Starmade do share a few similarities. That doesn't mean what works in one game will work in another. They are using two completely different engines.

    Minecraft even has a "airblock" I am not for sure why it is there or what exactly it does. I have read them reference it on many occasions though. Such as when the world height was adjusted to 256. While the height was adjusted no new airblocks were being place. They found it to be to CPU intensive if the world had airblocks clear up to y256. They kept it so that they would only go up to the old max height of y128. Though any air blocks could still be generated above y128 by players actions.

    Just thought it was interesting that games that seem to handle something Fairly well. Might not at all. That something as simple as a air block might not be all that simple as far as the engine is concerned.
     
    Joined
    Nov 16, 2014
    Messages
    450
    Reaction score
    113
    • Legacy Citizen
    • Purchased!
    • Community Content - Bronze 1
    Agreed, no need to recalculate every tick; and even in the case of explosive decompression, IMO it would be realistic enough for game purposes if the check only happened every few seconds, if that is required to avoid lag.
    Yes, I agree there. It takes about a minute IRL for a person to die of vacuum exposure, so the check could happen every minute or so and still be fine.
    [DOUBLEPOST=1443710179,1443708304][/DOUBLEPOST]
    With regards to A & B, I don't think the sole purpose of introducing atmosphere should be to justify the cosmetic appearance of something already in-game. It should e done in a way which *adds* something to the game-play.

    As for C, if everyone just leaves their helmet on all the time then there's no consequences. It's not like wearing helmet hinders the Player in ay way.
    As for C, make the helmet only have a limited oxygen supply before it stops working. You'd have to top off your O2 supply by taking off your helmet in an oxygenated environment, be it a planet, shop, ship, or space station. In regard to A and B, it would add another level of realism to the game, as you are playing as a human. Humans need oxygen, plus it would make more targets for attack and defense, making battles and attacks even more in depth and strategic. Add more critical systems, you've gotta defend them, and take them out to force your opponent to withdraw. It can make it more fair for smaller ships versus bigger ships, if you think about it from the mosquito's point of view. Bite them in the right place, they might pause to scratch. Although more point-defense can help mitigate this.

    Lots of people are comparing this to Minecraft. While Minecraft and Starmade do share a few similarities. That doesn't mean what works in one game will work in another. They are using two completely different engines.

    Minecraft even has a "airblock" I am not for sure why it is there or what exactly it does. I have read them reference it on many occasions though. Such as when the world height was adjusted to 256. While the height was adjusted no new airblocks were being place. They found it to be to CPU intensive if the world had airblocks clear up to y256. They kept it so that they would only go up to the old max height of y128. Though any air blocks could still be generated above y128 by players actions.
    Minecraft's airblock is so cpu intesnsive because of the sheer mass of blocks needed. If I'm in a ship, that's a whole lot less than is needed for an entire world, even when you add in all the ships with life support. That would cut out a lot of the lag. And on procedural generation, you would only load the chunks with people in them, so there's even less blocks to load O2 in.
     
    Joined
    Jul 7, 2013
    Messages
    472
    Reaction score
    156
    • Purchased!
    • Legacy Citizen 4
    As for C, make the helmet only have a limited oxygen supply before it stops working. You'd have to top off your O2 supply by taking off your helmet in an oxygenated environment, be it a planet, shop, ship, or space station.
    I can see problems with this for the way the game runs at the moment, mainly the fact that the Player's initial spawn point is outside a Trading Guild Space station, in a vacuum. If you give the helmet a short enough oxygen reserve to make decompression during spaceflight a problem (e.g. 5 minutes), then you limit the time a new player has to build a sealed ship with a breathable atmosphere before they choke to death. Not a great intro to the gaming experience. The only way around this I could see would be for the game to limit spawn points to inside Trading Guild Space Stations or on green planets.
    Also, all additional structures would have to be built in an atmosphere too. No more spawning a Core in space and spending several hours building a Titan without having to jump back into your ship every 5mins for a quick "breather".

    In regard to A and B, it would add another level of realism to the game, as you are playing as a human. Humans need oxygen, plus it would make more targets for attack and defense, making battles and attacks even more in depth and strategic. Add more critical systems, you've gotta defend them, and take them out to force your opponent to withdraw. It can make it more fair for smaller ships versus bigger ships, if you think about it from the mosquito's point of view. Bite them in the right place, they might pause to scratch. Although more point-defense can help mitigate this.
    I'm all in favour of realism, to the point it doesn't stop the game being fun to play. I'm also in favour of making combat more varied and exciting. If breathable atmosphere can add these to the gameplay dynamic without making other aspects such as ship design too frustrating, then I'm in favour of it. At the moment I don't' really see it doing that. I'm still hopeful of being convinced though :)

    Minecraft's airblock is so cpu intesnsive because of the sheer mass of blocks needed. If I'm in a ship, that's a whole lot less than is needed for an entire world, even when you add in all the ships with life support. That would cut out a lot of the lag. And on procedural generation, you would only load the chunks with people in them, so there's even less blocks to load O2 in.
    Air blocks might be a good way to go. Are people thinking we could place them during build mode, and they'd supply atmosphere to Players stood inside them provided they are surrounded on all sides by other blocks?
     
    Joined
    Nov 16, 2014
    Messages
    450
    Reaction score
    113
    • Legacy Citizen
    • Purchased!
    • Community Content - Bronze 1
    I can see problems with this for the way the game runs at the moment, mainly the fact that the Player's initial spawn point is outside a Trading Guild Space station, in a vacuum. If you give the helmet a short enough oxygen reserve to make decompression during spaceflight a problem (e.g. 5 minutes), then you limit the time a new player has to build a sealed ship with a breathable atmosphere before they choke to death. Not a great intro to the gaming experience. The only way around this I could see would be for the game to limit spawn points to inside Trading Guild Space Stations or on green planets.
    Also, all additional structures would have to be built in an atmosphere too. No more spawning a Core in space and spending several hours building a Titan without having to jump back into your ship every 5mins for a quick "breather".



    I'm all in favour of realism, to the point it doesn't stop the game being fun to play. I'm also in favour of making combat more varied and exciting. If breathable atmosphere can add these to the gameplay dynamic without making other aspects such as ship design too frustrating, then I'm in favour of it. At the moment I don't' really see it doing that. I'm still hopeful of being convinced though :)



    Air blocks might be a good way to go. Are people thinking we could place them during build mode, and they'd supply atmosphere to Players stood inside them provided they are surrounded on all sides by other blocks?
    OK, So we could make it so as long as you're in a core you're fine, that works for that part and for new ships, but if you're outside of your core or in build mode you have an issue. The trading guild stations *COULD* be changed so that they're indoors with the empty spaces being plex doors, and the helmet would be plenty of time to spawn a ship core and zip around, build in build mode. By the time the ship is big enough so that it requires more time to get to the center, EG a cruiser or mother ship, then you should need life support as you most likely have an interior or some form of passageway. Build mode and shipyards would be in their element here.

    My main point on this is that small ships should be fine, you can jump in and out of core simply, but larger ships have more to loose, it takes time to get from the airlock to the core room, it's designed that way to deter boarders and so you'd need a life support to make it around your ship.

    Air blocks, how I imagine them, wouldn't be blocks in and of themselves, they'd be a flag that says something along the lines of "There's oxygen here, no damage being dealt without helmet. That flag would be an effect that filled an entire sealed room with either a life support system (distributor) or piping in the walls to distribute oxygen, could be wireless but make it so that a sealed door or isolated sealed room doesn't get oxygen from another area of the ship it's not connected to. Every minute on the minute the system makes a check to see if a room with life support is sealed. Maybe have the check configurable in the server files. If the room is sealed the room or sealed area (sealed by blocks and shut doors) would inherit the flags (I know that's prob. not the best term but it's all I got.) and the user could be helmet-free in the room without damage to them. If the room is NOT sealed, EG has a door open to space (airlocks), or holes in the wall not covered by solid blocks (sorry fauna), the room does not have the flag and is like space, you are dealt damage so that one minute later you are dead. The area of the oxygen dispersal would be the sealed room, or a maximum cap (you can't have one little block power an entire ship, you can't have one life support block seal an entire ship), so that you can't just have one block and no doors, the block won't generate enough O2 for the entire ship, no safe flag. It'd be a thing that it can seal a max of, let's say, 20x20x20 (8000 blocks) and if the area before a full seal is greater than that, no seal. Some ships would need a lot of O2 generators and distributors and some would just need one generator and one distributor per sealed room. Also on to Pipes: You can connect rooms in a one-way flow path that would make it so oxygen can flow through but the deadly space that is space can't flow back. This would link the two rooms so that one distributor would suffice and can be more discreet, and if one bulkhead is blown out into the deadly nothingness that is space the other room, with the distributor, doesn't loose it's seal.
    [DOUBLEPOST=1443737644,1443736106][/DOUBLEPOST]How I'm kinda thinking of this is how the core produces limited energy and thrust, it could produce limited oxygen but a separate system is needed for larger ships. The larger the ship the more you need.


    Also on a similar (ish) note, you could have two options, one that seals the entire spaceship (more effective for ships, more power friendly, OR a bubble that will create a bubble in space, allowing for the TG shops to be almost entirely unchanged, just pop in a bubble generator and you have a bubble of O2 with a visible edge, maybe a small haze where the O2 ends and the evil deadly nothingness of space begins. The only stipulation on that would be it's less efficant and requires more power draw to keep the O2 at a set distance. The more bubble blocks you have the bigger the sphere of life.
     
    Joined
    Jul 12, 2014
    Messages
    511
    Reaction score
    57
    • Purchased!
    • Legacy Citizen 5
    ... Minecraft even has a "airblock" I am not for sure why it is there or what exactly it does. I have read them reference it on many occasions though. Such as when the world height was adjusted to 256. While the height was adjusted no new airblocks were being place. They found it to be to CPU intensive if the world had airblocks clear up to y256. They kept it so that they would only go up to the old max height of y128. Though any air blocks could still be generated above y128 by players actions...
    Well, in principle a computer program can check much faster for a value then for nothingness in a location if you get my drift.

    I remember in Minecraft you can 'create' oxygen, the mentioned airblock, under water by placing a torch for instance to prevent suffocating. When you do that an airblock is created right above it. In such case you would really need something like an airblock identity because of the water block characteristics to fill up everything around it. ;)

    Greets,

    Jan
     
    Joined
    Jan 25, 2015
    Messages
    964
    Reaction score
    225
    • Wired for Logic
    • Councillor 2 Gold
    • Legacy Citizen 5
    woa eum I just came to check on my thread, seems like it hasn't died at all.

    so I am 75% sure that it is possible because space engineers has an air system and is block based.
    the 25% I am not sure of is size because well.... StarMade is gigantic in block count.
    what about making it like a warp gate system. 1 block controls the air blocks
    every air block must be next to a block, decoration, or other air blocks.
    if conditions are not true block will be outlined with a red color and the generator will only activate if all air blocks are not red outlined.
    maybe make it possible to place air blocks IN certain blocks, e.g. light rod thingy, block of any shape (except cube). etc.
    then give doors this state: "open=no block" "closed=block"
    you can also just do "open=no air" "closed=air"
    any way that the system can detect if door is open or not.
    then if door goes open, the air block will think: ew there is no block there
    meaning that the air generator stops.


    also on a little side note:
    helmet should be an option on the side of inventory something saying: "helmet on" "helmet off"
    because the system isn't working really well as it is right now.
     
    Joined
    Mar 7, 2015
    Messages
    65
    Reaction score
    7
    • Purchased!
    • Community Content - Bronze 1
    What will including breathing actually add to Starmade in terms of gameplay?
    Just came across this thread and found it interesting.
    I like the idea of atmosphere.

    Why?
    Well many reasons.
    For me it makes the game closer to real life. and allows for some excellent ways to die in space (watch the sci-fi movies and read below).

    No air = no pressure (vacuum).
    This means that our internal pressure (1 Atmosphere = 14.7 pounds per square inch of skin or 10332 kg per square metre) will cause our bodies to explode (rapid decompression). Incidently, Google tells me the average person has around 1.5 to 2 square metres of skin. o_O

    Pressure defines the boiling point for water, the lower the pressure the lower the boiling point.
    In a near vacuum, the warmth of our bodies is more than enough to literally boil our blood.

    Just to add an extra way to die in space, the temperature can be very low (is dependant on any source of radiant energy). In shadow it is quite possible to reach the ambient level which is around 4 Kelvin (-269 degrees celcius). You will freeze to death rapidly unless very well insulated.

    So, space provides the possibility to die from freezing, boiling and rapid decrompression, all at the same time.
    :rolleyes:

    Atmosphere is important, at least it is to me. :p
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    This means that our internal pressure (1 Atmosphere = 14.7 pounds per square inch of skin or 10332 kg per square metre) will cause our bodies to explode (rapid decompression).
    This only goes for gases within the human body[mostly lungs]. As liquid can hardly be compressed by pressure, it will not really expand when pressure suddenly drops, its pressure will also drop accordingly. Yes, one's lungs would explode, the eardrums burst, and in case of a cold the nose and face most likely too, but extremities will be fine.
     
    Joined
    Mar 7, 2015
    Messages
    65
    Reaction score
    7
    • Purchased!
    • Community Content - Bronze 1
    This only goes for gases within the human body[mostly lungs]. As liquid can hardly be compressed by pressure, it will not really expand when pressure suddenly drops, its pressure will also drop accordingly. Yes, one's lungs would explode, the eardrums burst, and in case of a cold the nose and face most likely too, but extremities will be fine.
    Oh I wholeheartedly agree Megacrafter127. Liquids cannot be compressed. However there are gases throughout the whole body (blood, guts and to a small extent, tissue) that will expand, form micro bubbles and initially cause excruciating pain, followed by haemorrhaging and death. Thats if the explosive decompression did not get you first (you could breathe out and keep your mouth open to help reduce this - good luck). You will likely find your stomach will vent at both ends during this process.

    Of course, if you have access to vacuum chamber or a space rocket, you could try this out for yourself. I do not however recommend this due to safety reasons.

    Most people do not understand the extreme pressure that is constantly exerted upon us via gravity and the mass of air above us. Sudden removal of this external pressure is really not recommended (except in games).

    Note: As an example of gas in solution, take a cola bottle and then open it rapidly. The gas bubbles appearing inside on release of pressure would be similar to a sudden complete decompression. Reducing the speed of the decompression would help, but that is a whole other story.

    Fun but deadly subject.
    I hope it never happens to any of us for real.
    ;)
     
    Joined
    Jan 25, 2015
    Messages
    964
    Reaction score
    225
    • Wired for Logic
    • Councillor 2 Gold
    • Legacy Citizen 5
    Oh I wholeheartedly agree Megacrafter127. Liquids cannot be compressed. However there are gases throughout the whole body (blood, guts and to a small extent, tissue) that will expand, form micro bubbles and initially cause excruciating pain, followed by haemorrhaging and death. Thats if the explosive decompression did not get you first (you could breathe out and keep your mouth open to help reduce this - good luck). You will likely find your stomach will vent at both ends during this process.

    Of course, if you have access to vacuum chamber or a space rocket, you could try this out for yourself. I do not however recommend this due to safety reasons.

    Most people do not understand the extreme pressure that is constantly exerted upon us via gravity and the mass of air above us. Sudden removal of this external pressure is really not recommended (except in games).

    Note: As an example of gas in solution, take a cola bottle and then open it rapidly. The gas bubbles appearing inside on release of pressure would be similar to a sudden complete decompression. Reducing the speed of the decompression would help, but that is a whole other story.

    Fun but deadly subject.
    I hope it never happens to any of us for real.
    ;)
    my dream just happens to be going to space.... great o_O
     
    Joined
    Sep 30, 2015
    Messages
    11
    Reaction score
    9
    Just another thought:
    With the prospect of designated areas in structures being a possibility in future, maybe a lack of oxygen would render an area useless?


    Also, I am a programmer, and if I was to take on the task of adding oxygen, I would:
    1) make an oxygen computer with oxygen production modules

    2) run the oxygen level algorithm as follows:
    a) run algorithm if "r" was pressed while looking at the oxygen computer (this will hopefully save computing power)
    b) start from the oxygen modules, and fill empty nodes touching one of the module's faces
    c) grow the air bubble for a certain distance (hopefully I shouldn't have to explain what I mean here, but I'm willing to clarify if anyone doesn't understand)

    3) now continually run through the oxygen nodes, and if any of them shares a face with a "void" node (that's where this might break down... I don't know how StarMade's internal workings are laid out, and if there is a such thing as a "void" node) remove the oxygen node.

    4) make an oxygen level indicator above the health indicator on the HUD

    5) give the player's space suit the capability of storing a limited amount of oxygen


    I would imagine that the above solution wouldn't be too heavy, but then again, I don't know how StarMade works on the inside.
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    3) now continually run through the oxygen nodes, and if any of them shares a face with a "void" node (that's where this might break down... I don't know how StarMade's internal workings are laid out, and if there is a such thing as a "void" node) remove the oxygen node.
    There is no "void" node. you only know if a block exists at a location or if there is no block there at the moment. The only additional info would be the bounding-boxes of the entity, relative to the entity's own axes. the pretty much only way to detect a leak would be if the node-iterator places an oxygen node next to the bounding-box' boundry. And as the bounding-boxes can get huge in StarMade, I don't know how much of an option this would be.
    The IMO best option would be to have the nodes form a tree, like you suggested, however, the conditions are changed a bit:
    Doors will not prevent oxygen nodes from being placed within them, opaque blocks will be able to harbor nodes, but nodes within opaque blocks cannot have children. Non-opaque blocks[or other non-airtight decorative blocks(fans e.g.)] are treated as if not present. When a node is placed within a door, no children will be added to it, until no other children can be added to nodes, that are not within doors.
    A node's intermediate status is 'pressurized', if one of the following is true:
    • The node is inside a door, and the door is currently closed.
    • The node is inside an opaque block
    • If all of the following is true
      • It is not at the bounding-box' boundry
      • All of its children are 'pressurized'
      • It has at least 1 child
    The final status of a node is 'pressurized', if the root node's intermediate status is 'pressurized'.

    The final status is used when determining whether or not an area is canonically pressurized. (final status and intermediate status are stored separately, to allow easy tracing when a node becomes depressurized or repressurized)

    Creating the initial node-tree(s) will cost require an extensive recursive calculation, but once it is created, all calls will just have to walk up the tree(s) to the root node(s), not down the tree(s).
     
    Joined
    Sep 30, 2015
    Messages
    11
    Reaction score
    9
    The IMO best option would be to have the nodes form a tree, like you suggested, however, the conditions are changed a bit:
    Doors will not prevent oxygen nodes from being placed within them, opaque blocks will be able to harbor nodes, but nodes within opaque blocks cannot have children. Non-opaque blocks[or other non-airtight decorative blocks(fans e.g.)] are treated as if not present. When a node is placed within a door, no children will be added to it, until no other children can be added to nodes, that are not within doors.
    A node's intermediate status is 'pressurized', if one of the following is true:
    • The node is inside a door, and the door is currently closed.
    • The node is inside an opaque block
    • If all of the following is true
      • It is not at the bounding-box' boundry
      • All of its children are 'pressurized'
      • It has at least 1 child.
    Ah okay. I didn't even think of the repercussions of something as simple as removing a node, so harnessing opaque blocks is a good idea. Nice improvements! :)