Since I have made asteroids to some success I needed a way to place them. I have made that way I think with a somewhat simple method of loading zones.
The idea being that you only load what is in the debug squares. Currently… nothing… Since I was just trying to get the loading part to work nicely. The cubes are only there as a debug shape and will be MUCH larger in the game I have in mind (Probably in nice 1km^3 pieces).
Each cube has a coordinate using doubles so there is not much fear of me running out of space (heh) anytime soon.
Note that the spaceship (green dot) doesn’t “move” but the space does around it. I yanked this idea from other topics on the forum but a BIG shout out to @normen for his infinite zoom universe demo. I started mucking with that and took some inspiration to make this.
Note: the paging library that the IsoSurfaceDemo uses support fully 3D spaces as well. It’s setup to help manage the loading (and unloading) of areas on separate threads, manage the scene graph interaction, etc…
It’s not super well documented but you can see it in action in the IsoSurfaceDemos. So there is at least an example.
Also note that SimEthereal uses a similar zone management system it’s just not (at this point) doing any background loading of objects/scenery.
After making items, armor, and weapons dyeable I felt like I needed to take it a step further. So I implemented a paint brush powered by dyes and now you can’t paint blocks inside spoxel as well.
Playing around with the damage/hit system and got that nice chain reaction if nearby objects explodes. The small lag you see is a video recording issue rather than a real game issue.I hope you like it