Changes in Bolo 0.99.8: (Game play) * Made it harder for your tank to get destroyed by being pushed on top of a building or pillbox. * Bolo now makes a building sound when you build a boat. * Improved tank refuelling code. The tank now reliably refuels at the correct rate even when the ring delay is very slow. (The tank will now refuel more than one unit per token rotation if necessary.) * Improved how shots are handled in high-lag situations. It should now take no more shots to shoot through a forest or building in a high-lag game than it does in a zero lag game. * New Option: The person starting the game can decide map overviews are allowed, and if so, whether the overview shows the entire map, or just what the player can currently see. * New Options: The person starting the game now has more control over the free resources that come with each new tank. Instead of just the old "Open Game" "Tournament" and "Strict Tournament" modes, there are now separate options for the free shells, mines, and trees that come with each new tank. * New Options: The person starting the game now has more control over how mines may be used in the game, including (bowing to international pressure) the option for a complete ban on land mines. (Game User Interface) * Added a double-size window mode. Just click the main game window's zoom box. On some Macs (like my Quadra 700) the graphics are perfectly fast and smooth in double-size mode. On other Macs (like the PowerMac 6100 I tried) they're very slow. You'll have to try it out to see how well it works for you. * Changed game time limit display (Game Info Window) to include seconds. * When a game has both an initial delay and a time limit, the time limit now starts counting from the *end* of the initial delay, not from the beginning. (E.g. if you set a one minute start delay and a five minute time limit, you now get a full five minutes of play-time, not four.) * Improved map transfer speed when you join a game. (Supporting User Interface) * Added a comment line to the game info when you start a new game. This allows you to enter a descriptive comment about the game, like "Beginners' game for newbies only." or "Game for modem players." or "East coast game, Boston area only please." * When you join a game, Bolo now gives you more information about what effect you are likely to have on the ring delay and gives you the option to change your mind if you decide that your joining might ruin the game. * Added an option to have Bolo send a game information packet to BoloTracker.Stanford.EDU in addition to one other tracker of your choice. * Added a "Go to BoloWeb" button to launch your Web Browser and go to the game tracking web page at BoloWeb.Stanford.EDU. (The URL of the Web page the button will take you to is stored in 'STR ' resource id 128.) (You must have Internet Config installed and configured for this to work.) * Keyboard shortcuts: Where appropriate, you can now use the keyboard as a shortcut for clicking buttons in dialog boxes (e.g. Press "D" instead of using the mouse to click "Don't Save"). * Made Bolo use less CPU time, especially when it's window is not visible, which should make it possible to run more Brains in the background on a single machine. * I've taken the "UDP with Multicast" option off the main network options dialog. When I eventually add multicast support to Bolo, it will activated automatically when appropriate. * Bolo now uses the Communications Toolbox to get a list of the available serial ports, instead of just assuming that every Mac has one Printer port and one Modem port. (Miscellaneous) * Any map can now be made into a tutorial by adding a TUT# resource (id 0) to the map file. Take a look in Bolo with ResEdit for an example TUT# resource. The tutorial messages will be displayed in order, as the tank enters each trigger rectangle. The "EndOnDeath" field says whether the game should end when the end of the tutorial is reached, or revert to normal game operation at that point. To edit TUT# resources in your own map files, copy the TMPL resource out of Bolo into your ResEdit Preferences file, or alternatively put a copy into each map file you are editing. This resource allows ResEdit to edit TUT# resources. * Bolo used to send a separate acknowledgement for every data packet, to help provide faster recovery from loss of a single packet. On a fast local network (like a small office Ethernet) where the token rotation time is very quick, this can be wasteful: Local networks are generally very reliable, so a separate acknowledgement for every single packet is not really necessary, and because the token rotation time is very quick, any error will be detected (and corrected) rapidly anyway. Because of this, Bolo now uses per-packet acknowledgements only when the total ring delay is greater than 1/3 second. (Bug fixes) * Fixed bug where if you sent two messages in a row very quickly the new one would overwrite the old one before it had gone out (now the "Send" button is greyed out until it is safe to send another message). * Fixed bug where player names beginning with a '-' character would mess up the "Players" menu. * Fixed bug where old characters (particularly explosions) would sometimes not be erased from the screen when a player gets a new tank and the screen static clears. * When you had your tank hard up against the side of a building and sent the man out to build somewhere on the other side of the building, sometimes he would get stuck and would not be able to find his way past the building unless you moved the tank a couple of pixels away from it. This is now fixed. * Fixed bug where, after selecting "New Game" from the File menu, the little green man would not be available for building. * Fixed bug where the terrain *under* pillboxes would sometimes not be communicated correctly to new players joining the game (they would sometimes see road after the pillbox was picked up, where other players saw the real terrain). Thanks to Dennis Langdeau for correctly diagnosing this bug long ago, and apologies for taking so long to fix it. * Fixed bug where the map overview visible regions would not be updated correctly after one of your pillboxes was destroyed. * Fixed cosmetic bug where sometimes when you saved the map the correct map name would not appear in the "Save File" dialog. * The gameid timestamp is now in little-endian byte order (this is only of interest to writers of tracker software) Stuart Cheshire * World Wide Web Page * Stanford Operating Systems and Networking Group Research Assistant * Stanford Residential Computing Associate * Macintosh Programmer