There isn't too much to report, so I"ll keep this brief. But I've completed the first phase of generating the data that the game needs to be a game. Once the client sends up the galaxy map to play, the server will now create the statistics for the various systems in the galaxy.
Right now, we only have 3 types of systems that are generated. But the logic is based on data tables, so it is just a matter of filling out some additional data to expand the capabilities of the game.
For now, we have:
- Systems that have an average "yellow star" and a set of "sol like" planets.
- Systems that are comprised of a star and a black hole (more on this in a later post)
- Systems that will be the "home world" systems (all of them identical except for placement)
I'm still working out the data storage for these. Originally, I used a normalized schema in the database for this data. I was also generating the planets server side and storing them and their orbits, but with 1000 systems per game and an average of 10 planets per system it was getting a bit heavy handed.
I decided that planets are cool, but really just visual data. Therefore, I'll be working on generating those on the client instead. The server simply knows how many of each major class of planet there is so it can calculate production rates correctly. That drops my row count by a factor of 10 or so.
Since we need all the systems 90% of the time, I'm also toying with storing the systems in a BLOB or CLOB of some sort instead of as separate rows in the database. I may even try out the new postgres JSON type. If this works out in the next round, then we will have a game taking up about 5 rows of data instead of around 1005.
The other issue is that I have to store each player's "view" of the galaxy to handle the fog of war properly. Therefore, that 1005 number was about to explode by 20 (the maximum number of players per galaxy) and that is simply unacceptable to me. So, a minor? re-factor is in order to keep the data from becoming unmanageable.
For now, this code isn't released to our site. Until I get the data under control, I'd blow away the 10,000 row limit I have on Heroku, so I have to figure this out first. As such, no new media or anything to show off this time. So I'll keep this post on the down low, but I wanted everyone to know that the game development continues to march on.
In addition to those types of star systems, I need to work out the pirate or cabal bases and the empire strong holds. Those will pay a key role in the game moving forward. So we will have more details on them as we explain the goals of the game itself.
I'm also nearing completion the initial design for the "in-game" screen. There is a lot of work going into this screen (compared to the others) since most of the game play takes place here. I think it is also the most fluid of the screens since it will change as I get feedback from all of you when you finally get to play! I'm not quite ready to tackle developing it yet until the galaxy is populated with a bit more data, but I'm anxious to get to a playable state sooner rather than later.