Όλες οι αναφορές
Cacao αναφορές
#22152: "Add Turn Undo"
rejected: Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός
44
Με τι σχετίζεται αύτη η αναφορά;
Τι συνέβη; Επιλέξτε από τα παρακάτω
Πρόταση: κατά την γνώμη μου, τα ακόλουθα θα βελτίωναν σημαντικά την εφαρμογή του παιχνιδιού
Λεπτομερής περιγραφή
• Παρακάλώ εξηγήστε την πρότασή σας με ακρίβεια και περιεκτικότητα, ώστε να είναι όσο το δυνατόν πιο εύκολο να γίνει αντιληπτό τι εννοείτε.
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
Ιστορικό αναφορών
4 Αυγ 2020 23:13 •
5 Αυγ 2020 6:03 •
DarkBeerMike • Αυτή η πρόταση δεν έχει αναλυθεί ακόμα από τους προγραμματιστές:
5 Αυγ 2020 21:34 • Consider a checkbox to enable/disable the undo feature. I want it, but other players may feel differently.
Aeneas90 • Αυτή η πρόταση δεν έχει αναλυθεί ακόμα από τους προγραμματιστές:
8 Αυγ 2020 20:23 • Agreed. Undo should be mandatory for all games if hidden information isnt revealed.
ExtraPaul • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
9 Αυγ 2020 9:33 • I understand your request.
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.
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.
Aeneas90 • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
9 Αυγ 2020 16:35 • Rejected the most upvoted issue because "its my first time and its too hard" doesnt fill me with confidence here. Perhaps see if there's a more experienced dev that can assist.
ExtraPaul • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
9 Αυγ 2020 16:46 • I correct my point of view : it's not "to hard", but "too dangerous".
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.
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.
ExtraPaul • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
10 Αυγ 2020 5:57 • The request #22149 ask to change worker tile place on the board, then confirm.
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.
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.
MoonGoyal • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
14 Αυγ 2020 0:54 • I agree. Many games need this feature
paramesis • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
14 Αυγ 2020 13:59 • An Undo action or confirm step is very frequently requested for adaptations where it doesn't exist, and I frequently see developers lean on the guidelines as an authoritative answer to every situation. Any experienced designer will tell you there is no such thing as a one-size-fits-all answer. The entire intent of guidelines is to make better adaptations, and it is on the developer to decide where that line is.
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).
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).
ExtraPaul • Οι προγραμματιστές θα ήθελαν περισσότερες πληροφορίες σχετικά με αυτή την υπόδειξη.:
14 Αυγ 2020 16:46 • Hello Paramesis.
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 ?
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 ?
paramesis • Οι προγραμματιστές θα ήθελαν περισσότερες πληροφορίες σχετικά με αυτή την υπόδειξη.:
14 Αυγ 2020 17:16 • There are a few ways you could go about this, but the simplest to implement and the one I would recommend would be database undo.
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.
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.
ExtraPaul • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
15 Αυγ 2020 10:04 • Thank you for this explanation.
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.
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.
paramesis • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
15 Αυγ 2020 15:20 • The basic implementation of database undo actually only requires a few lines of code.
$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->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 :)
paramesis • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
15 Αυγ 2020 15:21 • I forgot to add that rolling out database undo will break games in progress, so it's best to do that now while it's in Alpha.
iris1 • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
25 Αυγ 2020 15:58 • Wish it was like in carcassonne 3 tiles in hand. Be able to change mind about which of the three tiles and try them out on the before you confirm. Then I guess the undo would be not necessary.
razzinplant • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
14 Σεπ 2020 3:39 • An undo button when placing a tile would be nice so before you confirm placement you can choose a different tile.
NexusHorizon • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
24 Σεπ 2020 10:32 • I think that would be enough and a more practical solution (for players and developer) to have the ability to change the worker tile just before choosing the jungle tile
ExtraPaul • Οι προγραμματιστές συμφωνούν πως αυτό είναι μια καλή ιδέα και σκοπεύουν να δουλέψουν πάνω σε αυτή.:
24 Σεπ 2020 11:49 • Yes, and this iidea is here : boardgamearena.com/bug?id=24585
ExtraPaul • Οι προγραμματιστές πιστεύουν ότι δεν είναι καλή ιδέα ή ότι ο λόγος κόστους / οφέλους είναι πολύ υψηλός:
28 Σεπ 2020 21:55 • "I think that would be enough and a more practical solution (for players and developer) to have the ability to change the worker tile just before choosing the jungle tile"
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.
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 για να το ανεβάσεις και να κάνεις αντιγραφή/επικόλληση του συνδέσμου εδώ.