As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Suggestions & ideas / Suggestions & idées
Post Reply
User avatar
capnemo-1734
Posts: 17
Joined: 22 April 2022, 00:47

As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by capnemo-1734 »

In chess some people play if you touch the piece you're committed to it. I never particularly liked this rule.

Here on BGA when you send your move to the server, you're locked in, the equivalent of touching your chess piece. This could be better. Another online site I use does it better. Let me explain.

Firstly, this is an amazing site. I appreciate the time and energy the developers clearly poured into it. And to be fair, BGA does many things better than the other site, namely presentation and gamification.

When I play a game on the other site and I touch a piece and move it forward, that site practices a principle of allowing me to rewind a move back to the point when I did something which reveals new information. That is, I can't draw a card then decide I want to rewind. But I can begin to move my pieces about and when I see how doing that pans out, I can rewind.

I've played some games and been rusty on the rules. Then I move things and I see that what I thought would happen didn't, in fact, happen.

When playing on the other site, the design of the interface and interactions reveals the rules while I'm playing. It instructs me as to right and wrong. It's the equivalent of playing with friends and then doing something not quite right. The friend stops you and explains the problem. Having been corrected, you rewind and make a new move based on a correct understanding. This is how games play out in the real world. On BGA, I've started making moves and the UI ultimately made it clear I had misunderstood something, but had no way to rewind or correct. In a world of playing games over weeks, it's bothersome when you're obliged to make a bad move that in reality wouldn't have happened.

In the programming world there is command-query separation. Some functions perform calculations and some effects. Sending a move to the server is a premature effect because it locks you in. The beauty of using query-based functions is, in the UI, I can see what I'm proposing before committing to it as the other site does. Nothing is sent to the server until I'm ready to save/commit my move (e.g. Unit of Work). I am relatively new to online board games; however, this thread appears to run through all the games on the other site as a principle.

In user experience land, having a game state which is essentially a spreadsheet (where I can fearlessly ask "what if?") is the feature above all others. I only have to be hesitant when doing things that expose me to new information. I don't have to be hesitant that touching my queen will oblige me to bring it out. I've been obliged to moves on BGA that didn't play out as I though (in The Palaces of Carrara). On the other site, I would've rewound. On BGA, I couldn't.
Last edited by capnemo-1734 on 30 May 2022, 20:31, edited 2 times in total.
User avatar
robinzig
Posts: 459
Joined: 11 February 2021, 18:23

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by robinzig »

It seems you're basically asking for automatic undo on every game. This is a much-requested feature - but unfortunately with the BGA framework as it is, there's basically no way to "fix" every game to have this. It's up to the developer(s) implementing each individual game to put this in, if they feel it worthwhile.

Many games added more recently to the site do indeed have what you're describing - the ability to freely rewind actions while it's still you're turn, unless as you say you reveal new information. Particularly those involving more complex turns. I'm thinking particularly of Great Western Trail, the Castles of Burgundy, Agricola - and likely many others.

If there are particular games you think are missing this feature, by all means raise a suggestion via the bug report system and see if the developer(s) behind that game have the time and the inclination to implement undo. Unfortunately many games in the site, particularly older ones, are not really actively maintained, as most developers are volunteers and may no longer regularly visit the site or want to continue maintaining things they did years ago.
User avatar
Jest Phulin
Posts: 1856
Joined: 08 July 2013, 21:50

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by Jest Phulin »

capnemo-1734 wrote: 29 May 2022, 13:55 In chess some people play if you touch the piece you're committed to it. I never particularly liked this rule.
Unfortunately, no matter how much you may dislike this, it is an actual rule. https://www.fide.com/FIDE/handbook/LawsOfChess.pdf Article 4.3

Now, that being said, there are two main reasons for people wanting an undo on this site:
1) misclicks happen, especially with big fingers on smartphone sized screens.
2) Hm, I wonder what happens if I do this...

2 tends to be annoying for other players. Please plan your moves in a strategy game. And, this is what you seem to be proposing.
1 is valid, but can be overcome with being careful.

So, in addition to the platform not being able to easily support it and older games not having active developers, chances of a site-wide undo are slim.

----
As a side note, mentioning a specific competitive gaming website is against the terms of service on BGA.
User avatar
capnemo-1734
Posts: 17
Joined: 22 April 2022, 00:47

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by capnemo-1734 »

I am just putting out that the user experience is much improved when dealing with UIs that don't demand carefulness.

I understand the kind of programming that goes into creating a UI like I've seen demonstrated on another popular online board gaming site. That site builds UIs the way I'd build them given my programming sensibilities. The core of a board game is pure and functional algorithms (all queries, no commands). The UI and side effects (commands) are messy. Creating a look-ahead UI is an overarching design decision, but one that I feel aligns with the extreme care of a Steve Jobs, who felt extreme attention to details sets apart great products. UX is what it is because people feel a certain way when certain details are minded (or not).

I can understand leaving alone what's been built due to the crazy cost of retrofits. I'm simply pointing out that the other site must have adopted a certain set of guiding principles because I see the undo/redo in the games I've played. It's sublime. I've played Palaces of Carrara on both sites and the other site's UX is better. Its look-ahead design is on par with the kind of attention to detail that causes people to love Apple products. I'm playing Bonfire, Hacienda, Oracle of Delphi, and Palaces. The same UX is present in all of them.

I'm not addressing misclicks. And I'm not exactly addressing this either:
Jest Phulin wrote: 30 May 2022, 00:02 2) Hm, I wonder what happens if I do this...

2 tends to be annoying for other players. Please plan your moves in a strategy game. And, this is what you seem to be proposing.
I've mentioned a person can at times be rusty on rules. They think one thing will happen, but another happens. A certain kind of UI will make it obvious that one has misunderstood (or forgotten a rule). The player is not painted into a corner. He can react to being corrected by the UI. I'm missing how anyone would be annoyed in an asynchronous, turn-based game. What I'm proposing is, after all, implemented elsewhere.

I am not aware of the rule in the terms of service you mention. Please direct me to the specific rule and I'll do my best to follow it. I'm not in the habit of reading the lengthy legalese many sites print to protect their interests. I'm citing a real-world example others may be familiar with merely to demonstrate a point. I have no affiliation with any such sites. I am not promoting anything other than a concept. I've offered my perspective and content to leave it at that.

Anyway, I appreciate BGA, greatly, and all the hard work that allows us to play games. So thanks to everyone who's played any part in it.
Last edited by capnemo-1734 on 30 May 2022, 20:15, edited 6 times in total.
User avatar
Jest Phulin
Posts: 1856
Joined: 08 July 2013, 21:50

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by Jest Phulin »

capnemo-1734 wrote: 30 May 2022, 02:16 I am not aware of the rule in the terms of service you mention. Please direct me to the specific rule and I'll do my best to follow it.
FAQ wrote: What guidelines should I follow when communicating?
...
And finally, do not use Board Game Arena communication resources to advertise other gaming websites. If you want to talk about your experience elsewhere, please just say something like 'on another gaming website'.
Not even buried in the terms of service, but in the frequently asked questions.
capnemo-1734 wrote: 30 May 2022, 02:16 I'm missing how anyone would be annoyed in an asynchronous, turn-based game.
I agree that in an asynchronous, turn-based game redoing one's move will not annoy other players since they are not sitting at the table. However, BGA was developed as a real-time platform. Turn-based games are an add-on. With that, every time a player makes a move that move is relayed to everyone sitting at the table. I believe this means that even if you are the only player at the table, the system will attempt to send the message to other players. This uses communication resources. Additionally, if there is anyone at the table (and there will be for all the real-time games), seeing pieces shift back and forth with no actual game progress is quite annoying to several people (myself included).

As another side note, most games have a wiki-style rules explanation on the same screen as the game table. It is not that difficult to check the rules while playing, especially if one is playing turn-based.
User avatar
voriki
Posts: 773
Joined: 28 August 2020, 12:27

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by voriki »

An undo button is not feasible, there are hundreds of reasons against it, and another hundred reasons more what difficulties this poses programming this in.

What is possible however, in some games, that a programmer adds an OPTIONAL confirm button. For a game like chess this seems like a possibility.

You make you move, and then the board asks you if you want to complete your turn, or move the piece back. But then it's wise to file a bugreport for each game to request this feature, but have to look if it's a possibility or implement or not.
User avatar
capnemo-1734
Posts: 17
Joined: 22 April 2022, 00:47

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by capnemo-1734 »

voriki wrote: 30 May 2022, 07:42 An undo button is not feasible, there are hundreds of reasons against it, and another hundred reasons more what difficulties this poses programming this in.
Not feasible? I've mentioned that another real-world site implements exactly what I suggest in all their games. I've suggested it's what sets their site apart UX-wise.

I fully understand the implementation of both styles. The style of programming I'm promoting is primarily functional in that it prefers queries to commands for most things. When the game state is built on persistent data structures (or just data that is not mutated) undo/redo is trivial. I've used the principles I learned from Clojure in JavaScript, using objects and arrays instead of persistent data structures, and it works equally well. The concepts needed to implement trivial undo/redo are available in all programming languages. See how Redux does it in JavaScript.
voriki wrote: 30 May 2022, 07:42You make you move, and then the board asks you if you want to complete your turn, or move the piece back.
It's nowhere near as awkward as you're making it. If you know the site I'm describing, you can play The Palaces of Carrara there and compare for yourself. (I was told I ought not mention the site by name.)
Last edited by capnemo-1734 on 30 May 2022, 20:25, edited 14 times in total.
User avatar
capnemo-1734
Posts: 17
Joined: 22 April 2022, 00:47

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by capnemo-1734 »

@Jest - Thanks for the details. I've whitewashed my mention to the other site per the terms.
User avatar
Jest Phulin
Posts: 1856
Joined: 08 July 2013, 21:50

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by Jest Phulin »

capnemo-1734 wrote: 30 May 2022, 19:50 Not feasible? I've mentioned that another real-world site implements ...
Voriki said not feasible, not that it was impossible. It would take a complete overhaul of the current architecture, which would require reprogramming all current games.
User avatar
Meeplelowda
Posts: 3849
Joined: 14 March 2020, 10:31

Re: As a cardinal rule don't prematurely commit moves to server, make them easy to revise

Post by Meeplelowda »

capnemo-1734 wrote: 30 May 2022, 19:50 Not feasible? I've mentioned that another real-world site implements exactly what I suggest in all their games. I've suggested it's what sets their site apart UX-wise.
If you search the forum you will find this is not some earth shattering concept that you conceived of for the first time. In fact, as mentioned above, this very functionality is implemented for some games. There is likely a vigorous debate taking place in one of those other threads.
Play Now lobby 4ever! https://boardgamearena.com/lobby
Post Reply

Return to “Suggestions”