Earlier this week, as you may have seen, I got engines and basic physics up and running. Ships can now be pushed around by engines and edited in a nice and speedy manner. The mass of the ship is currently directly proportional to the amount of cubes you have used to build it, so the bigger the ship, the more (or better) engines you will need to get it moving. I also did some work to make sure that blocks can be placed as usual while the ship is in motion.
Now I am working on getting life support working. The version I am shooting for right now is an oxygen generator module that generates oxygen blocks within its radius (barring any obstacles, such as the ships hull). I have the functionality in place but I have once again run into some performance issues. I am currently doing a very expensive depth first search over every block in range to see if it is reachable. I’ve explored a few options for speeding up this algorithm, but I think the best idea at this point would be to add some Event functionality (which I should probably do anyways).
I’ve also switched to a different skybox, as the first one was a bit on the busy and distracting side. Eventually I’ll make more of these, or even have them randomly generated. I’m using Spacescape to generate these, which wraps up some useful Perlin noise functions into a nice previewer and skybox generator.