#22152: "Add Turn Undo"
这个案件是关于哪方面的?
发生什么事? 请从下方选择
发生什么事? 请从下方选择
请检查是否已有同课题案件
若肯定,请「投票」给这桩案件。最高票的案件将「优先」处理!
# | Status | Votes | Game | Type | Title | Last update |
---|
细节描述
• 如果有的话,请将你在屏幕上所看到的错误信息粘贴出来.
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 请说明你当时想做什么,你做了什么,然后发生了什么
• 您正使用哪一款浏览器呢?
Mozilla v5
• 请以英文复制/粘贴显示文字而非你的语言。 如果你有这个系统漏洞发生时的屏幕截图(画质不要太差),你可以使用Imgur.com来把它上传到网络,然后将链接复制/粘贴到这里来。
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 这段文本在翻译系统中吗?如果存在,它被翻译是否已超过二十四小时?
• 您正使用哪一款浏览器呢?
Mozilla v5
• 请简明而精确地解释您的建议,以便让人明白您想表达的意思。
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 您正使用哪一款浏览器呢?
Mozilla v5
• 当你被封锁的时候,屏幕上出现了些什么呢?(空白的屏幕?部分游戏平台画面?错误的信息?)
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 您正使用哪一款浏览器呢?
Mozilla v5
• 哪个规则没有被BGA的设计小组写进游戏里?
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 在游戏回放中,是否有不符合游戏规则的地方?如果有的话,请问是在哪一步呢?
• 您正使用哪一款浏览器呢?
Mozilla v5
• 你当时是想做哪个游戏行动?
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 你在想做什么的时候,触发了这个游戏选项?
• 当你想这么做时,发生了什么事(错误信息,游戏状态信息,......)?
• 您正使用哪一款浏览器呢?
Mozilla v5
• 请问这个问题发生在游戏的哪个阶段(当前的游戏说明是什么)?
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 当你想进行一个游戏行动时,发生了什么事(错误信息,游戏状态信息,......)?
• 您正使用哪一款浏览器呢?
Mozilla v5
• 请描述一下显示画面上面的问题。 如果你有这个系统漏洞发生时的屏幕截图(画质不要太差),你可以使用Imgur.com来把它上传到网络,然后将链接复制/粘贴到这里来。
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 您正使用哪一款浏览器呢?
Mozilla v5
• 请以英文复制/粘贴显示文字而非你的语言。 如果你有这个系统漏洞发生时的屏幕截图(画质不要太差),你可以使用Imgur.com来把它上传到网络,然后将链接复制/粘贴到这里来。
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 这段文本在翻译系统中吗?如果存在,它被翻译是否已超过二十四小时?
• 您正使用哪一款浏览器呢?
Mozilla v5
• 请简明而精确地解释您的建议,以便让人明白您想表达的意思。
I think an turn undo feature would be helpful. I have accidentally tapped the wrong bubble and tried to sell cacao before I harvested it. Teotihuacan has it as a option the can be turned for the players that want it or left off for those that do not want it. /this seems like a good solution for a feature that only some players may want.• 您正使用哪一款浏览器呢?
Mozilla v5
案件历史
But "As a rule of thumb, on BGA we advise you to not undo moves." (en.doc.boardgamearena.com/BGA_Undo_policy)
It's the first time I program a game : I don't want to complexify the code at this time.
Maybe for a futur release...
Meanwhile, a refresh (F5) seems to be a solution.
I don't want to loose control of the programming by implementing a not recommended functionnality.
But I keep in mind this request : I hope that players don't expect a 100% perfect game in the first release.
An UNDO would be easy to program for this state.
But an UNDO on tile actions is very inconvinient : on each action click, animations are launched, scores are updated, notifications are written, database is updated and all players view action in real time.
Are players having to click confirm buttons too many times?
Are players intentionally playing bad moves or moving pieces around in order to "think"?
Are players frustrated that the interface wouldn't let them take the turn that they wanted to take because they made one misclick? (definitely sounds like the case here).
Imagine that I have four jungle actions to carry out around my worker tile 1-1-1-1 :
- Get 2 cacao
- Sale 1 cacao for 2 gold
- Get 1 cacao
- Sale 1 cacao for 4 gold
I can click on any action in any order. Each action update score and notify other players about what's happen.
How the undo must be managed ?
If I get 2 cacao, sale 1 for 2 gold... oh no, mistake, I wanted sale for 4 gold -> Undo.
Then, Undo become available for my first action too ?
What others players see ? Gold back to the tile and score decrease ?
en.doc.boardgamearena.com/Main_game_logic:_yourgamename.game.php#Undo_moves
This would undo your entire turn. Canceled notification log items would disappear and there would only be one item saying "<player> cancels their move". The guidelines do mention that this is a heavy-handed solution because it saves and restores the entire table's data, but it is consistent with how many other games are implementing undo.
A more difficult to implement alternative would be an incremental undo ("player undoes worker action"). This would require storing individual actions taken this turn in the database in some way and creating a coherent way to represent undo on the client side. This is how I implemented incremental undo for tile placement in Off the Rails, but it does have the disadvantage you mention of creating a log entry for every action that is done and undone.
I note that an Undo for the whole turn of actions is a way, but :
- a confirm button is thus necessary at the end;
- this state of the game is in multi player mode : the undo database will be for all players ?
- I must fire notifications to remove cacao fruits in the player zone;
I'm considering this Undo for the future, when I'll be more "veteran" with BGA programming.
This is a big refactoring.
$this->undoSavePoint(); at the beginning of a single player's turn, an undo button added to the action bar (possibly with a modal confirmation), an undo action added to action.php and added as a possible action to the state, and $this->undoRestorePoint(); if the user takes the undo action. See La Granja, Teotihuacan, and Off the Rails (mine) for publicly accessible precedents.
I do not believe an end turn button violates the intent of the BGA guidelines for multi-step turns. I have written a defense of this position on the forums here: boardgamearena.com/forum/viewtopic.php?f=12&t=16770
Of course, every game is different, and if an end turn button feels like too much of an extra step, you could investigate the "request undo" checkbox precedent established in Teotihuacan. This would require refactoring to add an extra state, or to add an extra argument to each player action.
database undo is not supported in multiactiveplayer states. There can be only one persistent active player between any two points where undoSavePoint and undoRestorePoint are called. From my understanding of this game, it seems pretty rare that the multipleactiveplayer state would require multiple actions, so you'd probably be fine without an undo here. If it feels like it does need an Undo to be consistent, it might be better to cycle through players in a single action. La Granja has a game option for this, but that might be overkill here.
No notifications are necessary to restore the game state. undoRestorePoint automatically handles this :)
This is implement is this new release version 200928-2118.
I reject the idea to program an undo on a multi players state : this is overkill and reduces the flow of the game.
增加一些新内容到这篇报告
- 其他的游戏桌 ID / 移动 ID
- 按 F5 是否解决了这个问题?
- 问题是否发生了好几次?还是每次都发生?还是时好时坏?
- 如果你有这个系统漏洞发生时的屏幕截图(画质不要太差),你可以使用Imgur.com来把它上传到网络,然后将链接复制/粘贴到这里来。