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.
Some ideas...:
ReplyDelete"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?"
1) Allow both colonies, with each ally running their half and getting some bonus production, etc. from the other half. This has bigger implications in your game though and might be tough to implement and balance.
2) If its an AI ally, then let the human player always get first choice. Alternatively, open up a diplomacy channel and trade the colonize action for something else (treat the colonize action as an object for trade).
3) If its a human ally in hot seat, let them work it out. If online, open up a diplomacy channel.
"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?"
From what I can see, you have a couple choices here:
1) Reduce the number of planets in a system to make the combat manageable. 100 planets is a bit much--how do players access and manage these planets outside of combat? It sounds difficult to display and allow access to that many planets in a system, but maybe you have a way?
2) Make combat per-planet (not system-wide) but allow multiple combats per turn and increase the abstraction of combat and auto-resolve more.
3) Remove planetary defenses and make fleet-to-fleet battles determine ownership of an entire system.
Hmm... That's all I can think of for now. Hopefully someone else will have some better ideas than me!
"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?"
ReplyDeleteFlip a virtual coin. That really shouldn't happen too often.
"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?"
If you want to make it easy to mod things that's great. But the more open the framework is the more ways a modder can ruin the game. IMHO you'll just spin your wheels if you try to make any modding choice a good one. Leave it to the modders to figure out how many planets is too many. Or else put a sensible cap on the number.
j. w. bjerk - You've got a good point with colonization issue, it shouldn't happen often. I guess I'll just go in order (first player goes first, and so forth), to avoid flipping a coin and having to prompt the user again for which planet to colonize since it failed to colonize the desired one.
ReplyDeleteYeah, that makes sense about having too much modding choices being bad. I can add a cap of 10 planets per system, I don't think that'd be too many planets involved in combat, and will make things more manageable, while not making it feel too constrained.
Bolo - That's a good idea about diplomacy channel, but as bjerk pointed out, it shouldn't happen often, so it'd be a lot of work just to handle maybe one or two cases in an entire game.
Reducing the planets is what I think would be the best. So I'm going ahead and put a cap of 10 planets per system.
Thanks for your feedback!
Ground invasions only DURING the space combat - I love this idea! I love so much that I will steal it if you don't mind...
ReplyDeleteHeh, sure, ideas are cheap :)
ReplyDeleteI realized that one problem with that approach is that if you're invading an unguarded system (no defenses at all), then it'd be tedious to bring up space combat, move your ships to a planet, then finally tell it to invade. So I'm making it possible to have ground combat both during and after space combat.
If you can think of a way around that problem, then kudos to you!
Well, I guess you will have autofight for space combat - so you can switch it on in cases like that. It will look like an animation.
ReplyDeleteAnd even better - you may still want do orbital bombardment and such for an unguarded planet, so it is not unreasonable to bring space combat up.