TinyPlanets post mortem

You can play the game here: https://ldjam.com/events/ludum-dare/38/tinyplanets (Please rate, a few ratings left to 20!)

squarelogo.png

The game idea came to existence after searching in Google Images for "Tiny Worlds", all these fisheye views inspired me and decided to make a space RTS in worlds that look like these images.

I decided to use SFML and C++, as I'm starting to get experienced with both, and want to keep learning!

Built the "framework" from scratch, started from the renderer for some reason, which required a partial rebuild a little bit later on development. Sadly once I started writing game code, everything became a mess. 3100 of the ~4000 lines of code the game is made of are on a single file o_O Warning: Spaguetti code. This is the result of not planning a project!

I implemented ImGui early on, and fell in love with it, even the default skin looks pretty good! Having such a powerful GUI library made my life pretty easy.

That was pretty much the first day.

Next day I started working on the editor and the music, both came along pretty nicely! The editor was very easy to build as my code was prepared for it, just required some hacks to get my math to work on moving planets. Unlike on my previous games I used not-chiptune instruments for my music, feedback please ;)

I also implemented the basics of "Empires", which you and the AI control. The way I implemented it is a bit weird, could have used OO but didn't!

By the end of the second day you could control an empire, build stuff, but nothing more. The third day was, by difference, the most intense.

The first priority was getting AI working. I decided to build a state machine which updated daily (and changed states every month or when something extraordinary happened). It was able to survive and expand fairly good, in some cases, better than humans...

I expent the rest of the day implementing a few buildings and a not-planned and not-polished combat element. Sadly it's UI driven...

That was pretty much it, I could release the game, and here we are now ;)