From: John D. G. <jd...@di...> - 2011-10-11 01:08:12
Attachments:
null_01_20111010-0212.log
1835_20111010_2350_Biff.rails
|
Observations in playtest game of 1835 on Rails 1.5.1 on 2011-10-10. 1. I appreciate the changing of major company abbrevs to two letters, but the "Bay" president's share in starting packet seems to have been left out. 2. During a starting packet purchase round, if a player cannot take any action (has too little money to buy anything currently available) a popup appears "[name] cannot buy anything" with an OK button. If two players are skipped they are combined on one popup. That's cute, but I'd prefer the turns be silently skipped. Oddly enough, the stock round behavior is not the same. If a player cannot take any action on his stock turn (he has too little money to buy anything currently available, and owns nothing that can currently be sold) he still gets a turn, even though "Pass" and "Autopass" are the only actions allowed. Again, I'd prefer the turn be silently skipped. 3. If the start packet does not sell out in first round, the unsold shares are not accounted for in the "Game Status" window. They do not appear in the IPO column, bank pool, or anywhere else. (I suggest adding a column for "Reserved" shares -- which would also include the 60% of PR that will be exchanged for privates and minors.) 4. The bug reported in Game Notes, where the game would hang if the By did not float in the first round, is no longer fatal, at least for me. To be exact: As soon as the "Start Round" is passed out, focus moves to the Game Status window, and its "Pass" and "Autopass" buttons change color as if they'd been enabled (but that window's name does NOT change to "Stock Round [n]", and a popup "Error: No action available" appears). I worked around this by simply doing File -> Save on the menu bar and saving the game. (A restore wasn't needed.) This moved the focus to the map window and made it an operating round, which of course is how it should have been. When the OR finished, "Start Round" reappeared on the screen. 5. Nit: The first operating round is still "0.1". 6. The columns "Current" through "Tokens" on the Game Status window are too wide, apparently because they've been constrained to match the line showing the number of trains of each future type. I would prefer that the list of future trains be allowed to word-wrap, especially because it already takes up two lines if any player owns two private companies. 7. I really appreciate your enabling scroll bars on the Game Status window so that the window no longer frequently and automatically changes size. I propose a similar change to the Map window, which seems to frequently set itself to extend way beyond the screen (thus making me manually resize and move it) several times per game, either because the number of companies has changed or because a company laid a tile or token that required one of those columns in the list of companies to resize itself. (Conversely, the Tokens column does not resize itself when it gets so narrow I can't see the number of tokens a company has left, and I wish it did!) 8. Unlike most companies, a PR token does not appear on the Stock Chart until the M2 is traded in to form the PR. I propose that the PR token, appear as soon as any player buys a share of PR, even though the shares can't be sold until the M2 is traded in. (Other companies' shares can't be sold until they have operated, but their tokens appear on the Stock Chart as soon as someone buys the president's share.) 9. The Pfalzbahnen owner is being offered opportunities to lay a token using its special power even when impossible (because the company currently operating has run out of tokens and/or already has one in the Pfalz hex). 10. The Map window now allows a "Special" action to close private companies voluntarily. I don't think this is legal in 1835. (I ran across this while looking for a command to use Pfalz's power to lay a tile. I think this "Special" menu would be a much better place for tile- and token-laying powers to be, rather than make the user click "No Tile" or "No Token" an extra time every turn. But I suppose that's a style issue.) 11. The tile-laying logic is mostly correct but still suggests tile lays where the new tile is rotated in a way that makes it not connect to any station of the company. And there are situations where some tile lays are allowed but nothing gets suggested. (This game, the Pfalz owner did not have a major company before Phase 3, so I was unable to verify whether it still offers the Pfalz tile-lay on every major-company turn of that player during yellow phase, which should never happen because the tile lay is impossible then.) 12. The token-laying logic similarly still makes mistakes. It suggests every turn that BY lay a station marker in the south side of Nurnberg- Furth, even though it laid one on the north side in OR2 using the NF. (Oddly enough, in a problem that resembles point 3 in reverse, the five PR tokens that are supposed to be reserved for exchanging minor company tokens *do* show up as available to be built. Next time I'll try to build them in arbitrary locations and see what happens -- both then and when the minor companies merge and there aren't any PR tokens for them.) 13. The revenue calculator consistently shows the correct runs for M6 on the map but calculates their value as 20M too low (40 from green Hamburg to yellow Kiel, which should be 60). Mousing over the map reveals the underlying problem: northwest Hamburg is value 20, not 40, in the tile list (or wherever this information is stored for preprinted cities). 14. The game reaches the point of the attached save file. When the PR buys the 5-train, SX has to discard a train (correctly changed from happening upon purchase of the 4+4). But then the game hangs while trying to merge the remaining private and minor companies. I had to "undo" the 5-train purchase (using the report window) to be able to save the game. I've included the log as well. |
From: Erik V. <eri...@xs...> - 2011-10-12 13:24:42
|
John, Thanks for your report. Many aspects of it sound familiar to me... :-) I cannot promise that every aspect of it will (or even can) be addressed, but your most of requests are reasonable and will be saved. Some comments below. Erik. > -----Original Message----- > From: John David Galt [mailto:jd...@di...] > Sent: Tuesday, October 11, 2011 3:08 AM > To: rai...@li... > Subject: [Rails-devel] Test report: 1835 in Rails 1.5.1 (Windows XP) - corrected > > Observations in playtest game of 1835 on Rails 1.5.1 on 2011-10-10. > > 1. I appreciate the changing of major company abbrevs to two letters, but > the "Bay" president's share in starting packet seems to have been left out. This would cause saved game incompatibility. I have put it on the wiki Legacy clean-ups wish-list. > 2. During a starting packet purchase round, if a player cannot take any action > (has too little money to buy anything currently available) a popup appears > "[name] cannot buy anything" with an OK button. If two players are skipped > they are combined on one popup. That's cute, but I'd prefer the turns be > silently skipped. > > Oddly enough, the stock round behavior is not the same. If a player cannot > take any action on his stock turn (he has too little money to buy anything > currently available, and owns nothing that can currently be sold) he still gets a > turn, even though "Pass" and "Autopass" are the only actions allowed. > Again, I'd prefer the turn be silently skipped. Same answer, although I will consider Stefan's suggestion to add 'silent' player actions. Not sure if we should consider that as a permanent solution, or just a compatibility hack. > 3. If the start packet does not sell out in first round, the unsold shares are not > accounted for in the "Game Status" window. They do not appear in the IPO > column, bank pool, or anywhere else. (I suggest adding a column for > "Reserved" shares -- which would also include the 60% of PR that will be > exchanged for privates and minors.) Not a bad idea. > 4. The bug reported in Game Notes, where the game would hang if the By > did not float in the first round, is no longer fatal, at least for me. > > To be exact: As soon as the "Start Round" is passed out, focus moves to the > Game Status window, and its "Pass" and "Autopass" buttons change color as > if they'd been enabled (but that window's name does NOT change to "Stock > Round [n]", and a popup "Error: No action available" appears). > > I worked around this by simply doing File -> Save on the menu bar and saving > the game. (A restore wasn't needed.) This moved the focus to the map > window and made it an operating round, which of course is how it should > have been. When the OR finished, "Start Round" reappeared on the screen. > > 5. Nit: The first operating round is still "0.1". > > 6. The columns "Current" through "Tokens" on the Game Status window are > too wide, apparently because they've been constrained to match the line > showing the number of trains of each future type. I would prefer that the list > of future trains be allowed to word-wrap, especially because it already takes > up two lines if any player owns two private companies. An old wish. Being lucky* today, I finally found a solution on the Web: embed the text in <html></html> and set the preferred size to (1,1). Works nice. Martin Brumm will also appreciate it. Pushing it to the repo doesn't work yet though, so I have to fiddle with Git again. (* or so I though initially; to set that off, I just broke a nice vase at home, a work of art. Well, you can't have it all). > 7. I really appreciate your enabling scroll bars on the Game Status window so > that the window no longer frequently and automatically changes size. > > I propose a similar change to the Map window, which seems to frequently > set itself to extend way beyond the screen (thus making me manually resize > and move it) several times per game, either because the number of > companies has changed or because a company laid a tile or token that > required one of those columns in the list of companies to resize itself. Yes, I also find that very annoying. This was supposed to be fixed when we added saving the window location and size, but apparently recreating the window contents at each new OR breaks that. I'll look for a fix, but the mysteries of Java Swing still elude me often enough that I can't make any promises. > (Conversely, the Tokens column does not resize itself when it gets so narrow > I can't see the number of tokens a company has left, and I wish it > did!) There you have it: sometimes resizing to make everything fit is good (in this case), sometimes it's bad (in the above case). Either the window size is fixed, or it isn't - and it now seems to behave in either way on the wrong moments. > 8. Unlike most companies, a PR token does not appear on the Stock Chart > until the M2 is traded in to form the PR. I propose that the PR token, appear > as soon as any player buys a share of PR, even though the shares can't be > sold until the M2 is traded in. (Other companies' shares can't be sold until > they have operated, but their tokens appear on the Stock Chart as soon as > someone buys the president's share.) The token is placed when a company is started, which in this case happens with the M2 swap. The 1835 rules also explicitly say that the token is placed at this time. So, although I understand your wish, I don't think I'm going to put any effort into it. > 9. The Pfalzbahnen owner is being offered opportunities to lay a token using > its special power even when impossible (because the company currently > operating has run out of tokens and/or already has one in the Pfalz hex). Yes, that's a detail that still needs to be addressed. I have no solution for that yet. See also your next point. > 10. The Map window now allows a "Special" action to close private companies > voluntarily. I don't think this is legal in 1835. (I ran across this while looking > for a command to use Pfalz's power to lay a tile. I think this "Special" menu > would be a much better place for tile- and token-laying powers to be, rather > than make the user click "No Tile" or "No Token" an extra time every turn. > But I suppose that's a style issue.) This is a stop-gap to enable closing privates that do not automatically close according to the rules, such as the PfB above. This also applies to the OBB. Once all that works correctly, this option will be removed. > 11. The tile-laying logic is mostly correct but still suggests tile lays where the > new tile is rotated in a way that makes it not connect to any station of the > company. And there are situations where some tile lays are allowed but > nothing gets suggested. Indeed the tile laying process needs several refinements. We all know, and if it was easy it would probably have been done already. > (This game, the Pfalz owner did not have a major company before Phase 3, > so I was unable to verify whether it still offers the Pfalz tile-lay on every > major-company turn of that player during yellow phase, which should never > happen because the tile lay is impossible then.) > > 12. The token-laying logic similarly still makes mistakes. It suggests every turn > that BY lay a station marker in the south side of Nurnberg- Furth, even > though it laid one on the north side in OR2 using the NF. That would obviously be a bug. > (Oddly enough, in a problem that resembles point 3 in reverse, the five PR > tokens that are supposed to be reserved for exchanging minor company > tokens > *do* show up as available to be built. Next time I'll try to build them in > arbitrary locations and see what happens -- both then and when the minor > companies merge and there aren't any PR tokens for them.) Interesting question: are these PR tokens really reserved? I don't believe the rules say so. > 13. The revenue calculator consistently shows the correct runs for M6 on the > map but calculates their value as 20M too low (40 from green Hamburg to > yellow Kiel, which should be 60). Mousing over the map reveals the > underlying problem: northwest Hamburg is value 20, not 40, in the tile list (or > wherever this information is stored for preprinted cities). Right! Strange that I have never noticed that. Fixed. > 14. The game reaches the point of the attached save file. When the PR buys > the 5-train, SX has to discard a train (correctly changed from happening upon > purchase of the 4+4). But then the game hangs while trying to merge the > remaining private and minor companies. I had to "undo" the 5-train purchase > (using the report window) to be able to save the game. > > I've included the log as well. I will investigate that later. |
From: Stefan F. <ste...@we...> - 2011-10-19 16:33:50
|
This is a follow-up to the one of the issues in the 1835 test report: I think we should highlight somewhere in the wiki and the comments for the restrictions that the tile and token laying rule enforcement and highlighting currently suggest and allows some illegal tile and token lays. However both mechanisms should NEVER disallow or forget to suggest allowed and illegal tile lays. The latter are always bugs and should be reported. The other round is currently unavoidable and have to be handled by the players themselves. I quickly went through the 1835 game file and I have not found a situation where the tile/token highlighting forgot to suggest a valid hex, but it is easy to make a mistake here. So if John or Erik could possible point out some cases the algorithm missed upgradable or buildable hexes in that test game, that would be helpful. Stefan Some longer remarks on the token and tile laying logic: There are currently several parts of code that try to add some help for tile and token laying. However they are independent from each other and focus on different aspects. A) The main rails game engine suggests Tile and Token laying actions are based only on the knowledge of available token and tile laying actions of the company. It currently has knowledge of the map configuration, availability of tiles and/or the network of the operating company. After a tile lay or token lay it checks if the company has sufficient funds available to execute the action. B) There is some support code in the Rails GUI to guide the user through the tile selection process. However it can only considers the selected hex and its local neighborhood, but has no knowledge about the network of the operating company and/or if the company has sufficient funding to execute this action. C) The highlighting of suggested hexes for tile and token lay is then again simply based on the operating companies network only: It highlights all hexes that are reachable by the current network and it checks if there is any tile that is in the upgrade path of the current tile. It however does not take into account the specific neighborhood of the current hex and/or if the company has the required funding to executed such an action. A perfect solution would merge all those checks into one. However this is not so easy as it might seem in first place. On a second look it is a non-trivial task to find out if and where are valid tile lays considering all constraints (operating company network, operating company funding, tile upgrade charts, tile availability, local neighborhood restrictions for tile upgrades, checking for the permissive or (semi-)restrictive upgrade rules etc.). > > > 9. The Pfalzbahnen owner is being offered opportunities to lay a token > > using > > > its special power even when impossible (because the company currently > > operating has run out of tokens and/or already has one in the Pfalz hex). > > Yes, that's a detail that still needs to be addressed. I have no solution > for that yet. See also your next point. > > > 10. The Map window now allows a "Special" action to close private > > companies > > > voluntarily. I don't think this is legal in 1835. (I ran across this > > while looking > > > for a command to use Pfalz's power to lay a tile. I think this "Special" > > menu > > > would be a much better place for tile- and token-laying powers to be, > > rather > > > than make the user click "No Tile" or "No Token" an extra time every > > turn. But I suppose that's a style issue.) > > This is a stop-gap to enable closing privates that do not automatically > close according to the rules, such as the PfB above. This also applies to > the OBB. > Once all that works correctly, this option will be removed. > > > 11. The tile-laying logic is mostly correct but still suggests tile lays > > where the > > > new tile is rotated in a way that makes it not connect to any station of > > the > > > company. And there are situations where some tile lays are allowed but > > nothing gets suggested. > > Indeed the tile laying process needs several refinements. We all know, and > if it was easy it would probably have been done already. > > > (This game, the Pfalz owner did not have a major company before Phase 3, > > so I was unable to verify whether it still offers the Pfalz tile-lay on > > every > > > major-company turn of that player during yellow phase, which should never > > happen because the tile lay is impossible then.) > > > > 12. The token-laying logic similarly still makes mistakes. It suggests > > every turn > > > that BY lay a station marker in the south side of Nurnberg- Furth, even > > though it laid one on the north side in OR2 using the NF. > > That would obviously be a bug. > > > (Oddly enough, in a problem that resembles point 3 in reverse, the five > > PR tokens that are supposed to be reserved for exchanging minor company > > tokens > > *do* show up as available to be built. Next time I'll try to build them > > in > > > arbitrary locations and see what happens -- both then and when the minor > > companies merge and there aren't any PR tokens for them.) > > Interesting question: are these PR tokens really reserved? I don't believe > the rules say so. > |
From: John D. G. <jd...@di...> - 2011-10-19 17:42:42
|
On 2011-10-19 09:36, Stefan Frey wrote: > This is a follow-up to the one of the issues in the 1835 test report: > > I think we should highlight somewhere in the wiki and the comments for the > restrictions that the tile and token laying rule enforcement and highlighting > currently suggest and allows some illegal tile and token lays. However both > mechanisms should NEVER disallow or forget to suggest allowed and illegal tile > lays. The latter are always bugs and should be reported. The other round is > currently unavoidable and have to be handled by the players themselves. > > I quickly went through the 1835 game file and I have not found a situation > where the tile/token highlighting forgot to suggest a valid hex, but it is > easy to make a mistake here. > > So if John or Erik could possible point out some cases the algorithm missed > upgradable or buildable hexes in that test game, that would be helpful. As best I recall, when the program suggested any builds at all, it suggested all the legal build locations. But there were cases where NO hexes were highlighted for building, and some builds were still possible. Example: M6 has built a loop from NW Hamburg to Kiel to NE Hamburg, so it can legally build a "dit" out of Schwerin but no hexes are highlighted. (The program still allowed the build, however.) The opposite case was more common: when M1 is building, (unbuilt) Koln and Essen are highlighted even though M1 doesn't have $50 in treasury. |
From: Erik V. <eri...@xs...> - 2011-10-19 20:23:30
|
> A perfect solution would merge all those checks into one. However this is not > so easy as it might seem in first place. On a second look it is a non-trivial task > to find out if and where are valid tile lays considering all constraints > (operating company network, operating company funding, tile upgrade > charts, tile availability, local neighborhood restrictions for tile upgrades, > checking for the permissive or (semi-)restrictive upgrade rules etc.). I think the main impediment is that the game engine is not yet aware of the valid routes of the operating company (for tile laying purposes). The LayTile action objects are already prepared to carry a list of hexes where a tile can be laid, but the game engine is not yet able to compose such a list. Erik. |
From: Erik V. <eri...@xs...> - 2011-10-13 15:52:21
|
Found and fixed two 1835 bugs. Game Notes updated. > -----Original Message----- > From: John David Galt [mailto:jd...@di...] > 4. The bug reported in Game Notes, where the game would hang if the By > did not float in the first round, is no longer fatal, at least for me. Fixed this one, and removed it from the Game Notes. The error was that no possible actions were generated in this situation. > To be exact: As soon as the "Start Round" is passed out, focus moves to the > Game Status window, and its "Pass" and "Autopass" buttons change color as > if they'd been enabled (but that window's name does NOT change to "Stock > Round [n]", and a popup "Error: No action available" appears). I found the focus moving to the Map window. > I worked around this by simply doing File -> Save on the menu bar and saving > the game. (A restore wasn't needed.) This moved the focus to the map > window and made it an operating round, which of course is how it should > have been. When the OR finished, "Start Round" reappeared on the screen. So this workaround is no longer necessary. > 5. Nit: The first operating round is still "0.1". No longer (as a side effect of the above fix). > 14. The game reaches the point of the attached save file. When the PR buys > the 5-train, SX has to discard a train (correctly changed from happening upon > purchase of the 4+4). But then the game hangs while trying to merge the > remaining private and minor companies. I had to "undo" the 5-train purchase > (using the report window) to be able to save the game. > > I've included the log as well. A real bug: already closed privates (HB in this case) were again submitted to the merge step in the PR formation process. Fixed. I have also put the correct workaround into the Game Notes for cases where PfB en OBB do not close where these should: use the Special|Close privates menu option. Erik. |
From: Erik V. <eri...@xs...> - 2011-10-13 21:31:02
|
> -----Original Message----- > From: John David Galt [mailto:jd...@di...] > 2. During a starting packet purchase round, if a player cannot take any action > (has too little money to buy anything currently available) a popup appears > "[name] cannot buy anything" with an OK button. If two players are skipped > they are combined on one popup. That's cute, but I'd prefer the turns be > silently skipped. I have removed this popup. The messages are still reported. > Oddly enough, the stock round behavior is not the same. If a player cannot > take any action on his stock turn (he has too little money to buy anything > currently available, and owns nothing that can currently be sold) he still gets a > turn, even though "Pass" and "Autopass" are the only actions allowed. > Again, I'd prefer the turn be silently skipped. I tried, but, as I feared, it can't currently be done in a simple way without breaking compatibility. I have added this request to the Wiki list of things to do when we decide to break compatibility. I have also moved StartRound_1835 to the 1835-specific code package. StartRound_1830 stays in the game package because it used by many games. Perhaps it should be renamed to StartRound_Basic or StartRound_1830Style. Erik. |