The Prototype

The prototype is an example implementation of the Stakeout game. It is a goal that the student will work towards. The bad news for the beginner is that as simplistic as it may seem, the game is actually quite complex and incorporates many advanced technologies and programming techniques. The good news is that while it is very difficult to design and implement a polished game like the prototype, it is fairly simple to implement a rough version of the game. Hopefully this prototype will serve as a source of inspiration for the student. There are many things about programming that can be difficult, and sometimes the only thing that keeps you going is the vision of where you are heading.

Screenshot from version 1.0 beta 4


  • The goal is world domination
  • World domination is accomplished by producing enough units and deploying an appropriate strategy to destroy the other teams on the board.
  • Each turn your city will produce a certain number of units depending on how much land you have staked out at the beginning of the turn.
  • Land is considered "staked out" if it is within a bounding rectangle between any one of your units and his home city so long as there are no enemy units within that area who are also staking out the area.
  • The idea is to stake out as much territory as you can (to be able to produce more units) and then use your military power to destroy the other team(s).
  • Once you destroy an enemy's city, he will no longer be able to produce units, but the game isn't over until you destroy all of his units as well.

Setup / Installation

Prerequisite software

  • J2SE Runtime Environment 5.0 (might as well install the SDK if you're going to take the lessons)


  • Click on the download page in the list of links on the left.
  • Download and run the latest version of the Stakeout.msi file.
  • Follow the instructions.


  • Installation will not proceed if you don't have the correct version of Java installed. Go to Sun Microsystem's website to download and install the correct version.

Game Play

  • Taking Turns: The map consists of a 2 dimensional grid with 2 terrain types: obstacle terrain and open terrain (or land and water if you prefer). Each turn, all the units will get a 2 moves. The player can move as many of the units as he wants before he ends his turn via the "End Turn" option under the "Command" menu. Units can only move around on the open terrain. A number on the map indicates how many units there are in a particular area.
  • Selecting a unit: Select a terrain by clicking on the map in a location where you have units. The units available in the terrain will be shown in the status pane on the left. Each unit will have its own icon. The number next to the unit indicates how many moves it has left for the current turn. When you initially select a terrain on the map all the units in that terrain will automatically be selected. You can select individual units by clicking on the individual unit icons. To select multiple units, click on various units while holding down the control key. To reselect all the units in a terrain, press "Ctrl-A".


  • When more than one team attempts to occupy a location, a combat ensues.
  • Once a unit has entered a battle, there is no getting out of it.
  • Combat is resolved at the end of each team's turn: Based on the odds, one unit is randomly chosen to be killed. This process of killing units is continued until no more than one team is occupying the land area.
  • In an equally matched battle, the defending team always will have an advantage.
  • It is always to your advantage to have more units than your oponent (the odds will weight who gets killed) whether you're attacking or defending.