I've managed to put in the changes discussed in the previous post surrounding system level data. They are now stored in thrift format in the database instead of discrete rows. I changed from protocol buffers to thrift since the support for C# was better in thrift and I liked the generated code better. This change has substantially reduced the size and number of rows in the database.
I've also been working on the ship customization logic and the combat simulation logic. We are thinking that we will provide two methods of playing the game:
- Basic Mode: All ships are pre-configured and everyone has the same ships. Research will improve each ship class without hand editing. You will not be able to modify your ships in this mode. Research will also open new ship types.
- Advanced Mode: A set of pre-configured ships will be available from the beginning, but you will have full editing capability for the classes. Research will open new modules for your ships and will upgrade existing modules. (Similar to how basic mode plays). However, use of the new modules will require you to edit classes of ships to include them.
The ships will have to dock on a owned system to get their upgrades / class edits. When editing a class, all ships will upgrade to the new class specification when they arrive at a owned system. If they are already at an owned system, they will be upgraded immediately BEFORE departing from the system. This stops people from editing their ships while they are in motion to do combat, although it doesn't stop you from editing your ships that are in defense around a system. (Yet another boon to defenders).
Hopefully I'll get more time to work on Galactic Usurper this month versus the past 4 weeks. I'll be sure to make a post here at least monthly to keep people informed of the game.