Some roles in some games should be mutually exclusive. In particular, the “Solitaire” role might not be desirable in a two player game.
Would it be possible, I wonder, to enhance the player sides functionality, such that the module designer could define mutually exclusive sides, and then the Player - when joining an existing session (including a log file) would drop the option to join a side that was excluded by virtue of side or sides already taken in the session?
In its simplest implementation, this might be a checkbox that when checked would exclude that side from joining a session that already had any role taken other than .
This would be an excellent feature.
Right now, some modules have moderator or solo PlayerSides that can be abused by cheats, and some modules have to maintain multiple versions with different sets of PlayerSides.
I would appreciate more than just a checkbox. Conditional triggers to eliminate defined PlayerSides from selection would be ideal.
Ideally, I think we need to be able to define subsets of sides; for example, for a WW2 game, if the two main sides are Axis and Allies, Germany & Italy could be a subset of Axis, while Britain, France, and America would be a subset of Allies. If a main side is selected, all of its subsets should be locked out, and if a subset is taken, the main side should be locked out. If the module supports a solitaire mode, make “Solitaire” a superset of Axis and Allies, so as soon as any side is chosen, Solitaire gets locked out (and vice versa).
That would enable me to merge one of my forked modules (team sides and 2-player only). It would not enable me to merge another one of my forked modules (hidden information and open information).
Conditional triggers could do both (one main side selected leads to locking out all subsets of main side AND 1 of 5 hidden information sides selected leads to locking out all 5 open information sides and vice-versa).