[HN Gopher] Board game where tigers hunt goats while goats block...
___________________________________________________________________
Board game where tigers hunt goats while goats block their
movements
Author : iamsuman
Score : 80 points
Date : 2023-04-07 09:24 UTC (13 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| spywaregorilla wrote:
| I tried playing as goats on the demo hard ai. It was a bit more
| interesting than I expected, but after winning on hard one time I
| was able to immediately win again in about 15 seconds. Is this
| game easily solved for goats? Or is the ai perhaps just not very
| good? It does seem like it just chases opportunities for captures
| greedily.
|
| edit: Looks like I struggle to win as tigers too
| syntheweave wrote:
| The game seems to be glitchy about its ruleset. I _lost_ as
| tigers when only six goats were placed.
|
| Edit:
| https://github.com/sumn2u/baghchal/blob/master/src/library/u...
|
| This is the code for legal movement and now I understand why it
| feels buggy: it's trying to express the logic by converting
| between a mishmash of numeric node indexes, directions and
| distances. This exposes several classes of bugs that aren't
| about the logic, but how the state is encoded.
|
| Two approaches that would work better are:
|
| 1. Design a node data structure with 8 directional exits.
| Connect the graph through that structure; express movement as a
| traversal through nodes along the same movement direction once
| or twice, rejected if it reaches a null connection or node is
| occupied. Express board state by serializing the node graph
| down to an array of "goat, tiger, empty" and comparing the
| array to find repeated positions.
|
| 2. Generate the graph offline and use it to emit lookup tables
| for all board indexes and their possible movements. This would
| work as an optimization if you needed it to run very fast(e.g.
| real time game with thousands of goats and tigers), and it
| would dramatically reduce the amount of re-encoding of state
| going on in the inner loop.
| spywaregorilla wrote:
| I think the movement works correctly if you accept that
| tigers can't go back to their previous spot, which is rough.
| However, the bug seems to be that sometimes, when a tiger
| TRIES to do the above, it will trigger a loss for the tigers
| even if there are legal moves. I have managed to get a win
| against Hard Goat AI. Generally you want to be positioning
| tigers with 2 spaces between them, and when you need to break
| the pattern, do so with a tiger that can get back to its
| original space in a right triangle pattern with the original
| spot being the right angle vertex.
|
| I think this is mostly just possible because the AI plays
| imperfectly. Again, if you forget which tiger was last
| positioned where, you'll probably trigger a loss for
| yourself.
| dr_orpheus wrote:
| But the AI tigers are able to go back to their own spots.
| iamsuman wrote:
| Thank you for the suggestions.
| hgsgm wrote:
| With this AI, It's trivial to win as goats by playing as far in
| the corners as possible on every turn.
| spywaregorilla wrote:
| The Goat AI appears to do the same, and seems very hard to
| defeat. What's the counterplay?
|
| edit: I'm not sure the game is coded correctly. It seems like
| once a tiger moves from A to B, it can never move from B to
| A. Including cases where the tiger jumps A to C, it cannot
| jump back from C to A if the goat places another one in B...
| That feels very unintuitive and untrackable in a real world
| game.
| iamsuman wrote:
| There are times where the game could fall into a repetitive
| cycle of positions; especially goats may use this resort to
| defend themselves from being captured. In order to avoid
| this kind of situation, that rule was established.
| spywaregorilla wrote:
| Well it's not my game, but this does not sound correct to
| me. The game by definition cannot get into a cycle of
| positions until all the goats are placed. This seems like
| it ought to be a restriction only on moving goats, and
| only that the goat player should not be allowed to move
| the last moved goat to it's original spot.
|
| As it stands now, a tiger player cannot move a tiger to
| it's previous spot from several turns prior, including
| capturing over the same space. Which means that even if
| the goat player loses a goat, they can put a goat back in
| the same space and it'll now be safe (vs. the tiger that
| just captured it at least). I'm not convinced it is
| possible to win against a competent goat player.
| iamsuman wrote:
| Your arguments are also valid. I believe there should be
| an option to choose whether this restriction is applied
| or not, which would provide players with greater
| flexibility.
| captn3m0 wrote:
| Ludii has a nice page on Baghchal:
| https://ludii.games/details.php?keyword=Baghchal
| iamsuman wrote:
| Indeed. What do you think of this one?
|
| https://iamsuman.itch.io/bagchal
| scotty79 wrote:
| I've seen a game "Wolf and Goats" played on standard
| checkerboard.
|
| Goats are white and set up like standard checkers. Black is one
| wolf set up on any black field on the opposite edge.
|
| Wolf moves diagonally back and forth and takes pieces by jumping
| over them (at will?) like in checkers (also back and forth) and
| wins when he passes the goats so he has clear way to their
| starting edge. Goats can just move forward like in checkers but
| they can't take wolf piece and win if they surround wolf so that
| he doesn't have any move left.
|
| There are also few similar games played of different boards:
| https://en.m.wikipedia.org/wiki/Fox_games
| iamsuman wrote:
| Looks interesting. Love to try those games.
| 29athrowaway wrote:
| See also Adugo, Taptana, Komikan
| iamsuman wrote:
| Wow, these games are so cool. Thanks for sharing.
| bee_rider wrote:
| It also reminds me of games like Fox and Goose and Tafl. I
| wonder if they are all related.
| aidenn0 wrote:
| My preferred descendant of Fox and Geese is Asalto[1]. If you
| have e.g. a bunch of pennies and two dimes, plus a ruler and
| a pencil you can draw your own board in under a minutes. It
| also plays on many solitaire[2] boards.
|
| With practice, the attacker will always win, so you play two
| rounds, switching roles and see who can win with the fewest
| losses.
|
| 1: https://boardgamegeek.com/boardgame/25988/asalto
|
| 2: https://boardgamegeek.com/boardgame/13713/solitaire
| bombcar wrote:
| There's also Pratchet's Thud which is similar to Hnefatafl
| but has no king piece:
| https://boardgamegeek.com/boardgame/4532/thud
|
| (Asymmetrical game fans should also look at Ogre
| https://boardgamegeek.com/boardgame/5206/ogre - one advantage
| of asymmetrical games is it is very easy to handicap by
| adding or removing pieces from the side that is "weaker/more
| numerous")
| Jeff_Brown wrote:
| Also Nine Men's Morris -- which Wikipedia informs me has been
| solved (it's a tie).
| bipop5000 wrote:
| Bagchaal. Memories of playing this in the Kathmandu alleyways and
| random front yards of people. The 90s was alright.
| iamsuman wrote:
| Feeling nostalgic, right? Having grown up playing this game, I
| find it hard to see so few people playing it these days.
| tomcam wrote:
| That short post was so evocative I would love to read your blog
| or buy your book.
___________________________________________________________________
(page generated 2023-04-07 23:01 UTC)