home *** CD-ROM | disk | FTP | other *** search
- =============================================================================
- MVP Backgammon 1.3 [unregistered]
- Release Notes
- README.TXT
-
- NOTICE
- -----------------------------------------------
-
- MVP Backgammon 1.3 Copyright (c) 1995, 1996, 1997 by Cane Garden Software
-
- INTERNATIONAL COPYRIGHTS SECURED
- ALL RIGHTS RESERVED
-
- -----------------------------------------------
-
- THANKS FOR DOWNLOADING MVP BACKGAMMON!!!
-
- This unregistered version of MVP Backgammon is provided free of charge
- for your enjoyment, and hopefully as a means of enticing you to purchase
- the registered version. This free version is fully operational: you can
- start, play, save, and load games. The registered version adds multiple
- board and stone graphics, multiple board sizes, multi-game matches, and
- the power of the "Fiona" monolithic back-propagation neural network for
- harder computer opponent play. Fiona has been trained on more than three
- million games on a Sun Sparc 10, and provides some of the best computer
- backgammon play available. See the program's Windows help file for
- information on purchasing the registered version of the game.
-
- This version of the program is shareware. It is not public domain or
- "copyleft" software. Cane Garden and MVP retain all rights to the
- program, source code, resulting binary modules, and distributable files.
-
- UNFORTUNATE LEGAL STUFF
-
- MVP Software and Cane Garden Software make NO WARRANTIES of any kind,
- express or implied, regarding the quality of this software or its
- fitness to any particular task. The user agrees to indemnify MVP Software
- and Cane Garden Software against all liability for the consequences of using
- this software for any purpose whatsoever. Any risks associated with the use
- of this software are assumed by the user.
-
- WHAT IT REALLY MEANS
-
- We've done our best to produce a quality product. It is carefully designed
- and constructed and has been rigorously tested. However, it would be
- irresponsible of us to suggest that based on that record this software will
- never screw up. It will. Windows configurations are exceedingly complex,
- and factors outside of the binaries for this program can affect its
- operation. Always practice safe computing! Back up important files, and
- scan incoming files for viruses. To rephrase the legal stuff above more
- directly: if our program crashes and you lose data we are not going to be
- responsible. Period. If you can't accept these terms then you should not use
- this, or probably any other, software product.
-
- =============================================================================
- HACKER'S CORNER
-
- First of all we respect and admire those of you with the talent for opcode
- spelunking. We've performed numerous traversals of the dampest corners
- ourselves, in search of a nugget or two. It is because we respect and
- admire you so much that we are offering to save those of you whose talents
- tend toward cracking shareware programs some time and effort: the shareware
- version of MVP Backgammon cannot be cracked into a registered version,
- because the requisite code simply isn't in the build. With that knowledge,
- of course, dive away. Everything is pretty straightforward.
-
- =============================================================================
-
- SYSTEM REQUIREMENTS:
-
- 386 or better with 4 megabytes of ram (recommended)
- Mouse (required)
- Sound Blaster or equivalent (recommended)
- Wavetable MIDI or equivalent (recommended)
- 8-bit VGA Graphics Driver (damn near mandatory)
-
- Windows 3.1 or 3.11
- Windows NT 3.51 (through sp3)
- Windows NT 4.0
- Windows 95
-
- Not tested on:
- OS/2 for Windows
- PowerMac
- PowerPC
- - The program does nothing that should imperil your system if you run
- under any of these OS's, but we have done no testing for them.
-
- =============================================================================
-
- GENERAL:
-
- Thankyou for bothering to download MVP Backgammon! We know it's large for
- a backgammon game, but we think you'll find the extra graphics and sound
- to be well-worth the time.
-
- Installation is simple. If you received the game on two floppies then
- put #1 in a floppy drive, then run x:setup from File or Program Manager,
- where x is the letter of your drive. Follow the instructions in the
- setup program help. If you received an archive file from a BBS unpack it
- into a temporary (and empty!) directory. Run setup in this directory and
- install the game to another (empty!) directory. When you're finished you
- may delete the original files, or archive them for later use.
-
- MVP Backgammon makes absolutely no changes to your Windows installation,
- and maintains all of its files in the install directory, with the sole
- exception of the BACKG.INI file, which is placed in your \WINDOWS
- directory. The program may be freely deleted from disk at any time
- (though we hope you won't want to!).
-
- The program was designed with 256-color graphics in mind, and uses the
- palette to display a richly-textured board and playing implements. If
- you do not have an 8-bit driver installed for Windows we highly
- recommend it, for this program and many others. If you cannot install
- an 8-bit driver the program will run in 4-bit mode, but the quality of
- the graphics is a lot lower. Beginning with MVP Backgammon 2.0. scheduled
- for release in late 1996, the game will no longer support 4-bit graphics.
-
- In addition to the graphics MVP Backgammon uses over a megabyte of
- sampled sound effects to punctuate game events. These effects are
- available if you have sound output capability installed in Windows. If
- your sound output is limited to the PC speaker you may still hear the
- effects by installing the speaker .wav driver, but we cannot say much
- for the results.
-
- =============================================================================
- RELEASE HISTORY:
- =============================================================================
-
- release: 1.0b,
- no-debug executable,
- debug dlls (inadvertent),
- stack chk on
- date: 9-12-1994
-
- - Match play was redesigned to allign it with traditional notions of
- tournament play.
-
- - The program is now tolerant of missing sound resources: the sound DLL
- can now be included as a separate download. If the sound DLL is not
- present the sound options are disabled.
-
- - added doubling cube placement to indicate control of the cube
-
- - updated the help file to reflect changes
-
- - removed the old-style wagering mechanism
-
- - Computer players play at the Expert/Balanced level. Other play levels
- are currently disabled pending final engineering of the AI.
-
- - Computer Player doubling strategy is not at all good at this point.
-
- - corrected several problems with bad parameters that slipped through
- from very early versions of the code
-
- - Set error mode to avoid system file errors on DLL searches.
-
- - Added support for the Crawford Rule.
-
- =============================================================================
-
- release: 1.1b,
- no-debug executable,
- no-debug dlls,
- stack chk on
- date: April 14, 1995
-
- * Thanks to all who participated in the version 1.0b beta cycle. The
- changes and additions listed below are largely the result of your
- input. The program has been substantially improved, with much redesign
- and recoding, and the addition of numerous features which make it the
- most complete Backgammon implementation we know of. This version includes
- the Fiona neural network backgammon evaluator, so it may also be one of
- the smartest!
-
- - Made certain that WEP segments are preloaded and locked in the DTIMER
- and MCICTRL dynamic link libraries. Not sure if this is related to the
- stack fault error reported by Steve M., but it may have been.
- Update: these don't really need to be preload or locked, according to
- several books.
-
- - Caught a nasty bug which left a timer active after the Music Preference
- dialog had been closed. No telling what sort of problems this caused,
- but it could have been a source of the stack fault error. In any case,
- code was being called that acted on a dialog which was no longer there,
- so it wasn't a _good_ thing.
-
- - Added an explicit shutdown routine for the MCI subsystem. Had been
- relying on destruction of static objects, but couldn't assert that the
- static shutdown method of MCIDevice was being executed while the
- application HINSTANCE was still valid.
-
- - Removed code from options handling that was left over from an earlier
- version of the music module.
-
- - Added computer move speed adjustment, new control in Preferences
- dialog, and code to save the setting to the INI file.
-
- - Added a Next Game button to the Match Statistics dialog that is enabled
- when a game has ended. This makes it easier to start the next game in
- the series. If the player clicks OK instead then the Next Game option
- on the main menu is still available.
-
- - Separated the move generation and evaluation functions of the AI class
- into separate classes. Developed evaluation class into abstract inter-
- face which will hide the differences between the three evaluators which
- are now included. Beginner logic is implemented by the original logic,
- intermediate skill is implemented by the EVAL-G evaluator by Marc
- Ringuette, and expert skill is supplied by the Fiona neural network
- evaluator by Justin Boyan and Marc Ringuette.
-
- - removed the style attributed from computer players, since this cannot
- be implemented across all three evaluators
-
- - changed the Pass Turn interface
-
- * when a player is blocked on the bar the turn automatically passes
- to the opponent
-
- * the pass menu option has been removed - a player now passes by
- clicking on the dice tray with rolls remaining
-
- - Replaced the double offer message box with a dialog that shows the
- offering player's image (currently computer players only). Also allows
- access to the match stats dialog so that the score can be checked. This
- was a compromise against putting the score display on the status bar.
-
- - added a line to the preferences dialog to note that the auto roll
- option has no effect in match play. This is due to the fact that
- auto-rolling dice during a match would prevent doubling, which can
- only be done after the opponent's turn ends, but before the player's
- dice are rolled.
-
- - in a match the game now correctly scores 3x points for a backgammon
- and 2x points for a gammon.
-
- - the double on gammon option has been removed and replaced by an option
- for the Jacoby rule, which the game now supports.
-
- - implemented the Jacoby Rule, and added indicators for the Jacoby and
- Crawford rules to the Match Statistics dialog
-
- - added a pipcount display to the status bar, displays the player pipcounts
- continuously during a game, displayed in the form pl1/pl2
-
- - implemented storage of human player profiles. The game now begins with a
- default human player named Anonymous.
-
- - added cumulative point won/lost totals to player profiles
-
- - redesigned and recoded the new game dialog
-
- - added a human player edit dialog, and enabled viewing of human and
- computer player profiles in the player list dialog
-
- - hopefully corrected a problem with sizing of the About and Credits
- dialogs in 1024 x 768 screen resolution. The dialogs now size themselves
- based on the bitmap dimensions.
-
- - Removed the system menu from the About and Credits dialogs and added
- code to close them on a mouse click in the client area.
-
- - expanded the selectable range of computer move speed on the slow side
- to allow more realistic performance on very fast Pentium machines
-
- - updated the help file to reflect the new changes
-
- - added sound settings category buttons
-
- - prohibited deletion of the last computer or human player
-
- - recompiled the MCIDevice class hierarchy to use a _huge class declaration
- which forces the vtbl pointers to 32 bits. This allowed the program to
- use near (16 bit) vtbl pointers everywhere else. Previously I had simply
- compiled the whole program with far vtbl pointers to solve a problem with
- a single call to a single DLL. This is a much smarter solution.
-
- - caught a bug which allowed computer players to offer a double when the
- wagering option was disabled. This has implications for the crawford
- and jacoby rules, so should be tested.
-
- - added an animated mouse cursor which displays while the computer is
- running the AI. Had to change the SetGameCursor function in BACKG.CPP
- to set the cursor logically, but set it physically only if the mouse
- is in the client area.
-
- - hopefully cured the small font problem by changing the font mapping
- precision to use TrueType fonts only. Also lowered the weight to make
- the text more legible. Need to look at going to a larger font in hi-
- res screen modes. This will involve resizing the status bar.
-
- - reworked the cursor state handling in the player module. It had been a
- pretty bad hack. Now it is a slightly bad hack.
-
- - added a setup program and changed the release build structure from a
- custom pkzip-based resource to a standard Win31 setup format.
-
- - fixed a bug which could cause a bitmap resource creation to fail if a
- stone was dragged quickly off the bottom of the screen - thanks to
- Jack Nunemaker for finding this one.
-
- - changed the cursor handling for computer players so that the "thinking"
- cursor, frame 0, was not displayed until after the dice had been rolled.
-
- - added the DS_3DLOOK style to dialog boxes so that they will appear using
- the Win95 beveled look when running under that version of Windows. Had
- to disable it for the moment because it changes the scaling of the
- dialogs.
-
- - fixed a bug in the doubling logic: the computer players were doubling
- when they were losing rather than vice versa.
-
- - fixed a cursor problem caused by receipt of a WM_MOUSEMOVE message
- when the left button is pressed. I'm not sure why we're getting the
- message, but suppressing it seems to have cured the problem.
-
- - added a flag to keep the "put-away" cursor from being set immediately
- after the player rolls. Suppresses display of the cursor until the
- player has moved the pointer off of the die cup.
-
- - fixed a bug in the computer player move speed adjustment which caused
- the counter to wrap and the machine to appear to hang.
-
- - Split the shareware and registered builds.
-
- =============================================================================
-
- release: 1.1,
- no-debug executable,
- no-debug dlls,
- stack chk on
- date: August 22, 1995
-
- First shipping release
-
- * Thanks again to all those participants in the MVP Software forum who
- helped out with the version 1.1 testing. Your comments and suggestions
- made the program even better and more robust.
-
- - Disabled the player name fields in the new game dialog. Historically
- editable, these were made semantically read-only in version 1.1, but
- the enable bit was left set in the resource.
-
- - Fixed various minor problems in the help file and setup program.
-
- - Realligned the text fields in the win dialog to accomodate longer strings
- under certain circumstances.
-
- - Shortened the delay for the dice animation in the first roll dialog
-
- - Redesigned the handling of the status bar font. Despite adhering to the
- API specifications for requesting fonts we found that on some machines
- the fonts produced were wildly off. To work around this the Preferences
- Dialog now contains a fonts button, where the user can select a font for
- the status bar. This font info is saved in the ini file.
-
- - In order to accomodate different font sizes, redesigned the drawing of the
- status bar to dynamically adjust to the size of the displayed strings.
-
- - fixed a bug which was introduced during the rewrite of the move probing
- functions for the human player - the bug caused a GPF when a move
- suggestion was requested for a partial roll
-
- - Added resign game and claim game options to the Games Menu. These allow
- a player to end a match game early when either player has an obscene
- advantage in position.
-
- - Fixed a bug in the setup program which caused it to suggest a floppy
- drive as the install target.
-
- - Added nicer dialogs showing the opponent face image for double replies,
- claims, and resigns.
-
- - Implemented Wes Gray's excellent new board sizes.
-
- - Fixed a bug which left the Show Last option in the moves menu enabled even
- when the last player to move had to pass.
-
- - Relocated the status bar down 1 pixel to correct an early mistake.
-
- - Added centering code to the dialogs that still didn't have it.
-
- - Fixed a bug which printed 0/0 in the status bar for pipcount between
- games.
-
- - Added large dice and doubling cube to the VGACMN graphics library and
- standardized their use in the ROLLFDLG.
-
- - Updated the help file.
-
- =============================================================================
-
- release: 1.2,
- no-debug executable,
- no-debug dlls,
- stack chk off
- date: April 31, 1996
-
- Second shipping release
-
- * Many thanks to our customers who have downloaded and purchased MVP
- Backgammon 1.1. We hope you find version 1.2 even more fun to play.
-
- - Fixed several problems that caused the game to GPF when trying to
- double, claim, or resign during a human-to-human game. The problem
- was that the face image database index wasn't properly initialized
- for human players.
-
- - Added a feature which allows the MIDI track play lists to be
- customized. The Options | Preferences | Music | Select Tracks now
- contains a 'New...' button which will let the user browse for an
- existing .MID file. It also contains a 'Delete' button which
- removes the currently selected track from either list.
-
- - Removed the 'Allow Undo' option from the preferences settings. Basically
- the undo as implemented is always legal in Backgammon... and we needed
- the dialog space for...
-
- - Added an 'Auto Pass' option to the preferences settings. The new behavior
- is as follows: when a match is not running, the state of the Auto Pass
- option determines whether the opposing player continues to roll as long
- as you cannot, i.e. when you are on the bar facing a closed board. This
- is the behavior when the option is set. If the option is not set you must
- roll and pass explicitly. During match play this option is not available.
- You must always roll and pass explicitly in order to have the capability
- to double. Thanks to Michael McMillin for pointing this out.
-
- - Fixed a bug which diabled the warning prompt when a game previously
- loaded by disk was about to be thrown away as a result of the user
- selecting Game | New or Game | Load from the main menu.
-
- - Fixed a bug which prevented the player match history from accumulating
- points won.
-
- - Added cumulative games won to the player histories.
-
- - Fixed a bug which truncated the saved value of the computer player
- move speed setting to 10 or less.
-
- - Added new splash graphics at game startup, and redesigned the credits
- dialog.
-
- - Added file drag target support so that saved games and matches can be
- loaded by dragging the file onto the game window. Also supports
- launching backgammon by dragging a save file onto the program icon.
-
- - Fixed a problem with Show Last Move. In the rare event that the action
- is taken before a computer opponent has finished its move, the
- computer would continue to move while the displayed move was drawn on
- the board, with messy results. The game now pauses the computer player
- until the move display is cleared.
-
- =============================================================================
-
- release: 1.3,
- no-debug executable,
- no-debug dlls,
- stack chk off
- date: November 30, 1996
-
- Third shipping release
-
- * Many thanks to our customers who have downloaded and purchased MVP
- Backgammon 1.2. Version 1.3 corrects some remaining problems, and
- implements several enhancements and user suggestions.
-
- - Corrected potential bug with an uninitialized sound code.
-
- - Corrected a bug which caused the computer player to roll the dice
- even though a double had been declined and the game was forfeit.
-
- - Enabled wagering and doubling in single games, as well as matches.
-
- - As a consequence of this Auto Pass behaves differently. Auto Pass is
- now absolute, overriding wagering settings. So if you have wagering
- turned on, and are on the bar facing a closed bar, whether or not
- you have an opportunity to double your well-situated opponent is
- dependent on the setting of this option: if Auto Pass is off you will
- be able to double, if Auto Pass is on you will not.
-
- - Added a workaround so that, should the creation of timers for the
- dice engine fail, as has happened on some machines, a static
- random algorithm will provide rolls.
-
- - Changed the cursor behavior so that the "pass turn/put away dice"
- cursor would appear immediately after rolling (since the cursor is
- in the die cup at that point). This is more natural, and avoids the
- situation where you have to pass immediately, but must move the cursor
- out of the die cup first.
-
- - Made the doubling cube into a hotspot when it is active for the
- human player. When a player has the option to double, and the mouse
- pointer is moved over the doubling cube, it will change to a dollar
- sign. Clicking at that point will offer a double. The menubar
- doubling control works as before.
-
- - Added a graphics check to set the best board size choice on startup.
- This check occurs once when the game is first run, and also if the
- game is run and the screen resolution has changed. The algorithm
- chooses the small board if xres < 800, the medium board if xres <
- 1024, otherwise it chooses the large board.
-
- - The status bar font choice is now tagged to the board size. When the
- font is changed it is applied to the current board size. If the board
- size is changed the program loads the font for that size. This allows
- the player to choose fonts that work best in each size.
-
- - Got the 3D look working for all dialogs. Dialogs will now appear with
- the Win95 bevelled look when the program is run under Win95 or Win NT
- 4.0.
-
- - Implemented the evaluator open architecture extensions. Encapsulated
- current evaluator code into standard runtime bindable DLL. Added
- management dialog, and made necessary changes to the player file
- structure. Also amended the game start and player edit dialogs as
- appropriate.
-
- - Fixed the missing help link in the Player Add/Edit dialog.
-
- - Changed the sequence when the game detects that Windows is shutting
- down. The user will now have a chance to save a game or match in
- progress.
-
- - The game and match startup dialogs now save their context to the game
- init file, and restore it next time they are opened. This makes it easy
- to repeat a favorite setup.
-
- - Added a help button to the player list dialog. General dialog cleanup
- related to the move to 3d dialogs, which threw all the image allignment
- off.
-
- - Fixed a bug that allowed an illegal move to be made when moving one of
- two stones off the bar. Thanks to Kevin Grady for discovering this, and
- Ziad Ahmadi for providing a recipe for reproducing the problem.
-
- - Fixed the hole in the game logic that allowed the player to move the
- smaller of two rolls in such a way as to prevent moving the larger, or
- to take a partial move in such a way as to prevent taking the full roll.
- Thanks again to Ziad for this one.
-
- - Changed the program caption to show the version during game play, and
- when no game is running, and to show the players in a match when a
- match is running.
-
- - Sped up the dice roll in the Roll for First Turn dialog.
-
- - Changed the default filespec in the load file dialog to show both game
- and match files when it first opens.
-
- - Fixed a bug that played the "roll for first turn" sound when auto
- first turn was enabled.
-
- - Worked on the computer move speed adjustment. Changed the way the piece
- speed is calculated. Still have some trouble here with speeds being
- inconsistent from one program session to another.
-
- - Fixed a hole in the computer player pre-move logic which allowed the
- computer player to double the stakes on the opening move of a game.
- Thanks to Art Buell for finding this one.
-
- - Made the operation of the Crawford and Jacoby rules consistent across
- games and matches.
-
- - As a consequence the Match Definition and Wagering Settings dialogs
- have changed. See the help file for more information. The settings
- for these two rules are now made in the wagering settings dialog,
- rather than on a per-game basis, and are stored in the program
- configuration file.
-
- - Expanded the range of the random sequence used by the die roll
- generator by a factor of five. Also added a simple check to make sure
- that the timers have fired since the last request for a roll. I don't
- think this condition will ever trigger, but I want to make sure that
- every base is covered with the dice rolls.
-
- - Changed the effect of the Crawford Rule to align it with what seems to
- be the favored interpretation: that the doubling cube is inactive during
- the Crawford game. Previously the cube was active, but only the player
- whose point total had triggered the rule could offer a double. Marc
- Ringuette correctly pointed out that this player wouldn't offer a
- double anyway.
-
- - Found and corrected a condition in the MIDI control subsystem which was
- causing the message "A device ID has been used which is out of range for
- your system." to appear. This was a valid use of the MCI which caused
- problems with some drivers. An alternative method was implemented which
- solved the problem on our test installations.
-
- - Redesigned the Wagering Settings dialog to make it more compact and
- efficient.
-
- - Added options to disable the Jacoby and Crawford rule warning messages
- that appear when either rule is triggered. These settings are found in the
- Wagering Settings dialog.
-
- - Added a manual dice roll input dialog, triggered when the menu choice
- Options | Manual Dice is checked. Affects the operation of the Roll for
- First Turn dialog. See the Help File.
-
- =============================================================================
- KNOWN PROBLEMS:
- =============================================================================
-
- - The computer player move speed adjustment works, but the effect seems to
- be variable from one program session to another. Still working on this
- one.
-
- =============================================================================
- PENDING CHANGES:
- =============================================================================
-
- - Version 2.0 is scheduled to include internet and dial-up play, 3-D and 2-D
- rendered boards, plug-in AI with a published API specification, revamped
- dialogs and graphics, professionally-recorded sound, and many other
- additions and improvements.
-
-