A person commented on my change from stacked ships to single ship system, and I was about to post a comment providing explanations on why I changed it when I had a thought. (The post is here)
Originally, the reason why I changed to single ship was due to diplomacy/reserves/space races/population transportation in individual ships/some other reasons that I've forgotten. I also wanted to have a X-Com-esque combat where if you miss, it physically miss and can hit another ship (even a friendly ship), allowing for fantastic technologies.
However, when I started to explain that, I realized that the biggest goal of Beyond Beyaan is to make it moddable, and that means giving more options to the players. So I thought about what would require to support either single ships or stacked ships.
Inside the game code, there'll be minor changes (a boolean value indicating whether or not the game uses stacked ships) for handling fleets, nothing too major. However, the biggest "design" and "UI" changes will be as following:
The UI will need to display the ship number, and a slider for selecting amount of ship for fleet UI. Single ship system will use the current fleet window. So I will need to add a new fleet window class that's for handling stacked ships.
Single ships system can have their components damaged or destroyed, requiring repairs (basically refitting), while stacked ships can't have this due to simplified UI. So stacked ships will act like MoO 1's, all components working until hp hits 0. Then that ship is destroyed, and the next damage will apply to the next ship in the stack. However, you can still upgrade/refit ships in both systems.
Firing weapons (this was one big reason for me changing to single ships) will result in a "stacked" fire. This means if you have 100 scouts, each armed with 3x laser cannons, the stacked ship will fire three times, with 100x damage each firing.
I will need to add "streaming" support, in that if a weapon is streaming, it carries over leftover damage to the next ship if the current ship is destroyed. In Single ship system, this will mean that the weapon continues on its course with leftover damage until it hits another ship or leaves the combat field.
However, all of those changes don't require a lot of work, but will make more people happy (if they want games with stacked ships, they can choose that, or choose a game with single ships). I will add "gameConfiguration.xml" that sets whether or not a mod uses stacked ship, as well as if technologies are removed from a field when one technology is researched. In-game options will be minor options that affects small things, while gameConfiguration.xml will contain major game-changing settings.
I will add this after I'm done with the screens and saving/loading games, but before I add space combat. When I add space combat, I will have both systems implemented and ready for me to test them both. That way, I will avoid coding in a way that will restrict me from adding one system or another.
This isn't a result of me being unsure on design for my game, this is a result of me trying to make the game more mod friendly. My fear is that there may be no other turn based 4x games anymore, the trend is real time 4x. I want to provide a game that allows people to create their own 4X games without having to develop everything from scratch. I hope that this will make people happy :)