From: John D. G. <jd...@di...> - 2011-06-28 22:12:21
|
On 2011-06-28 02:44, Erik Vos wrote: > I vaguely remember that a few other games also have such ‘subphases’ – does > anyone have an overview? The most involved set of phases I've seen is 1837. 2038 also goes into a lot of complications, though I don't expect to see it supported soon anyway. > In the new Phase concept, a phase can be triggered by buying any (not just > the first) train of a type, and define up to three different kinds of entity: > > 1. New values for standard properties, such as which tile colours can > be laid, is buying privates allowed, which off-board values apply, etc. All > properties propagate from one phase to the next, unless changed explicitly. > Nothing new here, this is already in place. Some others that deserve mention: which set of rules apply to financing of major companies started in this phase (1856, 18EU); which map areas are off limits for running (1835) and/or building (1837); whether loans are available. In the case of new train limits I would declare the new limit here, but make enforcing it (discarding the trains) a separate action of type 2 or 3, since the timing varies by game. (1835 requires each minor to discard excess trains before Pr formation can begin, but 1856 and 18MEX allow CGR/NdM to wait and see which companies are going to merge into them before deciding which trains to keep.) > 2. Actions to be executed immediately, such as rusting or obsoleting > trains, making new trains available[1], closing privates. Only the private- > closing action already exists. The train-related actions are currently > defined with the train types, and the idea is to move these to the phase > definitions, if for consistency only. Agree, and let's add some more: removing tiles and tokens from newly off- limits map areas (1837); making automatic tile placements (also 1837, but this is how I would implement changes to red-area payouts and similar); > 3. Actions to be executed later, by setting a temporary condition. > This would apply to the 18TN Civil War, and perhaps also to already > existing delayed actions like the 18EU Final Minor Exchange Round, and > the 1835 Prussian formation (triggering of these actions is now specially > hardcoded). The Phase class would only need a generic mechanism to set > such conditions (probably just strings), the detection, execution, and > resetting will always be in game-specific code. I agree with all but the last clause. Some of these actions are the same in multiple games and should be shared code. For instance, in 1837, formation of the KK and Ug uses optional trade-ins at the beginning of each round that are almost identical to 1835's Pr. > [1] Making the next train type available after buying the last train of a > type would remain automatic. It would be silly to start defining subphases > for that purpose. Here I disagree. Take 1853. Yes, the last 2 train makes 3 trains available, and so on; but the last 2M train does not necessarily make 3M trains available immediately. Both the last 2M and the first 4 must be purchased to make a 3M available, and so on. G trains in 1837 also work this way. |