'The Game'

V 0.99B
by Kevin Harris

Prelim. Info

Legal crap

This is free software (not public domain) but if you want to use it, I'd appreciate it if you would E-Mail me. Although donations (cash, hardware, etc. E-Mail for more info :-) would be greatly appreciated, they are not required. This software has no warrantees or guarantees, expressed or implied. If it doesn't work on your computer, sorry, that's just too bad (E-Mail me :-). If by some freak chance something happens to your machine or person while you run this software, I AM NOT RESPONSIBLE . In other words: I AM NOT RESPONSIBLE FOR ANY PHYSICAL / MENTAL DAMAGES THAT MIGHT OCCUR DURRING THE USE OR ABUSE OF THIS SOFTWARE.

You are free to place a copy of this software wherever you please, but I NEED TO BE NOTIFIED so that I can get newer versions out there (if I ever get them done).

One last note: Reverse engineering this software would be rather silly, because anything you want to know about it I will tell you (if you ask nicely).

Enough legal crap. You understand, Right?

Who am I?

I am the person that wrote this program (HAA HAA!), geek, and permanent resident of the Salt Lake Community College computer lab (too bad they don't give web pages to CS students). Since I have last updated this page, my location has changed a little. I am now a resident of the University of Utah Computer Science computer lab (but it's really called the CADE lab).

Why'd I write this?

Originally for a S.E. project. See origin under the comments down below.

What's with the title?

I couldn't think of a good title. If you give me a good title, I'll add your name at the bottom of this document (wow eh? :-).

Where can I get it?

Well, you can get it from right here. http://geocities.datacellar.net/barthol_o_mule/thegame/thgme09b.zip (approx 43k). There are other places that I have it, but I will update this site more often.



Game Information

What is 'The Game'?

'The Game' is a game of strategy and conquest. The object of the game is to multiply and move your pieces in an attempt to obliterate the opposing players. Players can be one of two types, human or computer, and can range in number from two to four. This version of the game lets you select different game boards or design your own with the built-in game board editor.

Rules of the game

The players take turns in making their moves. Two types of moves are possible: 'Jump' and 'Grow' (explained below). With each move, the player tries to gain more pieces by either 'growing', to fill more squares, or 'capturing' opponents pieces. The game continues until either the game board is full (no more moves possible), or one player has captured all opponents pieces.

'Jump'

This move involves removing a piece from the game board and placing it on an empty square within the jump range. The jump range is typically within two squares of the piece (See game board), unless the game board has bee user modified. It is possible to jump over other pieces as long as the desired location is empty. It can be advantageous move to jump to a square that is surrounded by other players and capture their pieces.

'Grow'

This move involves duplicating the selected piece into an empty square within the grow range. This range is typically all squares that are adjacent to an edge of the current square. This move is generally good to make sure that you have enough pieces on the board to keep from being exterminated. It also brings the game to a close as the board will fill up.

Capturing Opponents pieces

When a move is made, any pieces that belong to any of the players opponents, within the grow range, will change to the current players color and become the players pieces. This will be referred to as `capture.' Capturing is the fastest way to gain pieces, and can be the fastest way for an opponent to gain your pieces. It is also a temptation in some conditions that could lead to the players ultimate demise.

Where do I start?

This section will help the user in starting the game and game functions. First you will probably want to read the rules and options of the game, then just go play. The best way to learn anything is by doing. If you want to edit the board, read through the `Edit game board' section below, making sure to note the functions that do not have on-screen buttons.

Lost in the main menu.

There are (or will be when the entire game goes gui) three buttons on the screen. The Options button allows the user to choose their options for the game. The Play button will begin the game with the current options. The help button will bring up this help (or at least a similar help).

Options Menu.

The options will allow the user to customize their game by selecting the number, type of players, and game board.

Current Options

This menu item will display the current player types and the name of the currently selected board.

Change Players

This allows the user to select the number and types of players. The number of players can range from one to four. Player types currently are as follows:

Select Game Board

The game is based on a game board of four types, Square, Triangle, Hexagon, and user defined (actually, the hex was replaced by an octagon shaped piece). By selecting a board, you choose the board that you want to play the game on.

Edit Game Board.

This will allow the user to modify the current game board to make new and different game boards. Note that currently if you want to create a new game board, you should load the game board that has your desired shapes for game squares, and build it off of that. you can remove all of the squares and start over, but I have not currently implemented a library of shapes to choose from (check in the future).

Game Play

To move a piece, click on the desired piece to make it active (highlighted), then click on the desired square. A jump or grow move will happen automatically depending which range the desired location is in. The locations in the jump and grow ranges will be highlited. To unselect a piece, simply click on the piece again.

Comments

Game Origin
This game originally started out as a software engineering project (Salt Lake Community College CS275), needless to say, the project was not completed (due to lack of work on the other members) and I have quickly put this version together from what I had already written. For a quick note here, the group was supposed to be four members. One of the members (Tu) did some graphics/flow charts for some of the written papers, another member (Alton) wrote some computer intelegence routines (none of which were completed, and so they are not used in this version of the game). I was the only member of the group to come up with any 'fully debugged' and working code (note that there are some interesting side effects in the game board editor with overlapping graphics).

In case you were wondering, my official grade in the class was an 'A-'. I would be interested in seeing what kinds of grades the other three group members earned (none have told me).

Graphics/Mouse Routines
I wrote all of the graphics and mouse routines for the game using c/c++ with 'inline assembly'. The graphics are all rectangle based pictures, and therefore needed some form of transparency to get the pictures to align in shapes like the triangle and octagon.

Other stuff
The executable size is currently too big (I think it should be 25k or less, but nothing is that small these days). I will write some of my own routines for files and such (in assembly) when I get the chance. Right now, the base game is currently a little less than 70k, when I remove all of Borland's libraries (ie. file I/O), it should be a little smaller.

Special Thanks / Greets

LLeweLLyn Reese - Thanks for all your help in getting me started / interested in graphics / assembly programming. He's going to be a great (and tough) professor when (if) he finally finishes school. :)

David Marion - Thanks for uh... Keeping the lab open and giving me someone to compete with. Not that we ever really competed, but we did a bunch of the same programs for our classes (and in totally different styles).

My S.E. Group - HAA HAA! Take a look at MY work.

Ralph Brown - Great list. Get it. (all pieces are named InterNNN.zip)

Programming Credits

LLeweLLyn Reese - Keyboard Interrupt Routine used on some screens in the game. Thanks.
Borland - include files: stdio.h, stdlib.h, dos.h, conio.h, dir.h, string.h (which I will use, until I finish writing my own libraries).
ME - Everything else (and more when I get my libraries done, if ever...).

How to contact me

Currently, there are a couple ways to reach me.

Email:


WWW:

Feel free to mail me with comments/suggestions/requests. I can help with some programming questions ie. BASIC / PASCAL / C / C++ / ASM / Java (currently working on some windows programming without using the OWL libraries from Borland).

I try to check my mail at least once a week or so (usually ends up being daily durring school). My web page gets updated about once every two months (hopefully much more often now... it will never be complete :-).

Go to The page of all things "The Game".
Or, you can go directly to my home page

This page written completely in a text editor.
Last updated October 24, 1997 (the previous date here was March 27 :-)
Note that I have updated it since then (25Jan2001 was the last date), but it only involved fixing broken links.

Counter hits since 07Dec1999.

1