2024-09-11
Greetings! Welcome to my second ever developer log! It's been a long... long... time, so let's catch up!
Asteroids in my previous release were looking like an afterthought, rather than the centerpiece of gameplay. The rings were thin, and the asteroid counts were so low that you could erase a planet's entire ring in minutes. I have spent a good chunk of time reading and looking for solutions to create natural looking rings, and eventually ended up on Godot's OpenSimplexNoise class. Generated asteroids now use noise to modify their distance from the ring's center. It was very easy to implement and the result is a nice even spread of asteroids across the entire ring.
I would like to come up with a solution for preventing asteroids from overlapping. The method for spawning asteroids does not account for asteroids already occupying the chosen space. The overlap looks cheesy, and ruins the look of asteroids all being on the same layer.
I feel silly for not looking into noise sooner! It opened up many possibilities for how I wanted to depict objects. I started to go a litte nuts with noise.
I tried plugging noise into other elements of asteroid generation. Asteroid polygons were generated with the exact same method. Boom. Procedural asteroid variations. Asteroids actually resemble rocks now. Wait, aren't solid planets basically huge rocks?
You can guess where I started experimenting with noise next. I had been struggling to settle on a depiction of planets. They were looking extremely out of place, being the only objects in the galaxy that were '3d'. I was also very bored with them because they were nothing more than backgrounds to look at. Generating a planet polygon from the asteroid method was the secret ingredient I didn't know I needed. Not only do they now match the 2d vector art style every other object follows, but they can be solid foreground objects! I added the gravity fields back in and now we have varied planetary landings! A whole new gameplay element where there was once nothing!
Spent some time mocking up foliage, and I think these new planets are way more interesting to explore and look at.
I want to create more planet foliage, and continue to create more complex spawning patterns. Currently the foliage spawner places them randomly around the planet.
NPC work has been started, but I would like to move it further along before showing it off here. I am struggling to implement a method for controlling NPC states.
Thank you everyone who has taken interest in this project. I have been spending more time learning programming concepts and rewriting the foundations of this game than I have documenting my progress. I am hoping that changes soon as I get closer to putting out what I would call an alpha build. If you have suggestions or features you would like to see in Void Voyager, please reach out via e-mail!
-ryann