Databases and integration


While planning for the basic characteristics of the game, I mostly put emphasis on the ship creation, how combat and ship actions worked and trading. However one thing that completely went over my head are the planets themselves. I plan to make 3 different solar systems with many planets and moons, so you can imagine the amount of work needed to make each planet.

Test Environment

I put a giant blue sphere as a scale reference
Now, if I made every single planet just a CSGSphere it wouldn't look very good. Sure, it would get the idea across, just very lazily and simple. While pondering a little harder, making every single planet by hand would take a LOT of time. Considering I'm making this game in my time off real life and work, I'm never going to finish this one project!

That last paragraph did not come into my mind until after I started writing down each planet and moon and how they looked and the civilization types in those planets.

List of Planets and Moons

Alexandros is the solar system you spawn in, already looks like a lot of work
While writing the characteristics of each planet, it came to my mind that I could just fit these into a database and generate each planet and moon procedurally. I could also do the same for Items without having to awkwardly cram them as Godot Resources. I then started to work on an SQLite DB and added 2shady4u's Godot-SQLite Wrapper


Another thing that came to mind while creating the tables and DB schema is how this could be used to facilitate modding for my game, users could add new items, planets and solar systems into it while the software itself interprets the data and includes the processed data into the game

After this post, i'll fill out the rest of the Items table and get to work on the Planet Interpreter, it will just read the contents of the Planets table and procedurally create the moons and planets based on their color, distance from the sun and texture index stored in that table.

Leave a comment

Log in with itch.io to leave a comment.