From: Stefan F. <ste...@we...> - 2010-09-12 22:52:09
|
On Saturday, September 11, 2010 04:31:31 am John David Galt wrote: > Comments on Rails 1.4, tested with a four player game of 18EU 2010-09-09 A list of comments on those topics, which Erik left to me ;-) I categorize them into (potential) bugs and UI improvements. Some short opinions on other issues at the end. Stefan (Potential) bugs: * Please enforce the rule that minors can't lay green tiles. SFY: First a general remark how Rails checks conditions: In general the game engine has two types of checks. At the time of generating available actions for the UI (ex-ante) and after the player chose/specified an action (ex-post). Some actions are passed pretty generic to the UI (for example tile lays: it simply states the tile colour). For those the UI has additional validation checks during the process of specification. The ex-post checks usually cover every aspect to prevent any action going through which violate an 18xx rule, but it can only raise an error. So in the case above: For minors the game engine only creates yellow tile lay actions (as shown by the instruction text above the map). The UI does not consider that and still suggest green tiles (this is an omission), but the game engine complains later that a minor is not allowed to lay green tiles. However if you were really able to lay a green tile with a minor, please forward the game file. Remark: This is similar to the tile lay on Ludwigshafen/Mannheim: Only the ex-post check prevents the special tile lay there in yellow, the ex-ante generation does not know which tile the Pfalzbahn could lay. * A player is correctly skipped when an item someone else selected for bidding would cost more than he has. But if it's your turn to select an item and you have less than $100, "Bid" ought to be grayed out and isn't. SFY: I hope again that this is only the ex-ante check missing, the game engine should still complain that a bid is not possible here. UI improvements: * Entering a comment before the first action in the game should be allowed. SFY: This would change with an option to comment before actions in general. But then it is not possible to comment after the game has ended... * Entering two comments in a row should append, not replace. SFY: Current behavior is to suggest the previous entered comment in the text field. Maybe a larger editing window makes sense. Comments so far are plain Strings related to actions and for now I would prefer to keep things simple. * It would be nice if the program could remember (or let you save in a config file) the locations of every window, so you don't have to move them manual every time you start a game (and often afterward too). I always use these settings. Stock market: upper left corner of screen "Game Status" tabulation/stock round input: lower left corner of screen Map/operating round input: upper right corner of screen (and don't allow the height to self-adjust so it's taller than the screen height minus the Windows menu bar -- it now does so at the start of every OR until there are too few companies to cause it (in my case, 10 companies). The map also moves so it extends about an inch to the right of the screen, every time.) History/comment window: lower right corner SFY: Currently have a prototype working, but there is still some need to discuss which window properties are saved. My general opinion on UI is that the use of advanced libraries (adding a docking framework like JDock and improved layout managers like MIGLayout) should be the foundation in the longer run. * When no tile lay is legally possible, please skip the tile-lay step. (Which would mean that after the first couple of rounds, most minors' tile- lay step would be skipped, speeding up the game a lot.) SFY: As Erik pointed out already: At the beginning of the tile laying step the game engine does not know that no tile lay is possible. I am working on the whole tile laying process since I have the route algorithm working, but it is not trivial, as it should support not only the permissive, but also the restrictive/semi-restrictive rule-set. * It would be nice if I were allowed to have the program compute runs before I decide what tile to lay. Sometimes a company is so spread out it isn't obvious where its trains are going. (Of course I can always work around this by skipping the tile lay step, then "undo".) SFY: Very good suggestion, pretty easy to change. I wonder if this should be an UI configuration. (The game option for revenue calculation is a general allow/disallow switch, how it works precisely is maybe up to each player?) * Please get rid of the pop-up "<company> owns no trains, so revenue is $0." Instead, just silently skip the revenue-setting step. * Please get rid of BOTH pop-ups saying the bank has broken. Instead, just change the space on the Game Status window where the amount of money in the bank is normally shown to say "BROKEN", maybe in bright colors. SFY: All of those dialogs are created by the general-purpose DisplayBuffer mechanism, which allows the backend to transmit messages to the user. The question is what exactly is evil: Modal or pop-up? Changing those dialogs to non-modal is an easy change, but I suspect that the pop-up behavior is the one in question. The route information used to be a pop-up too and I moved that to the message panel above the map. For this I modified the MessagePanel class, which now allows to add additional and/or optional text to display. It is possible to make the information available there. This would require to add the message panel to the Stock/Status window. The double-pop-up is an application of a flag to display that message to the following player, but that can be easily removed. * The repeated pop-ups that "count down" to the winning player are even more annoying. SFY: At the time I fixed the UNDO behavior of the game end I took the liberty to emulate the behavior of Lemmi's moderator which has this dramatic display of players wealth at the end of the game. I agree that this makes only sense, if players total wealth is not displayed anyway throughout the game, but this is another option I would like to add for ftf-play. Other (which Erik already commented on): - Y: I support different preprinted tiles for Y-cities, which would not require to specify the hexes in TileSet.xml - Map labels: The map.xml already supports labels (see 1830 example). However it is not drawn yet. Again strong support here. (Would be even nice to be able to toggle on/off the city names). - Action skipping: For the recent 18EU action auto passing I used a different approach to skip actions automatically. Instead of not creating those actions, the actions are still generated, but are selected automatically. This should work on many occasions as well. But I wonder if this should be configurable as well, as it might confuse newbies (why does my company always get skipped?). |