tobymao / 18xx

A platform for playing 18xx games online!
https://18xx.games
Other
298 stars 185 forks source link

[1822] Merthyr Tydfil and Pontypool connectivity is wrong for acquisitions and for routes #10524

Closed Ticketautomat1 closed 5 months ago

Ticketautomat1 commented 8 months ago

https://18xx.games/game/152175?action=881

I'm able to merge LNWR with minor 20, even it isn't achievable.

michaeljb commented 8 months ago

Looks like it's probably related to #7799 and #9097

michaeljb commented 5 months ago

https://gist.github.com/michaeljb/43e106bb0713b8a533aade4295b3c30d

michaeljb commented 5 months ago

7799 was about acquisition connectivity and #9097 was about routes. Closed those as duplicates since this one was the only issue that had an available sample game. Will tackle both problems here.

michaeljb commented 5 months ago

Brain dumping everything for my own benefit


Physical version map:

Screenshot 2024-06-12 203635

18xx.games map:

Screenshot 2024-06-12 202922

Rules:

9.1.1 The tracks between Merthyr Tydfil and Pontypool are a special case for tracing routes and running trains.
9.1.2 When tracing routes, Merthyr Tydfil and Pontypool are termini if approached from the other city (Merthyr Tydfil for Pontypool, and Pontypool for Merthyr Tydfil). In other words, it is possible to trace a route directly from one to the other, but it is not possible to then continue the route beyond.
9.1.3 If a company has a station token in both cities it may trace routes out of each city per the normal rules, but the previous rule still applies. 9.1.4 A company with a route through Pontypool to Merthyr Tydfil may place a token into Merthyr Tydfil (and vice versa).
9.1.5 Only a single train may make the crossing between Merthyr Tydfil and Pontypool in any given operating turn. The two tracks signify that routes may be traced from one of these cities to the other, but when running trains they are treated as a single track.
9.1.6 For the purposes of acquiring minors, the normal rules apply, but it is still not possible to trace a route from Merthyr Tydfil into Pontypool and beyond (or vice versa).

Reported behaviors:

michaeljb commented 5 months ago

https://gist.github.com/michaeljb/22759f570ddd76ab6102c2fa0b9622c9

Screenshot 2024-06-12 213308

Here, SWR is given the option to acquire 20 or 21, but not 24.

I think 9.1.6 saying "normal rules apply" is unhelpful. I can't see the games originally reported here or in #7799 but they both refer to acquiring Minor 20. Presumably it's a situation like in my sample game, where the Major can reach Pontypool. (edit: I was looking at 21 here but the logic should be analogous for 20)

In my game, SWR can reach Pontypool, so by rule 9.1.4, it may place a token in Merthyr Tydfil. I also interpret that to mean they should be able to acquire Minor 20--by "normal rules" they can reach it for tokening there, so how could they not reach it for acquiring a minor?

But clearly some players are expecting it can't be acquired that way. I might ask on BGG for clarification.

michaeljb commented 5 months ago

Selecting SWR routes with a 3-train

Screenshot 2024-06-12 214152

Starting from the token in Pontypool, Merthyr Tydfil is selected, and the route cannot be continued. I think Cardiff should be allowed to be added to the route. Then the route traces from Cardiff to Merthyr Tydfil to Pontypool, but not beyond Pontypool, so I think that's in line with 9.1.2 and 5.11.5. My understanding of the rule matches the complaint of #9097.

5.9.6 To place an available station token in a city, the company must be able to trace a route to that city. No more than one station token of any company may be placed in any single city/off-board area (except London, see 5.9.8). 5.9.12 A company with an unblocked route through Pontypool to Merthyr Tydfil may place a token into Merthyr Tydfil (and vice versa). 5.11.5 Every route must include at least one of the company’s station tokens on it somewhere, and routes cannot pass through cities or off board areas filled with other companies’ station tokens (though they may start and/or end at them). 5.16.3 The major company must be able to trace a route from one of its station tokens to the home station token of the minor company, or be located within the same city.

I think Minor 20 should be acquire-able by Majors that can reach Pontypool via Merthyr Tydfil (and vice versa for Minor 21) by rule 9.1.2, so I think this is correct.

The current implementation correctly enforces using only one train to run between Merthyr Tydfil and Pontypool.

I plan to post on BGG for further clarification.

scottredracecar commented 5 months ago

Here, SWR is given the option to acquire 20 or 21, but not 24. I’m pretty sure this is correct, but I can’t answer definitively.

michaeljb commented 5 months ago

Long winded question posted - https://boardgamegeek.com/thread/3317395/questions-on-minors-21-and-20-and-their-homes-mert

michaeljb commented 5 months ago

The example on page 27 says:

As such, it may place a station token in Merthyr Tydfil, and it may acquire minor 21 from the bid box.

So based on that the acquisition is allowed by RAW.

In any case, waiting on Simon to post in the BGG thread before changing anything, if changes are needed after all.

michaeljb commented 5 months ago

Working correctly per Simon’s response on BGG.