Diplomacy Extensions
-
Disclaimer: My understanding of maps' capabilities is quite limited, so correct me if there is a way I didn't think of.
What bugs me for quite a while now is that the diplomacy map does really not work like in the original game.
Not only has the current map a lot of "invisible territories", which seem to make no sense + cause an exception whenever moving a unit between special territories, because the connections are stacked on top + cause AI to get "stuck" in.
While it is possible to fix those "severe issues", there are a lot of functionalities, that can't be implemented using the current abilities of TripleA.
I want the create a list of those, because I think they would be useful for other maps as well:- The core element of Diplomacy: Simultaneos Movement
- All moves are planned at the same time and executed at the same time, this would also require private chats for multiplayer games though, in order to coordinate games with your "allies" (or enemies, if you choose to betray them ^^)
- Maximum Unit Limit
- In diplomacy there are 2 ways limiting the maximum amount of units per player:
- only one unit is allowed per territory ("Factories are not counted in")
- After every 2 "moves", meaning after every player moved twice, the amount of units needs to be adjusted to the amount of captured factories, if there are less factories than units, some units need to be removed at the players choice, if there are more factories than units the players are allowed to produce units at their factories, if there are no units blocking this territory.
- In diplomacy there are 2 ways limiting the maximum amount of units per player:
- Fleet landing
- In Diplomacy fleets recieve special treatment. Fleets can attack land territories, which have coasts (this is important, because the maximum unit limit applies here too), of course if a multiple coast (e.g. if a territory has coasts with multiple sea zones), the fleet can't magically travel to another coast, it must stay where it landed.
- Combat System
- Diplomacy has a very "basic" compat system, the alliance with the most amount of unit wins, the loser must either retreat after having lost, or if there's no way to retreat the unit must be "destroyed". If no one has an advantage over another player, e.g. no alliance has more attacking units than another nothing happens. No dice rolling involved.
- Supporting
- A unit can't win against another unit on its own, in order to beat another unit, you need support. In diplomacy there are special support moves. This can't be a basic attack move, because the game needs to differenciate if you want to team up with your allie, or if you want to betray your ally and try concering the territory on your own, you can of course support your own units as well. In order to be able to support someone, the territory of the supporting unit, needs to be directly connected to the territory of the supported unit, as well as the territory which is supposed to be attacked (every unit has just 1 range).
- Convoying
- Standard Units (No Fleets) can't magically walk over water, therefore fleets can act as some sort of "bridge" for sea zones instead of moving, this "bridge" doesn't count as a territory, the sea can be "skipped in a single move"
What are your thoughts about this?
EDIT: For clarification: I just listed the required functionalities, that are required for everything to work correctly. Some of them require breaking changes, some are really complex to implement, and the ones that are easy-to-implent won't be implemented as soon as possible either. This is just a feature request like any other.
- The core element of Diplomacy: Simultaneos Movement
-
I always wondered if anyone would ever fix diplomacy BTW I have an original from the 60's wooden parts etc etc. I might mail ya it !
-
@prastle I have one too, probably not from the 60' but the game has probably not changed too much ^^
-
@roiex This looks like a cool project.
-
Summarizing the details for developers to implement, trying to sort from easiest to hardest:
- Limit Maximum amount of units in a territory: have an option for territory attachments which defines a maximum amount of units for this territory, bonus if there's a way to define ignored units like factories or AA.
- Add a "canConvoy" option to unitAttachments attachment, similar to "transportCapacity", but should allow to specify which units are able to be convoyed by this unit similar to how it's done in the new requireUnitsToMove feature, using colons to separate names. Those "convoys" would allow other units to skip/pass the territories (can be chained) with only using 1 movement cost even if the convoyed unit would normally not be able to pass through those territories. Requirement: The convoying unit must still have at least 1 fuel left. Also there must be a way to specify through what kind of territory they are able to convoy other units. Camels are useful in the desert, but not so much in ice deserts for example. Fleets can only convoy over sea.
- Make available units dependent on a resource after all moves, in other maps this could be food; if there's not enough food for everyone the player must choose who is going to starve, if there's lots of food new units can be produced. If there's no way to reset a resource after moves, this needs to be implemented too.
- A boolean option for territory attachments which allows them to have "coasts" or harbours, which essentially count as the same territory, but also allow sea units to be created in them or conquer them. A territory can have multiple coasts, the user must choose the coast when producing a sea unit.
- Combat System without dice. Sum up all attackpoints of the attacking units per attacker/alliance vs all defensepoints of the defenred. Whoever has more points wins, units are only removed if they are not able to retreat.
- Support move, when attacking a territory where an ally could potentially attack it as well (simultaneous moves) the player is prompted wether he wants to attack on his own or support another player. The supporting units are added to the attackers attack points during dicelesa combat.
- Simultaneos movement: Add private chats, and allow moves in multiplayer games to be executed simultaneously, e.g. Display all results at once, after every player finished planning. Custom step delegates would probably be the 'easiest' to implement. On local games/hot seat or PBEM,PBF, the map would seem to "reset" after a player finished planning, potentially problematic for tournaments because the decision is saved in the savegame, just not displayed.
Now that I'm writing this it seam far more feasible than I initially thought.
@redrum @lafayette @ssoloff Any suggestions or improvements on the implementation details? Did I miss something? -
@roiex I would give a total of thumbs up (not in the true ancient Roman meaning of it) for each one of the point at that post. I really believe you can totally go ahead implementing those progressively, as anyways each one would add a significant value on its own. I particularly like the point 1, of being able to set a limit per territory, different for each territory (currently, you can have limits, but not different limits per territories). My suggestion on point 1 is to just expand on the terrain option of "unitsNotAllowed", calling it "unitsRestricted" and having a "count", with it equal to 0 doing the same thing as the current "NotAllowed" (that, then, can be deprecated and deleted).
That way, you can have different terrains assigned to the different territories, instead of setting the limit directly in the territory.
But, in this case, you need to assure that terrains that are used only for things not changing combat will never figure in the battlecalculator (otherwise it would be a bunch of cluttter).
Tho, I must admit I've no plans about any right now. But several came out a bunch of times in the old forum, I can tell, especially the per-territory limit. -
@roiex Looks alright from a quick glance. I'd second Cernel's point around implementing one change at a time. Only other comment is as they are implemented making sure to test them thoroughly.
-
@roiex said in Diplomacy Extensions:
- Simultaneos movement: Add private chats, and allow moves in multiplayer games to be executed simultaneously, e.g. Display all results at once, after every player finished planning. Custom step delegates would probably be the 'easiest' to implement. On local games/hot seat or PBEM,PBF, the map would seem to "reset" after a player finished planning, potentially problematic for tournaments because the decision is saved in the savegame, just not displayed.
I think this would bring TripleA to a new level. I tend to think that if this gets made you should increase the TripleA version to 2.0.
-
@cernel Up to the devs of course, but, in my mind, if something like Diplomacy gets fully or mostly supported, then TripleA version should go to 2.0, and, then, if like Risk gets supported, should go to 3.0, etc.. Just my view here.
-
@cernel I agree we should increase the major version number, but for a different reason:
The work and infrastructure changes that are required for such a change would be massive, that's why the version would be completely incompatible.