String Fight
For context, this page is an in-progress attempt to implement this ruleset I devised:
the game is played on a board — classic 8x8, maybe? exact dimensions are probably important in a way that’ll become clear.
there are two players, white and black. white moves first.
the game requires a number of coins that are considered to have two faces, called 0 and 1. each players starts the game with a pile of N such coins. each turn has two phases: manipulation and attack. each player controls one half of the board, and coins on thir half of the board are coins they control.
an important notion for this game is that of a strings. a sequence of coins on the same row constitute a string. each string has a substings defined as expected. you can perform boolean logical operations on strings. for this game, the valid operations are AND, OR, XOR, NAND, NOR, and XNOR.
before the game starts, each player flips coins in secrets (exact procedure tbd) to produce a couple of 3(–5?) bit strings. these are their winstrings. when the game is over, they get victory points for each winstring that occurs among the strings or substrings on the board, and the one with the most wins.
before the game starts, the two players flip coins openly to determine a 4(–6?) bit ‘endstring’. if the endstring is ever formed during the game, the game is over.
during the manipulation phase, each player can chose one of four types of moves:
- placement: place a coin on any square that player controls
- flip: a string or substring on squares that player controls can be flipped, each coin showing its other face
- movement: a coin that a player controls can be moved to one of the four orthogonal squares, provided they are empty. this includes squares not controlled by that player
- extended placement: a player can place a coin on any square that meets two conditions: it is on the same column as a coin that player controls, and there is no coin between this square and that coin. in effect, every coin placed normally creates a ‘line of attack’ where others coins can be placed
- extended flip: a player may flip a string or substring they don’t control, but each coin must fit similar rules (same column, no in between pieces)
- operation: the player picks two strings they control, and combines them by logical operations. the player may chose one or both of the strings to be set to the resulting value
during the manipulation phase, each player must make a move; if they cannot, the game is over. in other words, when their pile and zone of control is empty, the game is over
during the attack phase, each player has the opportunity to announce an attack if they so desire. when announcing an attack, they must name a logical operation, and a target string that their opponent controls. they then note down a square in secret. this square must have a string at least as long as their target string
when a player is attacked, they may chose to respond by performing logical NOT on the targeted string. to resolve the attack, calculate the resulting string. for every 1, the corresponding coin in the target string is removed from play both players can chose to attack on the same turn, but black’s attack happens after white’s have resolved
naturally this would probably be an easier game to play on a computer
also, instead of flipping coins, you’d probably have to draw slips of paper to ensure the winstrings aren’t shared without leaking info
ooh, advanced version
at the beginning of the game, each player can pick a set number of ‘functions’, which are bound to a set of (possibly rolled, possibly handpicked) ‘opcodes’
during manipulation, attack, or response, a player can point to a string they control that forms a valid opcode, and invoke the relevant function