Page 1 of 2
Does this site's turn-based mode allow conditional moves?
Posted: 02 October 2020, 12:33
by Gulchen
Does this site have any games for which its turn-based mode allows conditional moves?
I think the answer is currently no, since
I have played a few turn-based games of Hex here
and
I don't remember seeing an option for conditional moves in those games
and
chess is the only at-all-popular game I can think of
for which it would be easier to allow conditional moves
, but I'm asking here just in case before I go to the Suggestions forum,
since I could be just missing something or the option could be hard to find.
Since I've needed to explain the concept to everyone I've
asked about it, I am pre-emptively explaining it here:
"conditional moves" means things like
If my opponent plays X, then I play Y.
where if my opponent does play X, then the site plays Y automatically
rather than waiting for me to come back online to play it
.
Those allow more of the time that turn-based games take to be thinking time,
rather than the-player-has-not-yet-come-online-to-play-the-obvious-move time.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 02 October 2020, 13:36
by Jest Phulin
This site has no conditional moves, either real-time or turn-based.
The slight exception to this is there are a few games that: if a player only has one legal move and an option has been set to do so the system will take that move. Shipping goods in Puerto Rico, for example, which is a mandatory action.
This is due to two reasons.
One, the site's framework was developed originally as real-time only. As such there was no general need for planning for conditional moves. The effort to program for it was better spent on other issues.
Two, it was decided that players should always take their turn, even if they only had one legal option. This prevents complaints about "my turn was skipped" when the site makes an automatic move.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 02 October 2020, 14:15
by Gulchen
One would have to go out of one's way to input a conditional move, so such complaints should be very rare.
(though I imagine there probably would indeed be a few such complaints)
Re: Does this site's turn-based mode allow conditional moves?
Posted: 02 October 2020, 16:54
by Tisaac
Gulchen wrote: ↑02 October 2020, 14:15
One would have to go out of one's way to input a conditional move, so such complaints should be very rare.
(though I imagine there probably would indeed be a few such complaints)
I can confirm what Jest Phulin said, these complaints are not rare at all. In all the games I've developp, people have *always* complained about any automatic forced action.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 02 October 2020, 18:32
by Gulchen
@Tisaac:
I have essentially no game development experience,
but your phrasing ("automatic forced") suggests that you
might be misunderstanding what I mean, so I'm checking.
Although one could certainly make a better
user-interface and functionality for this,
I'm guessing that the simplest-to-program
implementation would be the following.
The player clicks "Enter conditional move(s)", which
opens a 2-column table into which the user can type text.
I can't seem to get BBcode tables to work here,
so I'm using code blocks to show examples.
Code: Select all
+-------------------+-----------------+
| | |
| Opponent's move | Your response |
| | |
+-------------------+-----------------+
| | |
+-------------------+-----------------+
| | |
+-------------------+-----------------+
| | |
+-------------------+-----------------+
Here, the user would be able to enter the moves for which they
want an automatic response, and their response to each of those.
For example, in chess,
Code: Select all
+-------------------+-----------------+
| | |
| Opponent's move | Your response |
| | |
+-------------------+-----------------+
| Bc5 | 0-0 |
+-------------------+-----------------+
| Nf6 | Ng5 |
+-------------------+-----------------+
| | |
+-------------------+-----------------+
is one that is fairly-likely to happen in the opening.
The user then either clicks "Cancel" or "Confirm conditional moves".
As I mentioned, one could certainly improve
the user-interface and functionality
but what I described seems to me like
it would be the easiest to program.
Although this technically does lead to "automatic forced action"s,
that is only because the user went out of their way
to make their responses be automatic and forced.
in conclusion:
Have you gotten complaints about such actions even after the people
went out of their way to make the actions be automatic and forced?
Re: Does this site's turn-based mode allow conditional moves?
Posted: 02 October 2020, 19:34
by Jest Phulin
Computers are very poor at understanding English. They would need a specific set of conditions and what to do under each condition.
For chess, realize that the opening move has 20 possibilities. (Each of 8 pawns forward 1 or 2, each of 2 knights having 2 spaces in front of the pawn rank to move to.) This is just the opening ability. As pieces like bishops get unblocked, and can move any from 1-8 spaces, this number increases dramatically. Or take a game like Go. In a 19x19 grid less than 10 moves into the game, there are over 350 possible moves. The user interface would have to list all possible opponent moves, then for each move list all possible player moves. So for chess that's 400 radio buttons for the opening, and for Go that's 120,000+ radio buttons.
This assumes games with no hidden information. On games where the other player's hand of cards (for example) is hidden, the calculations would have to show every possible combination of cards that the opponent might have. Otherwise, it would reveal what cards they do have if it only listed those moves.
How about games with randomness (dice throws)? Backgammon has 21 possible die combinations. With the starting layout, of 4 blots of checkers for opponent's moves and then 21 die rolls for the player, that's 1600 possibilities.
In short, way too many possibilities for reasonable coding. And, no, the user can't be trusted to type in the data. Something as simple as Go, "if a player places on C4 place my piece on D3" will have problems with entries of C-4, C 4, c4, 4c, 4-C, ";drop table; (yeah, SQL injection is a thing...), etc.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 03 October 2020, 14:36
by Gulchen
The SQL injection issue is a very good point that I had not thought of.
That significantly reduces the number of games
for which I think this should be easy-enough to do.
However, you are greatly overestimating
the necessary number of radio buttons.
The main reason is, it would
not have to list all possible
player moves
for each possible opponent move:
Rather, it would just have to give a
single way of choosing the player move.
The smaller reason is, the way of choosing a set of moves would
not necessarily require a radio button for each legal player move,
although in some cases that might be best.
a possibility for chess:
Code: Select all
+---------------------------------------------------------------+
| Opponent's move |
| |
| origin square destination square promotion |
| |
| [a] [b] [1] [2] [a] [b] [1] [2] [none] |
| [c] [d] [3] [4] [c] [d] [3] [4] |
| [e] [f] [5] [6] [e] [f] [5] [6] [Q] [N] |
| [g] [h] [7] [8] [g] [h] [7] [8] [R] [B] |
+---------------------------------------------------------------+
| Your response |
| |
| origin square destination square promotion |
| |
| [a] [b] [1] [2] [a] [b] [1] [2] [none] |
| [c] [d] [3] [4] [c] [d] [3] [4] |
| [e] [f] [5] [6] [e] [f] [5] [6] [Q] [N] |
| [g] [h] [7] [8] [g] [h] [7] [8] [R] [B] |
+---------------------------------------------------------------+
a possibility for Go:
Code: Select all
+----------------------------------------------------------+
| Opponent's move |
| |
| column row |
| |
| [pass] [a] [b] [c] [d] [pass] [1] [2] [3] [4] |
| [e] [f] [g] [h] [i] [5] [6] [7] [8] [9] |
| [j] [k] [L] [m] [n] [10] [11] [12] [13] [14] |
| [o] [p] [q] [r] [s] [15] [16] [17] [18] [19] |
+----------------------------------------------------------+
| Your response |
| |
| column row |
| |
| [pass] [a] [b] [c] [d] [pass] [1] [2] [3] [4] |
| [e] [f] [g] [h] [i] [5] [6] [7] [8] [9] |
| [j] [k] [L] [m] [n] [10] [11] [12] [13] [14] |
| [o] [p] [q] [r] [s] [15] [16] [17] [18] [19] |
+----------------------------------------------------------+
Incidentally, if one used checkboxes rather than
radio buttons for the "Opponent's move" part, then for
certain sets of possible moves, one could easily input
a response as being for every opposing-move in the set.
That might be used for things like
"If my opponent plays anywhere in the top half of the board, then I play Y."
in Go, and for
"If my opponent takes [specific piece], then I play Y."
in chess.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 03 October 2020, 16:41
by Jest Phulin
Gulchen wrote: ↑03 October 2020, 14:36
a possibility for chess:
Code: Select all
+---------------------------------------------------------------+
| Opponent's move |
| |
| origin square destination square promotion |
| |
| [a] [b] [1] [2] [a] [b] [1] [2] [none] |
| [c] [d] [3] [4] [c] [d] [3] [4] |
| [e] [f] [5] [6] [e] [f] [5] [6] [Q] [N] |
| [g] [h] [7] [8] [g] [h] [7] [8] [R] [B] |
+---------------------------------------------------------------+
| Your response |
| |
| origin square destination square promotion |
| |
| [a] [b] [1] [2] [a] [b] [1] [2] [none] |
| [c] [d] [3] [4] [c] [d] [3] [4] |
| [e] [f] [5] [6] [e] [f] [5] [6] [Q] [N] |
| [g] [h] [7] [8] [g] [h] [7] [8] [R] [B] |
+---------------------------------------------------------------+
So now, instead of the site listing the possible moves, you require the player to list all possible opponent's moves. While this reduces the work from absurd to ridiculous, it is still a ridiculous amount of work for little gain.
Speaking of which, what is the expected gain? It can't be saving time, as the time required to enter even one conditional move of "in
all cases do <<this move>>" is greater than simply doing <<this move>>.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 03 October 2020, 18:09
by Gulchen
The only times this requires the player to list all possible opponent's moves, are when the player
already knows what their response would be to each of the opponent's possible moves
and
finds each of those possible moves to be likely-enough that they decide to set up a response to each of those moves
.
The expected gain is saving time, both on the game-clock and on the wall-clock.
Your last sentence neglects the time between player A playing an expected move to
which player B's response is obvious, and player B coming online to play that response.
I imagine that time would frequently be hours.
On the game-clock, a conditional move from player B would save
player B that amount of time
and
player A the time that would otherwise elapse between player B
playing their response and player A seeing that response
.
On the wall-clock, a conditional move from player B
would save the sum of those two amounts of time.
Yes, entering conditional moves would take more giving-input-to-the-site time,
but the players would only do so when they find that outweighed by the
likelihood of saving a large amount of time on the wall-clock and/or their game-clock.
As a reminder, even when the player does enter conditional moves,
they would not have to list all possible opponent's moves:
They would choose some number of those moves
(the ones they find fairly likely and for which they already know how they'd respond),
and just list those moves and their responses to those moves.
Re: Does this site's turn-based mode allow conditional moves?
Posted: 03 October 2020, 23:14
by RicardoRix
I've played turn-based chess on
https://www.chessworld.net/ and it has a 'conditional move' feature. It works well but I think only allows 1 conditional move. It's mostly useful with things like re-capture or when you're put into check and it follows these obvious moves. Each time the player must enter the move sequence, nothing is automatic (just to be clear with the comments above).
Anyway, it's really very unlikely here on BGA, each game is programmed individually and they obviously all work very differently. There is an underlying code framework that most of the games use, but even so the BIG feature to introduce is that you play a move for your opponent, and then your own move. Nothing like this normally already exists and it is not something that can be easily added.
The best you have, which I know is not what you mean, is the automatic moves that
sometimes rarely occur in games, like the last round of 6 Nimmt where you only have 1 card to play, the system plays it for you.
So in these very specific instances you may get something to help speed up play, but even here with a lot of people, they feel they are missing out on the automatic event and information. A typical example might be taking the last die in Stone Age, but it's still relevant that the player taking the resource is present to know that has just happened.
A good example is Saint Petersburg, where there is an option to skip until the next round starts, and Terra Mystica allows automatic accepting VP to power on adjacent opponent build.
tl;dr It's very specific to each game and mechanic, and each game needs the particular feature to be programmed accordingly.