The project is to build desktop software that can run on a Mac (Leopard and Snow Leopard) that implements a multiplayer game called Atar. ? The game is played on a set of triangles and the board size shrinks throughout the game. ? The components of the game include a configuration screen, stone placement, and game play (which includes turn-taking, stone removal, and legal move identification). ? "Rows" of triangles are removed from the board when they are empty of pieces. ? Another component of the game is the "shot-clock" which is a counter that resets every time a row is removed or a stone removed.
The project should be done in java, flash, or python. ? Once this project is complete, a follow on project may happen to turn the desktop app into a web app.
## Deliverables
The project is to build desktop software that can run on a Mac
(Leopard and Snow Leopard) that implements a multiplayer game called
Atar. ? The game is played on a set of triangles and the board size
shrinks throughout the game. ? The components of the game include a
configuration screen, stone placement, and game play (which includes
turn-taking, stone removal, and legal move identification). ? "Rows" of
triangles are removed from the board when they are empty of pieces.
Another component of the game is the "shot-clock" which is a counter
that resets every time a row is removed or a stone removed.
The project should be done in java, flash, or python. ? Once this
project is complete, a follow on project may happen to turn the
desktop app into a web app.
------------------------------------------------------------------------------------
Rules of Atar
Definitions
-----------
1. ATAR is played on a a triangular board composed of smaller,
tesselating equilateral triangles. (Parameter #1: number of triangular
spaces per side of the board. )
2. Each player begins with the same number of stones, one color per
player. ? (Parameter #2: number of players. Will presumably also be a
variable parameter, as above. Parameter #3: number of stones. Variable
for now. ? Should be a constant density of the number of triangles.
Let's say 33%. ? It should be possible to play with 2-7 players, and to
change the # of stones for each. ? The density just sets the default
initial values of the # of stones; they can be then further edited.?
3. A "space" is any of the smallest triangles within the playing
board. At most one stone may occupy the interior of a space at any
given time during the game.
4. "Adjoining", "adjacent", or "connected" spaces share a side. Spaces
sharing only a point are not connected.
5. A "turn" is one player's opportunity to move or remove stones,
start the draw clock, etc. (or to place a stone during the setup
phase).
6. A "liberty" is an unoccupied space connected to a space occupied by
a stone, thus allowing the stone the potential to move into the
liberty space.
7. A "perimeter row" consists of all spaces that touch a given edge of
the playing board - including spaces that share a side with the edge
of the board and spaces that only touch the edge of the board with a
point.
8. Order of play is randomly selected. (We could do this automatically
online, obviously. In a board version, people could draw from a bag or
something.)
9. Unless the winner is determined by the draw-clock (see below), the
winner of the game is the last player with at least one stone still on
the board.
Setup
-----
1. In the setup phase, each player's turn consists of placing one of
his/her stones on any unoccupied space on the board.
2. Any unoccupied space is allowed, with the exception that placing a
stone may not remove the last liberty of an opponent's stone.
Play
----
The first person to place a stone moves first, play then continues clockwise.?
Each player's turn proceeds in the following order:
1. Any empty perimeter rows are removed from the board.
2. Each stone belonging to the player whose turn it is must be moved
to an adjacent free space or removed from the board. Each stone can
and must be visited (i.e., moved or removed) exactly once in the
turn. Stones can be visited in any order. The action happens in
real-time: a moved stone must move to an adjacent space that is
unoccupied at the moment that it moves (which may have been vacated by
a stone moved or removed earlier in the turn), and a removed stone
must have no liberties at the moment it is removed. ? Once a player has
moved all their stones, this stage of their turn ends.
3A. If the draw-clock is running, it decrements now. If the draw-clock
has reached zero (i.e., fallen off the perimeter of the board), then
the game is over, and the winner of the game is determined by the
draw-clock rules.
3B. If the draw-clock is not running, it may be started now, but only
by the player whose turn it is. If the draw-clock is started, it
decrements (i.e., appears on the perimeter of the board) immediately,
at the end of the current turn.
The Draw-Clock
--------------
The draw-clock provides a way to decide the outcome of a game in which
defensive play by any or all players could conceivably last
indefinitely.
1. The draw-clock is started when any player chooses to start it (see
above), as long as it is not already running.
2. At the end of the turn when it starts, a marker appears next to the
perimeter edge of a space at one corner of the board. At the end of
each successive turn, the marker moves to the perimeter edge of the
next space along the edge of the board, thus eventually traversing the
entire perimeter of the board. Corner spaces are thus "counted" twice
by the draw-clock. ? Spaces that only touch the perimeter of the board
at a point are ignored.
3. The draw-clock is stopped and reset (to be restarted later if a
player chooses to do so) whenever a perimeter row or a stone is
removed from the board. The draw-clock may be restarted at the end of
the same turn when it was stopped.
4. At the end of the turn when the marker has completed its circuit of
the board and falls off the perimeter, the game is over. When this
happens, the winner of the game is the player whose stones on the
board currently have the largest number of liberties. In this
calculation, a space that is a liberty for multiple stones for a given
player is only counted once for that player. ? However, a space that
represents liberties for stones of more than one player is counted
once for each player in question.
....
Prototype design & features:
Menus: File (New game, Open, Save, Quit) -- do the obvious (want to be able to save the state of a game)
? ? ? ? Settings (Settings)?
? ? ? ? ? # players (default is 2, max is 7)
stone density (default is 33%, max is ~60%
# stones per player (initially determined by the density; then adjustable), also a button to reset to defaults
random placement vs. player placement toggle
....
Placement Mode
? if random placement is set, stones for each player are randomly
? distributed on the board with the caveat that no stone can eliminate
? the last liberty of an opponent's stone.
? if player placement is set, the game shows the stones available to
? place per player, and then in turn, each players stone to be placed
? is highlighted, and they drag/drop it onto the board. ? They then hit
? commit (so there must be a commit button). ?
? while a player is considering their placements, the spaces on which
? they can legally place a piece should glow as if highlighted, just a bit.?
Play Mode
? In play mode, when it becomes each player's turn, the first thing
? that happens is that all empty perimeter rows disappear. ? The board
? gets smaller as the game goes on; losing a row resets the shot clock
? as well. ?
? The player then must move each piece of theirs once and only once to
? an adjacent square, by clicking on a piece and then clicking on the
? square to move it to. ? This will move it and leave a trace (as shown
? in the image) as to where it came from. ? Players can also click on
? the "racks" of pieces on the side of the board to remove a piece.
? There should be a menu option or button to show legal moves. ? If a
? player moves the last piece off of a periphery row, the row should
? grey out and a red line should appear, as in the image. ? None of the
? moves should be final until the player clicks on the commit move
? button. ? Players should also be able to start the shot-clock before
? hitting the commit move button -- so there should be a "shot clock
? start" button that can be highlighted. ?
?
?
? ? ? ?