  __________________________________________________
  
    Programming Games for Beginners
  __________________________________________________

  The games included with this book, including all source code, image 
  files, and sound files, are (c) Copyright 1993 Christopher A. Howard
  All Rights Reserved Worldwide / August 1, 1993


  Thank you for purchasing the book "Programming Games for Beginners."

  This file contains the latest information regarding the games
  included with this book. This includes any changes or additions,
  hints, and other miscellaneous information. Save yourself some 
  time and effort, and read this file in its entirety.

  I hope you enjoy the book, and the games. I had a lot of fun
  writing them. If you have any comments, I'd love to hear from you.
  You can reach me at the following address:

        Christopher A. Howard
        Re: Programming Games for Beginners
        1155 Dairy Ashford, #200
        Houston, TX 77079
 
        CompuServe ID: 75100,17

  Now read this file, and go have some fun! And again, Thank You.

  Chris Howard


CONTENTS:

     * Using the Games
     * Device Drivers
     * Game Changes
     * Development Notes


-------------------------
Using the Games
-------------------------

  The games and example programs included with this book are for your
  use only. They are protected by the Copyright Act, which means that
  you cannot copy them without my permission.

  Some examples of what you *CANNOT* do with these games:

    [] You CANNOT copy them and give them to a friend.

    [] You CANNOT upload the EXE's to a bulletin board or other online
       service, such as Prodigy, CompuServe, or America Online.

    [] You CANNOT modify the games, and then give them to a friend or
       upload them. Even if you have made extensive modifications, you
       are not allowed to copy them.

    [] It is against the law to copy these games, period. I'm sorry to
       keep repeating this, but it is important that you understand.
       As a guideline, treat the games as if you had written them 
       yourself. Read Chapters 19 and 20 for more information. 

  So, what CAN you do with the games? Here are some suggestions:

    [] Use the games as a learning tool. The games are provided to
       illustrate the programming techniques shown in the book. You
       may wish to print out the programs and use them as a further
       reference.

    [] You can modify and add to the games as much as you wish, FOR
       YOUR PERSONAL USE. As long as you keep your game to yourself,
       then all is well. You can let anyone play the modified game,
       as long as they are playing on your computer.

    [] If you want to develop a similar game, then my suggestion is to
       start from scratch. Use the book and the games as a reference,
       but you should start with a new project and a new form. This
       doesn't mean that you can cut and paste the book's game code
       into your game (although a few lines here and there is OK).
       You can use generic routines, like Delay, GetRandom, or
       DisplaySpriteFrame.

    [] You cannot use the artwork from the games in this book, WITH ONE
       EXCEPTION. I grant you a license to use the card images and the
       BJCARDS.FRM file. This will allow you to develop your own card
       games, without having to draw a deck of cards yourself. There
       are lots of card games besides BlackJack and Poker. Go for it!

  Hopefully this is all clear and straightforward. Now that all of that
  is out of the way, let's move on.

-----------------------
Device Drivers
-----------------------

  The location of the Joystick and PC Speaker Wave drivers have changed.
  The drivers are located in the JY and SD directories, respectively,
  along with the Joystick test program and the Sounds example program.

  Follow the instructions in Appendix A for installing the drivers from
  the above directories.

-----------------------
Game Changes
-----------------------

  The following changes have been made to the games since the time of
  their printing in the book.

  [] Sounds

  This is an example program, and not a game. The sound files were
  renamed to match the naming conventions used throughout the book.
  The sound files are named the following:

    SDLASER.WAV
    SDHELLO.WAV
    SDCANYON.MID

  The game code has been changed accordingly.

  [] Joystick

  This is an example program also. The executable filename has been
  changed to JOYTEST.EXE, because of a Windows conflict with the
  joystick calibration utility used by the Control Panel. If the name
  JOYSTICK.EXE is used, the test program will not run after the Control
  Panel joystick program has been used. Renaming the EXE fixes this
  conflict.

  [] Apples & Oranges, Flip

  The global variable "MakingMove%" has been added. This variable is
  set whenever a move is being made. Without this variable, the player
  could start another move before the first move was finished (while
  the animation was playing or the computer was making its move). The
  effect was the game would get very confused about whose turn it was.

  Search for the "MakingMove%" variable (using the Visual Basic Ctrl-F
  shortcut) to find the changes. You'll find it defined in the GLOBAL
  file, and used in the img_Board_Click and btn_Board_Click functions.

   [] BlackJack, Draw Poker

  When these games were ended, they were still registered as active in
  the Windows Task Manager. This was fixed by unloading the cards form
  in the Form_Unload procedure, as in:

     ' Unload the card deck
     Unload frm_Cards

  Even though the main game window disappeared, the hidden form of the
  cards was still active. Keep this in mind when writing your own games.

  Also, if the Dealer and Player tied, the bet remained but the btn_Deal
  button was not enabled. This was corrected in the InitNewHand function.

  [] Ping, Bricks

  It has been reported that sometimes the fonts used in Ping and Bricks
  are obscured by the top wall line. I believe this is because the fonts
  used may not exist on some systems, so Windows uses substitutes. If
  this happens to you, just edit the form yourself, and recompile.

   [] Space Miner

  It was difficult to pause the game by selecting the Pause off of the
  Options menu. So, I added a call to mnu_Pause_Click when the SPACE BAR
  is pressed (detected in Form_KeyDown), and in the tmr_Joystick_Timer
  function when the joystick button #2 is pressed.

  If you are using the keyboard interface, you may wish to increase your
  typematic rate. You can do this with the Keyboard program in the
  Windows Control Panel. Set the Delay and Repeat rates as fast as the
  can go.

  I also ended up creating the MIDI sound file SMMUSIC.MID myself. The
  file that I had selected turned out to be the theme from Star Trek II, 
  "The Wrath of Khan." On short notice, I went to a friends house 
  (Luhit Young) who had a keyboard and MIDI software. I only had a few
  hours to compose something, and I had never used the MIDI software
  or even composed any music before. So, I did my best.

  I looked on CompuServe for some public domain MIDI files, but most of
  them are renditions of currently popular songs (and thus, they are
  copyrighted also). It's fine to download them and play them at home,
  but if you are going to distribute them, that's another story. I could
  have used some music from 100+ years ago, perhaps, but I couldn't find
  any classical space music! If you want some MIDI files for yourself,
  type 'FIND MIDI' on CompuServe to find the MIDI related forums.


----------------------------
Development Notes
----------------------------

  [] Form Size Bug

  There seems to be a bug in Visual Basic concerning the form window
  size. If you run the Slider and Space Miner games from within Visual
  Basic, you may notice a small blank band of color on the right and
  bottom edges of the main form. If this happens, try the following:

     * Stop the game

     * Display the main game form, using the View Form button on the
       Project (MAK) window.

     * Select the form, and then go to the Properties window. Find
       the "Width" property, and edit it.

     * Change the number by deleting any part of the existing number,
       and type the number back again. Make sure the value is the same.
       For instance, the width of the Space Miner form is 7305. Delete
       the 5, and type it again, so that the width remains 7305. Press
       ENTER to save the value.

     * Run the game again. The border should no longer be there!

  Obviously, this is a bug in Visual Basic. You did not change the value
  or the game in any way, yet the border disappears. I believe that
  Visual Basic sometimes allows for a window border, even though the
  game does not have one. This occurs in both VB 2.0 and VB 3.0. 
  It's strange.

  [] Working Directory

  When playing sound files, keep in mind that Visual Basic uses its own
  working directory--not the directory of the project. If you just
  specify the name of the sound file as "MYSOUND.WAV," Windows may not
  find it (remember that it looks in the system directory, then the
  working directory, then the path). During the development of your
  game, you may wish to set the Visual Basic working directory to the
  same as your project. Or, you can specify complete path names for
  your sound files.

  If the sound file does not play, this is usually the problem. If you
  still cannot play sounds, try using the Windows Media Player program
  accessory.



***  END  ***

