Pneumagination Cubic Chunks
Okay so for Pneu I’m gonna be going with a cubic chunks system. Its good to have this type of stuff planned very early on before it becomes impossible to do later.
I think one fun (very very later one) idea to implement with this in mind would be other planets. In the pic above you can imagine the green being the standard hills chunks where most generation happens, the two below it being just caves, and then the light blue two completely empty chunks of air (Maybe some clouds generate if I’m being fancy). The darker blue though becomes a zero-gravity chunk. The darkest blue then flips gravity and you now land on the white chunk- the moon. On the X and Y this would generate infinitely like the earth, but since we have cubic chunks it won’t slow down generation time since on the Earth’s surface you’ll be too far away to trigger its generation.
Digging into the moon the next chunk will flip gravity again and you’ll end up on the other side. The next chunk will once again be normal air, then then 4-5 chunks of pure space before gravity flips once again and you land on Mars. Mars will just have 2-3 chunks to explore and you’ll hit bedrock like on Earth.
From a development standpoint this should be stupid simple to pull off as long as cubic chunks work- and all physics just checking which Y chunk they’re on to determine which way they move. The moon and mars would be like a day or two of messing around with more world gen stuff. I wouldn’t have to put anything on them yet either they could just be early on something the player can accomplish and gather some fun items from.
Now, is this worth adding to the game in terms of its overall idea? I think so! One critical late-game thing for players originally was slowly getting enough aliens converted into customers for the nights of the game to have 24-hour service- and this would net you enough chances of rare aliens coming to visit that you’d start getting rare resources to build wacky alien contraptions with to do more physics-breaking stuff.
With adding other planets- maybe this now only happens on those planets instead of earth! Aliens will always be hostile on earth during the night- so surviving is still a key thing into the late game, but now if you travel to the moon and create stores there you’ll be able to collect those rare items. Maybe though the light side of the moon is eternally daytime and its just a good place to build without any mobs spawning- but digging to the dark side its eternally night and this is where you must face extreme survival to conquer getting your stores built.
Traveling to Mars though, idk could be other different challenges in how you run your stores! Maybe days and nights are much longer than on earth and its harder to attract customers without special equipment and resources obtained from the Moon. Maybe Mars isn’t the hardest land to conquer and players can choose which of the two alien worlds to take on first based on what types of equipment they might want exclusive to each.
Either way just like Dimensions in Minecraft this seperates progressional tiers of the game into disctinct locations that can have the fundamental rules of the game flipped on their head to provide more variety on where a player wants to spend their time.
IN actual development news: the terrain is slowly being smoothed out. These are currently applied in 2 layers (there may have to be 3 soon) of 64 different possible outcomes depending on neighboring blocks. Sadly due to the complex nature of how Brushes are coded into the game, it is not feasable to write any automation software for converting each orientation of ramp and such. Each point for each brush on each orientation has to be hand-written.
14 of the first layer has been written and 5 of the second has been. It is extremely tedious- but another day or two and they should all be written down. Annoyingly the second layer has some edge cases where multiple different types of brushes from the first layer could be assigned a second layer block- causing meshes to not be smooth, so I may have to have the second layer given additional code to be hyperspecific about what will cause it to be placed. I think though I can probably give this some leeway and just let very specific setups have extremely sharp edges jutting out. The art style I’ve been going for is all about sharp edges so it wouldn’t hurt to allow the terrain some fun in creating interesting areas.
Also in this screenshot you may notice normals may appear to be scewed. Currently my mesh-split algorithm has something wrong with the vertex-normals portion that averages the correct faces with a single incorrect one. It looks 99% correct but the easiest way to spot it is when going over chunk boundaries. Don’t know how this happens but eventually it will be fixed- thankfully its mostly a non-issue.
UPDATE: Normals have been fixed. Instead of comparing normals after checking every adjacent vertices, I just paired every face normal in the set together and if they matched then found their matching vert. It wasn’t a big deal but I’m now much happier knowing I can wrangle this into being proper and presentable.
I also gave up on the original format of having every block have atleast a 1ft wide surface covering it. This infinitely complicated how many different sets of blocks I had to make and their rules. The current setup has a few small chances for a weird error but its so miniscule now I’m fine keeping the errors in as the terrain already looks great. As seen above all the meshes have been changed into this new setup, alongside I’m finally getting some corners worked out.