TRIPPPIN (second release) This is a game based on a commercial board game that was called TRIPPPLES ®, which was marketed by some game company years ago. I do not remember who sold it and I cannot find a copy of the game. If somebody knows where it came from please tell me. This version is based solely on memory of having played the game back in the seventies or whenever it was. The game is played on an eight by eight grid of square tiles which are placed in random positions except for six special ones that go in fixed positions. There are two players, each having one playing token that moves from square to square. They start side by side on two tiles with square shapes in them, in the middle of the bottom edge of the board. The four other fixed squares are marked with circles, and they are located near each corner of the board, one square inward from the edges. The object of the game is to move your piece from the starting square to the nearest circle, from there to the circle above that, across the top to the opposite circle, down the other side to the circle nearest where your opponent started, and finally to the square your opponent started on. Whoever gets around the course first wins. A move consists of moving your piece to one of the eight squares immediately next to it, vertically, horizontally, or diagonally. The tricky (and fun) part is this: most of the other squares have arrows marked on them. Each has arrows pointing in three directions, out of eight possible directions (up, upper right, right, lower right, etc). These arrows limit the directions in which YOUR OPPONENT is allowed to move, when you are on that square. If you make a move onto a square that has arrow pointing downward, leftward, and to the upper right, then the only moves your opponent is allowed to make in response are to the squares immediately downward, leftward, or to the upper right of the square he's on. When you are on a square that does not have arrows (the two starting squares, the four circles, or two blank squares which are randomly placed), then your opponent can make any of the eight moves. BUT he cannot move off the edge of the board, and he cannot move onto the same square you are on. So the number of legal moves available is often less than the eight or three allowed by the other player's square. In fact sometimes a player is left with no legal move at all. In this case the other player wins. Strategically, it is dangerous to be on the edge of the board, especially to be in a corner, because of the possibility that your opponent might find a move which "pushes you off the edge", leaving no legal moves. To play the game, run the program TRIPPPIN from Workbench or CLI. It will open a window on the Workbench screen, and fill in the 64 squares with a random arrangement of arrows. (Each possible combination of three arrows out of a possible eight is present exactly once.) The program will automatically detect whether the workbench screen is interlaced or not, and adjust the proportions of the squares to suit. It will show the two pieces on the starting squares, and will show the present status of the game to the right of the board. At the top it shows whose turn it is to move. This is indicated by the color of the piece. They are the same shape but the one on the right is color 3 (orange in the default 1.2/1.3 workbench) and the one on the left is color 0 (blue in default 1.x). Below that it says either "MAKE A MOVE" or "thinking..." depending on whether the piece to move next is controlled by a human player or by the computer. This is written on a background of the color of the piece due to move. This text can also read "CAN'T MOVE!" if a player has no legal move, or "Game over." if the other player reaches the final goal. Below that it shows the directions in which this piece can legally move, displayed as a set of arrows similar to a square of the board. Below that it says "Try to reach the flashing X of your piece's color." Two X's, one the color of each piece, are blinking on the circles that the pieces have to reach. When you reach the circle that X is blinking in, it moves to the next circle you have to get to, or to the square your opponent started on if you have reached the last circle. If you reach that, you win. When someone wins the area where the words "Try to reach the flashing X ..." were gets filled in with an announcement of who won. To move a piece, click the mouse on it and drag it to the square you want to move to. If the move is illegal, the screen will flash ("beep") and the piece will go back where it was. Otherwise it becomes the other player's turn. When the game first starts, the right hand piece (orange by default) is under human control and the other piece is played by the computer. When your piece is moved the computer will think a bit and then move the other one. How long it thinks depends on the difficulty level you set. Control of the difficulty level, and of whether each piece is human or computer controlled, is done with a menu. The menu contains first an item for each piece, with a submenu that lets you pick "Human" or "Computer", with a checkmark showing the current selection. Then there's an item for difficulty level, with a submenu giving you choices from one (easy) to nine (takes forever). The level starts at three. A checkmark shows the current level. The computer uses a simple lookahead strategy. At level one it looks at each move only to see which move gets it closest to its goal. At level two it looks at how close you can get for each move it makes. At level three it checks how close it can get after each move you might make in response to each of its possible moves. And so on. The higher the level you set, the longer it takes to think, though the delay is hardly noticeable below level five or six. Don't be discouraged if you have a hard time beating even a moderate difficulty level; I do too. Most human players hardly look further than level two (if that) most of the time anyway. Often a moderate level setting plays just about as well as a high level one. The next menu item lets you choose whether the computer player is allowed to repeat a sequence of moves forever. If "Prevent loops" is checked, then if recent moves by both sides have been repeated two complete times in a loop, the computer player is not allowed to continue another repetition unless there is no other legal move. Loops more than twenty turns long will not be noticed. There is no restriction of looping for human players. If you set the computer to play against itself loop prevention is essential or it will probably get stuck before finishing a game. If you want to play against the toughest possible computer opponent then turn off loop prevention. Below that is "Suggest a move", with keyboard shortcut right-Amiga S. When you select this (if it is not the computer's turn) it will show you which square would be the best move for you, in its opinion. How good a suggestion this is depends on how long you wait before asking. Even if you only wait a couple of seconds it will probably give you an answer based on looking at least six levels ahead. It will show the suggested square with a bunch of colored dots moving around a square outline. Hey ... "Tripppin Has Ants." Below that on the menu is the option to take back your last move. You can use the keyboard shortcut right-Amiga T for this. It undoes the last move made by a human controlled piece, and any computer move made after it. Pressing it again undoes the move before, and so on. A maximum of forty moves can be undone. Nothing happens if both pieces are being played by computer. Below that is "Restart the game". It will reshuffle the arrow squares and put the pieces in their starting positions. This time the other piece moves first (it changes each time you restart). Settings of difficulty level and human / computer control of each piece remain unchanged. Last is "Quit the game". You can also quit by clicking the closebox or (if it was run from CLI) pressing control-C in the CLI window it's running from. Hopefully this will work in AmigaDOS 2.0 and later ... I went to the trouble of making it pay attention to the size of the current workbench font so it can position text nicely. It can manage font sizes up to 13, or even 15 a bit clumsily ... or double that on an interlaced workbench. I hope somebody lets me know if it doesn't work under 2.0 AmigaDOS. The source code for this game contains plenty of possibly useful example material. I wrote it for practice with graphics.library and with intuition event loops (since almost everything else I've been writing is CLI oriented), and it contains useful examples of Bobs, animated sprites (not VSprites though), basic multitasking (the lookahead thinking is done in a separate task so that the main program can be immediately responsive to user input), a tiny interrupt server (which is now present only because I'm too lazy to remove it now that it's no longer really needed), and menu and mouse input. This code, though not necessarily the actual game it plays (which I did not invent) is in the public domain. Tripppin is by Paul Kienitz 6430 San Pablo ave Oakland, CA 94608 USA I can probably be reached on one of the following BBSes: Winners Circle 415-845-4812 Triple-A 415-222-9416 FAUG 415-595-2479 The Mission 415-967-2021 The differences between this second release of Tripppin and the first release are: two small bugs were fixed, the sprites were more obnoxious before (they didn't turn off when you were doing other stuff), and you couldn't turn off loop prevention in the first version. Also I accidentally left the file "trip.h" out of that distribution!