I've finished up some code related to production screen, so that it now actually processes the projects and adds the new ships to your empire. I also cleaned up some other code.
When I sat down to do the orbiting code, I played it through my mind. I visualized the players clicking on orbit for each colony ship, and splitting up fleets to orbit in order to attack, and so forth. I realized that it'd be more annoying than useful, so I think that I should remove the orbit button, and just have the game automatically prompt you if you want to invade, colonize, or attack, and allow you to pick planets in those prompts. That would be one less step, because even if you ordered the fleet to orbit, it would ask for confirmation.
Now my issues are the following - Bear with me, I'm thinking out loud, I want you guys to see my train of thought :) :
If two or more empires wants to invade the same system, who goes first? Imagine that a planet have 100 Zero People, and you have 100 humans in transport ready to invade, and the space hamsters also have 100 units ready to invade the same planet. How should this be handled? Remember that it can be a hot-seat multiplayer, so it's possible for two human players to invade the same planet.
Should it let players decide how much units to invade a planet, then have all the sides battle it out at the same time? A problem with that is that the second human player can see how much the first human player allocated for an invasion, and can up the ante a bit to ensure that he wins.
Another issue are the planets themselves during space combat. It'd have to be an all or nothing deal. If you're attacking a planet, you're attacking the whole system. This is because if two empires are attacking the same system, all sides will have to be accounted for.
I just had a thought. What if you can't do ground invasions after space combat, but only DURING the space combat? That would require you to move your transport ships near a planet you want to invade, then launch the ground troops to the planet. When the ground troops arrives (it could take more than a turn, depending on distance and the troop pods used), it would bring up a ground invasion screen and the ground combat will ensue until one side is killed off.
I think I like that idea. It'd present opportunities for you to capture a planet and turn its weapons (when buildings are added) on its former owners. Sub space teleporters would be very handy for transport ships. It also allows you to try and ward off invading transport ships before they arrive at your planets, or intercept the troop pods.
Now with that system, the only remaining issues are colonization and planet placement in combat.
First, with colonization, if you and an allied player want to colonize the same planet in the same turn, how do the game resolve which colonizes?
Second, with planet placement, you don't want your ships to be on the fringe of the space combat, with your planets inside the system, or even close to the other enemy ships. I'm thinking that if you have at least one planet in your system, when the combat starts, your ships will be near your planets. That'd resolve one issue, but presents another. The game don't have a hard limit on how many planets can be in a system, so how should it handle 10, 20, 100 planets? Just have a combat field with the area based on the amount of planets? It may get tedious bombing 100 planets that have weapons. Any ideas?
Those two issues need to be resolved before I go ahead with programming any part of invasion, colonization, and combat.