Continuous Play - [EBP Help Contents]
EBP's continuous play feature is a handy way to test the ability of the various computer players against each other, or to test a custom map you have made.
To enable continuous play, from the Game menu choose Start. From the Game Setup window that appears, click the Game Options button. In the Variants section of the Game Options window, enable both the "Bots: game repeat" and "Bots: non-stop" checkboxes.
STATISTICS
You can view cumulative statistics about the continuous games via the Game Status window: from its Display pull-down menu choose AI Stats.
STOP AT
You can tell EBP to play up to a certain number of games, then stop. In the Game Status window, choose the Continuous, Stop at... pull-down menu, and enter the desired quantity.
If you employ the Sum Data feature (described below), in the first instance of EBP (the one in which you activated Sum Data), choose Stop at... and enter the total quantity of games you want played across all instances. You'll also be asked if you want the other (the secondary) instances of EBP to close automatically after the total is reached; choose No if you want the programs to not shut down so, for example, you can individually examine the continuous play stats generated by each instance.
INCREASING PLAY SPEED
After play has begun, for maximum play speed, minimize the map window: EBP will skip updating that window until you restore it to its normal size, and will execute in the processing background so that you can run other Windows programs concurrently. If your device has a multi-core processor, or if you will not be running other programs simultaneously, you can gain an additional ~10% speed boost by enabling the "Bots: max processor" checkbox in the Game Options window. This is commonly employed when letting the game run unattended overnight to collect stats.
Leaving the Game Status window open at its normal size will not slow the game much, especially if left viewing the AI Stats.
When using standard games rules on popular maps, and one processor core of a 4 Gz Wintel computing device, EBP can complete a match of four, max-skill AI bots in about 1 to 6 seconds, depending on the map in use.
SUM DATA
If your device has a multi-core processor, you can run multiple instances of EBP concurrently, and each (up to the number of cores) will automatically execute on its own processor. Enabling the "Bots: sum data" checkbox in the Game Options window tells EBP to gather and combine the data from all instances into the AI Stats displayed for the first instance. Tech note: the data communication between instances is handled via DDE.
"Bots: sum data" is intended for use only with the "Bots: game repeat" and "Bots: non-stop" features. If you forget, EBP enables those checkboxes automatically when you enable "Bots: sum data".
Starting with version 2.0, EBP asks how many instances you wish it to spawn. If you have a quad-core processor, you might enter the value 3 so EBP will automatically set up and run a total of 4 instances of the program, and gather the resulting stats in the Game Status window of the first copy of EBP. If you agree when it asks, EBP will assign a unique window caption to each instance, such as EBP #2, EBP #3, etc. EBP #1 is the instance that will gather the stats.
You can still use Sum Data's old, manual start-up method, though it does not support all the spawning features, such as instance window caption numbering. To employ the Sum Data feature manually, enable the "Bots: sum data" checkbox for each EBP instance you start manually. In that case, for number of instances enter 0. Be sure to employ the same map and settings (number of players, etc.) for each instance, otherwise the statistics gathered may be unreliable.
If your device has a large number of cores, perhaps 16 or more, all of which are running EBP, the copy of EBP receiving the results from other instances might become too busy with stat collection to also run continuous games itself, in which case you might see frequent "Error 286 in ddesend" messages. If that happens, instead enter a negative value when prompted for the number of additional instances to spawn. For example, with a 16-core processor, you could enter -15 to have EBP spawn 15 other copies and reserve itself for tallying the results that will be incoming from those 15 instances.
To shut down other running instances, without having to close each one manually, in the Game Status window of instance #1, choose the Continuous, Close instances pull-down menu. Allow a minute or so for your closure request to propagate to the other instances.
Note that some multi-core processors automatically slow their speed of operation to keep from overheating. If that happens, you will notice that adding instances of EBP paradoxically will reduce the combined rate at which games are completed. In that situation, consider running fewer instances of EBP concurrently, or explore ways to cool your device, such as using a fan to blow air on it.
There can only be one "first instance" of EBP (or EBPHP) at a time within a given machine because all secondary instances will connect to it for "sum data" purposes. You can, however, run two separate "sum data" groups by using both EBP and EBPHP concurrently. EBPHP is available upon request to those who have registered both EBP and the EBPEdit map editor.
ERRORS
"Error 286 in ddesend" means the EBP instance summing the results was momentarily too busy to quickly receive statistics incoming from secondary instances. If the error occurs sporadically it can be ignored because the stats are not lost: they will be retransmitted after the next game is completed.
If other errors are reported during play of a map you are testing, it is possible something about the map is related to the trouble. Enable the "Bots: halt on error" checkbox when setting up for Continuous Play and EBP will stop the game if a trappable error occurs. You can then review the game to help find the cause.
CONTINUOUS SAVES
To save every game the AI plays, enable the "Bots: save at end" checkbox in the Game Options window. Upon completion, each game will be saved into the directory that contains EBP, and automatically assigned a name, such as 17311DXL.EBZ, that represents the date and time.
If a continuous-play game becomes stuck (player cash unchanged for 100 rounds) EBP halts it and saves the game per the file name system of the prior paragraph. Later you can open such a saved game to investigate why it stalled.
EBPHP
If you register both EBP and EBPEdit, you are entitled upon request to a free copy of EBPHP, the high performance version of EBP. It can run up to about twice as many continuous play games in a given amount of time, a boon for map designers who wish to test their map. Note that to achieve the higher speed, certain error checking is omitted from the program, and that introduces the possibility that EBPHP may hang or fail unexpectedly. Upon exit from EBPHP you may see a message from Windows that EBPHP failed, but this is a Windows bug, and can be ignored. If EBPHP hangs, retry with EBP. Most such problems arise from unanticipated interaction between various game events. See the Events topic for suggestions on how to debug such event interaction.