
                       Playing SpaceGame2

 Playing the game for the first time:

 Begin by opening a command line or prompt and going to the directory
 where the game is installed. Run "java spacegame2" to see the Usage message:

******************************************************************************
SpaceGame2 by Jim Lewis 10/21/2025
******************************************************************************
 To play a new game:
  java spacegame2 -s skilllevel [ -name player ]

 Where
  skilllevel is a number between 1 and 10
  player is the name of the person playing (optional)

  Levels 1-3 have a small galaxy.

  Levels 4-6 have a medium galaxy.

  Levels above 6 have a full galaxy, an occasional Doom Ship, and a Dark
  Quadrant.

  Level 10 contains a surprise or two, loading a saved game is disabled, and
  you must convert the Dark Quadrant and place a spinoff ship in every empty
  quadrant. Also, in order to get the bonus you cannot lose any planet. This
  level is very, very hard to beat. However, if you do win and it shows the
  Bonus numbers on the console see the section in the SG2-playgame.txt file
  on winning the game for a chance to receive $500. Yes, it is really that hard!


 Examples

  To play level 5:

   java spacegame2 -s 5

  To play level 10 with the name option:

   java spacegame2 -s 10 -name Lewis

  To play a saved game:

   java spacegame2 -f filename#.dat



 Optional but highly recommended:

 Another Java app is provided which will allow you to easily track which
 of your ships have stopped moving (i.e. no destination). It is run like
 this:

  java sgdest

 Place the sgdest window where you can see it easily. Note that you do not
 need to monitor the Java console for this.

 If you have previously played the game you should copy the *.dat and
 SG2-console.txt files to another directory first or delete them. The files
 won't be overwritten, however, as the next available filename in the sequence
 is used.

 The game will start up on your screen. Be sure to have the Java console
 where you can see it as you play.

 A note about sound:

 Due to the limitations of base Java the game does not actually play any
 sounds. However, it does create a file named "playsounds.txt" which can be
 read by another app or script. The contents of the file is a single number,
 see the file "playsounds.sh" for more information.

 If you have any issues getting this to work on your system please email me.

 ----

 You may have noticed that this game has several options and features. Do
 not be alarmed, you only need to know a few things in order to have fun
 playing the game. As you get accustomed to how everything works you can
 begin to use the other features as desired.

 Note: To close the game left click on the "X" three times.

 Okay, now on to the actual game play. You are the player and your ships are
 badged with a "T" (unless you have used the -name option). The aliens are
 badged with the first letter of their names. Note: If you invoke this option
 use a name of 8 characters or less and do not use a name that starts with
 A, B, O, S, or X as the alien races begin with those letters.

 Here is the basic game operation. Note that nothing "moves" until a GO
 button is clicked on or Enter is pressed. Note that the GO buttons are
 GO, 10, 50, and the keys G and Enter.

 - To set a destination, click on a player ship and then click in the
   quadrant where you want the ship to go. For example, when the game
   is first started you will see a ship and a planet. Click on the ship,
   then the planet, and press GO (or 10, or 50). The ship will go and
   eventually colonize that planet, and it will become your home planet.

 - To move your ship between quadrants first click on a ship, then on
   the Navigation/Long Range Scan grid click on the quadrant you
   desire. The view screen will now show the contents of this quadrant,
   or black space if it has not yet been visited. Now click on the space
   in that quadrant where you want the ship to end up, i.e. its destination.
   Note that this can be a planet.

 - The Navigation/Long Range Scan (LRS) grid shows the contents of each
   visited quadrant. The numbering scheme is a triplet, the first digit
   is the number of player ships, the second is the number of planets
   (either 0 or 1), and the third is the number of aliens. Note: If there
   are a lot of ships the display may get a little cluttered. You can
   press the middle mouse button on a quadrant in the LRS to display its
   contents.

 - There is an exception to the above, if there is a 9 in the planet
   digit that means the Dark Quadrant has been discovered. Normally you
   don't want your ships to go in there. However, you can convert the
   Dark Quadrant by self-destructing your ships when in there to convert
   it to a normal quadrant. Note that this is needed to win Level 10.

 - In most cases the alien ships always fire first. To fire back, first
   click on your ship and then press T. All alien ships in range will be
   destroyed. You can also fire by pressing the left and then right mouse
   buttons, or the Spacebar.

 - To colonize an unnamed (uncolonized) planet set the destination by
   clicking on your ship and then clicking on the planet. When your
   ship reaches the center of the planet it now becomes one of yours
   and the name will reflect this. A new ship will be created every
   200 time units, or 150 if it's your home planet.

 - Pressing the middle mouse button on a ship, a player planet, or on a
   quadrant in the Long Range Scan (LRS) will show its status. Pressing
   it on a cloaked alien ship will decloak it and also cause it to lose
   10% of its phaser power.

 - To conquer an alien planet you must first destroy all of the alien ships
   of that race in that quadrant. Then get close to or on the planet, select
   your ship, and then right click on the planet. If in range press the B key
   to bomb the planet and the planet name will disappear. This is now an
   uncolonized planet. Be sure the ship destination is set to the planet as
   stated above or else it will not colonize the planet. Note that if your
   ship is already on the planet it will instantly become yours.

 - Watching the shield status on your ships is very important. Note that
   the shields regenerate a bit after every move. Use this to your advantage.
   Also, when a ship is combined with another ship it now regens at twice the
   rate. This is cumulative and can make a ship very powerful. See "Combine
   count:" on the ship status display (middle mouse click). Note that a spinoff
   ship does not gain shields on every move and does not increase the combine
   count.

 - You can change the course of a ship by following the steps above.
   If you press M and then select a player ship it will stop moving.
   You can also use this to cancel moving it.

 - When a (non-sentry) ship has reached its destination a message will appear
   stating this. Be sure to keep track of which ships are no longer moving as
   getting your ships out quickly is crucial to game play. Use the sgdest
   app provided to facilitate this.

 - On the main screen when the "New ship:" value reaches 0 a new ship will
   be created. This will show up as a green line on the sgdest display.

 - Use Convoy Mode to set more than one ship at a time to a destination.
   To activate, first press the C key. Now select a ship and set it to
   the desired destination as stated above. Then click on any other
   player ships you also want to set. You can pick as many as you want
   and they will all travel to that same location. Press a GO button when
   done, or C again to toggle out of Convoy Mode.

 - After a type 1 player ship has been in existence for more than 2000 time
   units its shields can be recharged by centering it on any player planet.
   Just select its destination to be a player planet and when it arrives the
   shields will increase by 1000 times the Combine Count.

 - Use Combine Ship Mode to combine (or merge) a ship with another one.
   First put the ships close to each other, press W, and then
   click on one of the ships. Now middle click on the other ship.
   If successful, the ships will merge and the remaining ship will
   now have the shield power of both. This is very important when battling
   a strong planet or ship.

 - To combine all ships press W twice, left click on a ship and then middle
   click. All ships in range will be combined and will have the Combine Count
   of all of them.

 - Ctrl-F5 can be pressed to toggle the Auto Combine Ship feature. When activated,
   when two player ships occupy the same spot they will automatically combine.
   Use this with caution as this operation cannot be undone (see below).

 - In order to keep the sgdest display from becoming too cluttered you
   can set a player ship to be a sentry by pressing S and then clicking
   on the ship. This will remove it from the sgdest screen. To remove
   the sentry status on the ship just repeat the procedure. Note that
   a sentry ship can still move, however, when it reaches its
   destination a message and sound will not occur. Also, when a moving ship is
   made a sentry it will stop moving.

 - As mentioned above, nothing moves until the GO button is pressed. This
   advances the game forward by 1 time unit. To advance up to 250 units press
   the G key. The game will always stop when a message is displayed and so you
   will not miss anything.

 - The other GO buttons, 10 and 50, will move that many time units, or until a
   message appears. This is really helpful and keeps you from having to
   click as much.

 - In some cases, after a GO button is pressed the message "Ship x has not
   fired back! Press Ctrl-U to clear." will appear. This either means that a
   player ship really has not yet fired back, or that the game is not sure
   which player ship fired. Try firing from any other player ships near where this
   has occurred. If that still does not clear the message then press Ctrl-U.

 - If the Red or Yellow Alert is annoying and/or distracting just click on it.

 - Be aware that a player ship can enter a quadrant and then be immediately
   destroyed by an alien ship if it's in range. This can be confusing and might
   even look like a bug, says me who spent 2 hours once trying to figure out
   what the hell happened!

 - The aliens have been known to cross into quadrants at random,
   and they may also jump right on top of your ship at the boundaries.
   Remember that you can still shoot them by following the steps above.
   Also, you cannot shoot your own ships so don't worry about that.

 - Beginning after Time Unit (TU) 2500 a Doom Ship can appear in a random empty
   quadrant. It does not act the same as the other alien ships, and are also much
   more powerful. The "Doom ship" on the main screen indicates this:

   Doom ship: No               Conditions are not favorable to create a Doom ship
   Doom ship: (A countdown)    Conditions will be favorable only when/if this gets to 0
   Doom ship: (A percentage)   Conditions are very favorable
   Doom ship                   There is a Doom ship somewhere in the galaxy
   Doom ship: r,c              The Doom ship is in quadrant r,c


   Note: An empty quadrant is one which has just stars. No ships, no planet,
   and is not the Dark Quadrant.


 Advanced Options and Features:

 - It can soon become annoying when you have a lot of planets and they
   are constantly creating new ships. You can automate the ship destination
   by first pressing N and then the middle mouse button on your planet. Now
   left click where you want the new ships to go. You can change this at any
   time by repeating the process. If "Error setting Auto-Nav!" is displayed
   it means you forgot to click on a destination quadrant. Just try again.

 - Press F1 to toggle the New Ship sound in a quadrant.

 - Press I to toggle the New Ship message in a quadrant.

   Note: Since you really don't want a beep without a corresponding message,
         if the message is turned off so is the sound, and if the sound is
         turned on so is the message. Got it?

 - Press Ctrl-1 to toggle the "Report not empty" feature. This will cause a beep
   to occur whenever a quadrant becomes empty.

 - You can set all of the active Auto-Nav settings for each planet by clicking
   the quadrant and location you want and then pressing Ctrl-D.

 - You can set the Auto-Nav in specific quadrants like this: Set the
   destination as usual, then press A. Now select in the LRS/Nav each
   quadrant you want to set. Press GO to continue.

 - Use Ctrl-F3 to toggle the "Ship has reached its destination" warning.

 - In some rare cases you may need to set a ship to self destruct. This is done
   by pressing the F4 key three or more times in a row, then selecting the ship.
   Be careful, as this action cannot be undone.

 - You can use Ctrl-F5 to toggle the player ship self-combine feature.

 - A player ship with over 2200 shield power can spin off a new ship. Press
   Ctrl-F6 until you reach your desired shield level of the spinoff ship. Then press
   Enter, and then click on the parent ship. If it has enough shield power
   the new spinoff ship will be underneath the parent ship. The parent ship will have its
   shields reduced by the amount * 2. Note that a spinoff ship can be manually combined with
   other ships but does not increment the combine count. It also does not gain more shield
   power on every move.

 - Press 3 to see the Planet Details screen on the console.

 - Press 4 to toggle the alien ship alert for the current quadrant. When set a
   message will display when the number of alien ships changes in that
   quadrant.

 - Press Ctrl-5 to toggle the "Show idle message" off/on.

 - Press 6 to show a list of planet names and labeled quadrants on the console.

 - Ship Skip feature: When 2 or more player ships occupy the same location
   press 7 one or more times before selecting the ship to get the one you want.

 - Press Ctrl 8 to change the destination of player ships that are
   already enroute to the current Auto-Nav settings of that ships' home planet.
   This will not affect sentries or ships already heading to a planet. It will
   also start up a non-moving ship. Note: Use this with care as the ships may
   not go where you think or want them to go (if that makes any sense).

 - Press 9 to show the "Quadrant Details" screen.

 - You can label an unvisited quadrant by first clicking the middle mouse
   on an alien ship. Then click on the desired quadrant in the LRS and press
   L. You can also press L to show an "E" for empty quadrant, and the next
   press will erase any previous label. Note that you, the player, is labeling
   where you think the alien ship's home quadrant is. The game does not check this.

 - A alien sentry is labeled with an "S" unless it has high phaser power, then
   it will have an "H". There is an exception to this, if the ship is from
   PlanetX it will show as a sentry (this is very important in Level 10).

 - A cloaked alien ship will obscure the stars a bit. Look for this, especially
   if your ship(s) are in a low shield power condition.

 - Press V to show the Type 1 ship information screen.

 - Press Shift V to show the Type 2 ship information screen.

 - You can set every non-sentry ship to a specific location by clicking on the
   location and then pressing Ctrl-X.

 - Press Ctrl-Z to disable all sound.

 - Press Ctrl-/ to toggle the Pause on warning message.

 - In some cases you may want to prevent your ships from going into a particular
   quadrant. Press ] on a quadrant to cause it to become avoided. Note this will
   not work if the quadrant already contains a player ship. Press ] on it again
   to remove the avoid.

 - To close the game press on the Close Window "X" three times.



 Combining ships:

   When playing at the higher levels, especially level 10, it's very important to
   try and save some type 1 ships so that they can be recharged later. Remember that
   every Combine Count adds another 1000 to the shields when the ship is recharged.
   Here's how the combine works on the different ship types:

   If any of the ships are of type Terran 1 all of the combined ships will become
   Terran 1.

   If any are recharge ships the result will be a recharge ship (this way you don't
   lose it).

   If both ships are spinoffs the result is a spinoff.

   A spinoff ship will not auto-combine with other ships but can still be manually
   combined.


 Counters:

   A 10 TU counter can be set in each quadrant by pressing F11. Pressing
   F11 again will increase the counter by 10, and pressing F12 will
   decrease the amount by 10.

   The Up and Down arrow keys will increase/decrease the counter amount by 1.

   F9 will add 100 to the current counter.

   F10 will set the quadrant counter to the New ship value if there is an
   alien planet in the quadrant, and half the value if there is a Player
   planet.

   The Delete key resets the counter to 0.

   If NumLock is on the Numpad keys can also be used:
   Numpad 1 thru 9 is 10 thru 90, and 0 sets the counter to 100.

   You can also set a recurrent counter in an alien quadrant by pressing
   Ctrl-R and then F10. The counter notification will occur every time a
   new ship is created. You can turn this off by pressing Delete. It will also
   be disabled when the planet is bombed.


 Files:

   Every time a move is made a pgame#.dat file is created. These files can
   be used to start a game over from a recently played point, similar to a
   take back move feature. Also, an sgame#.dat file is created every 250 time
   units. If you encounter a problem during game play please send me these
   files.

   All game messages are written to the file "SG2-console.txt". This
   file is opened for append so be sure to move or erase it before starting
   a new game.

   You can load any game .dat file and the game will resume at that point.
   This can be used to play a game over again from a previous time
   unit. Note you cannot restore a game on Level 10.


   Warning!
   Attempting to edit a saved game file to gain an advantage will
   result in a file checksum error and the game will abort.


   ---------------------------------------------------------------------

   Winning the game:

   You win after you have colonized all of the planets, destroyed every
   alien ship, and have visited every quadrant. The order you do this in
   makes no difference.

   In Level 10, you must also convert the Dark Quadrant and put a
   spinoff ship in every empty quadrant. And, in order to get the bonus
   you cannot ever lose a planet.

   The aliens win if they colonize all of the planets and destroy all of
   your ships.

   The Level 10 Bonus:

   If you find a way to win (including the bonus) please let me know. Zip up
   all of the .dat files, SG2-console.txt, and screenshot(s) of the main screen
   AND the Java console showing the Bonus numbers. I will run the playback option
   on these files and if everything checks out I will send you $500.00!


   The AI:

   I wrote this game to be a challenge for me to play, but to also be playable
   by others. The so-called "AI" does not do anything special if it "sees" that
   it is about to lose. Many games of this type in the past would "cheat". This game
   does not do that, it does everything randomly.

   However, with that said, the strategy for winning the Bonus on Level 10 is
   somewhat different than the easier levels. Keep that in mind when playing, and
   also remember you can keep trying as often as you wish. No charge. It doesn't
   take $1000 in quarters to get good at the game like in the old days.


   Jim Lewis
   jim@jklewis.com


