Check out Janggi (Korean Chess), our featured variant for December, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Jocly. An html-based web platform for playing 2-player abstract stategy games.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Thu, Jan 18 08:40 AM UTC in reply to François Houdebert from 06:50 AM:

If this prelude is also used as a second-level variant selection, I suppose it would be annoying if you would have to make the selection again each time you press 'Restart game'. So I now added an optional property 'persistent' in the prelude objects. If it appears with value true, the dialog will only appear in the first game after the variant is freshly selected, and once the user has made the selection, it will automatically pick that same selection in subsequent games.

As to the asymmetry issue, I think that for now the best solution is to add an extra 'blackParticipants' property, and make the other 'participants' array only contain all the piece types that participate as white pieces. In games without asymmetric peieces (other than the Pawns, which would never be in the array) or unequal armies, that would also be the list for black. When blackParticipants is present, it will be updated to contain the present black pieces. So it is up to the implementor of an asymmetric game to decide how he will program the promotion routine, and has the option to have any prepared arrays he uses in the process automatically updated for the selection.

I am not sure if it would ever make sense to combine games with different castling rights into a single group. If I think of the 10x8 games Capablanca, Gothic and Bird could be easily combined, but Embassy has free castling, Janus extra-long castling on the Q side, and Carrera has no castling at all. I suppose it would be possible to let the prelude object also contain an array of castling definitions that would be picked together with the corresponding setup. I guess we should not overdo things. (But this is actually very easy to implement.)