From: John D. G. <jd...@di...> - 2012-06-02 03:04:00
|
On 2012-05-31 15:25, Erik Vos wrote: > I'm happy to report that I have made quite some progress with the new Stop > properties framework, that was discussed a while ago. I like the general framework, but wanted to toss in a few comments, so I will snip all the parts I'm not commenting on. > The stop properties are now collected in a new class named Access. [snip] > - runTo (can a train run to a certain station?). Still unused. It is > intended to configure initial access restrictions like those of 1851 > Birmingham and 1835 Elsass-Lothringen. runTo sounds more like a train attribute which says which kinds of stops a particular train can visit. I'd suggest we either call this option something like disable="yes", or use some "magic" revenue value (say, -9999) to mean that no train can go there. (The advantage of the latter approach is that the existing OffBoardRevenue mechanism in data/Game.xml can turn it on/off.) > - loop (can a train re-enter a hex visited before?). Still unused, and > perhaps redundant. It was intended to prevent the Paris/Berlin/Vienna loop > problems in 18EU and 1835, but that issue can be equally well addressed by > the trainMutexID, to be discussed below. 'loop' may still prove useful for > 1860, where no train may re-enter ANY hex. I like the idea of "loop" being a tile or hex option, because some games allow a train to visit any city tile more than once (but not the same city), while other games allow this for multiple-large-city tiles but not for multiple-dit tiles (1853, if I recall). By the way, in 18EU, this rule does not just affect train runs. A route that starts in Berlin (NW), passes through an empty token space in Berlin (NE), and then goes to Wien is not a legal route for any purpose. Thus a company in Berlin (NW) would not be allowed to build track if its connection to the new track must pass through Berlin (NE); nor would a minor company in Berlin (NW) be allowed to merge into a major company in Wien during the final exchange round. > - score type: major or minor (e.g. for 1835 n+m trains and for the many > games where towns do not count against the train size). This is the only > stop property already in use. The new framework allows more fine-grained > configuration. 1837 also has express trains (4E, 5E) which completely ignore dits. I'd want a way to set that behavior as a property of the train type. > Stefan, I was wondering why your setting of city="B/V" for the Berlin/Vienna > tiles in 18EU did prevent one-hex loopback, but not the Berlin-Vienna route. > I guess you are doing this check per hex only. If you could lift that > restriction, and look at duplicate city names (or whatever) on all stops of > a route, I think we would have a strong mechanism to achieve all kinds of > train access limitations. Your trainMutexID is a better idea than using city names for this. City names are generally one per hex, and not all games even name the cities. (And then there are the dual city spaces like the OO's in 1830 and the 404s in 1837, where there are two city names but it may not be possible to tell which is which, such as if Philadelphia/Camden is laid with one city north of the other.) |