07-09-2021, 08:51 PM
We're running a test run of Far Horizons. For the most part, everyone's orders have processed as intended. There were some surprises (looking at you, "TR1 Ted 100"), but mostly no harm done.
This round, though, a player type "END" instead of "ZZZ" to end a message. The result was that all the remaining commands were skipped. Fortunately, the GM caught that during a test run and the player was able to correct it. But the correction introduced another error - it left out the "END" for the section. If we were running this through the post, pretty much the whole turn would have been lost. In a competitive game, that could be the end for the player.
It seems like the order processor should make corrections where the intent is clear. For example, "RESEARCH 200 ML" and "RESEARCH ML 200" should both apply 200 points of research towards the military tech level. The manual says that the command format is
| RESEARCH n tech ;; Spend "n" on research in technology "tech"
But the code accepts both.
The order processor can't fix the missing ZZZ because it can never be smart enough to tell whether a line is text or a command. Or, as mentioned in a comment:
/* Skip MESSAGE text. It may contain a line that starts with "start". */
This comes up because I'm porting that code base to another programming language. I'm trying my darndest not to change the game, but I did add a check for a missing "END" statement. If it finds "START xxxx" and "xxxx" is a valid section name (JUMPS, STRIKES, etc), then it inserts an "END" and continues.
Is that common in other games? Do other games give players who submit their orders early a chance to fix them? I think that in an article in Suspense, one of the Buffalo guys said that part of the fun of PBM was the pressure of getting orders exactly right all the time.
This round, though, a player type "END" instead of "ZZZ" to end a message. The result was that all the remaining commands were skipped. Fortunately, the GM caught that during a test run and the player was able to correct it. But the correction introduced another error - it left out the "END" for the section. If we were running this through the post, pretty much the whole turn would have been lost. In a competitive game, that could be the end for the player.
It seems like the order processor should make corrections where the intent is clear. For example, "RESEARCH 200 ML" and "RESEARCH ML 200" should both apply 200 points of research towards the military tech level. The manual says that the command format is
| RESEARCH n tech ;; Spend "n" on research in technology "tech"
But the code accepts both.
The order processor can't fix the missing ZZZ because it can never be smart enough to tell whether a line is text or a command. Or, as mentioned in a comment:
/* Skip MESSAGE text. It may contain a line that starts with "start". */
This comes up because I'm porting that code base to another programming language. I'm trying my darndest not to change the game, but I did add a check for a missing "END" statement. If it finds "START xxxx" and "xxxx" is a valid section name (JUMPS, STRIKES, etc), then it inserts an "END" and continues.
Is that common in other games? Do other games give players who submit their orders early a chance to fix them? I think that in an article in Suspense, one of the Buffalo guys said that part of the fun of PBM was the pressure of getting orders exactly right all the time.