Testing - [EBPEdit Help Contents]

During map development, and before releasing your map to end users, you should test it. The two primary ways to test a map are to 1) view and play it yourself in EBP with other people or the AI, and 2) have the AI play itself repeatedly via continuous games.

Below are some ways you can test your map and compare it to other maps.

INFORMATION

Compare information about your map with other maps. Use the map editor's Info, Map pull-down menu to review various data.

Does Info, Rail Corridors plot lines extending to various places on your map (it should). If, instead, the best rail corridors are concentrated in one stretch, all players will compete to build in that area, while ignoring distant cities. You can create better balance by including more demands for loads supplied by the distant cities, and increasing their delivery payoff.

APPEARANCE

The two most common visual problems we see with maps are 1) city names crowding important areas of the map, and 2) load icons that employ the transparent color in their interior.

When a city is close to another city on the map, its name may appear closer to the wrong city. By default, EBP displays a city's name below and to the right of the city milepost. You can shift the name location to the left (or higher) by entering the special code -99 in the Name Location Offset of the Edit City window. The -99 code automatically adjusts text placement based on font size.

Cities on the left coast of your map will have their names displayed, by default, in the track building area to the right of the city. Using the -99 technique described above, you can shift the name to the left, off the coast, leaving the track building area more visible to users.

As you probably know, EBP permits users to choose the font and size of text that appears on your map. While your map is loaded, in EBP go to File, Display Settings and try different settings for Map Font and Size. In particular, make the size larger. If you choose size 12, is it still obvious which milepost each city name represents? Users should be able to play your map with no confusion when using size 12 text.

For icons, white is the common color designated as transparent. Where it sees white, EBP (actually, the display driver) knows to display the background instead. If you use white on the inside of an icon, say, the interior of a fruit, during play the fruit will appear to be hollow. If you need a bright color inside the icon, the solution is to use an off-white color there.

After white, the second-most popular system background color that people use is black. For testing purposes, you should temporarily reconfigure the default system colors on your device so it employs light text on a black background. Then run EBP with your map and make sure the icons are recognizable, especially on the player contracts. If they are not, you have used too much black or dark colors in one or more icons. The solution is to add some lighter colors to the problematic icons.

CHECK MAP

Use the Check Map feature to have the editor examine your map and report on various common faults and unusual settings.

PLAY

Try playing your map im ENP. We recommend that all maps be playable by 6 people, meaning there must be no bottlenecks that prevent any of 6 players from interconnecting the big cities. All 6 players should be able achieve the victory conditions of your map.

Watch how the AI bots play. Do they do things you did not intend, such as build track in places you did not foresee? That might reflect a problem in your map, or a shortcoming in the AI.

Check that each event has the impact you wish. You can manually activate an event: in EBP choose Show, Event Info, then Shift+click on the text in the top of the Event Info window and enter the number of the event you wish to trigger.

CONTINUOUS PLAY

Let the AIs play your map repeatedly to gather statistics; instructions are in the Continuous Play topic of EBP's help. Let the AI run at least 1000 games before you examine the resulting statistics. Many map designers let continuous play run overnight so thousands of matches can be completed by morning.

Those who register both EBP and EBPEdit can obtain upon request a free copy of EBPHP, our high performance version of EBP that is intended for testing maps via continuous AI play. Depending on your computer, it can operate up to twice as fast as standard EBP. It does this by reducing error checking, so before using EBPHP, make sure your map runs without error in EBP.

With 4 players, the most popular crayon rails board games require on average about 60 rounds to complete. How does your map compare? The statistics will reveal the answer. Is any difference from the norm as you intend?

Re-run your map test after turning off events (uncheck Events in the Game Options window). Typically, with events off, the AI will win in 2 to 4 fewer rounds on average. Is this true for your map? If the AI wins, say, 10 rounds sooner, it suggests your map's events are too rough on the players.

How often does an AI bot choose to restart on your map? For the maps published as popular crayon rails board games, the AI finds itself stuck and in need of restart about once per 100 to 1000 4-player games. If the restart rate on your map is much higher, it can reflect that your contracts include too many infeasible deliveries at game start (ones that require too much track building). A high restart rate can also be due to events that are too rough on players. Also, if your map employs elements no other map does, it could be that the AI has trouble dealing with those elements.

You can study restarts by doing the following: start EBP from the command prompt and append the /debugrs switch. For example, at the C:\ebp> command prompt enter ebp/debugrs. When EBP starts, prepare it for Continuous Play games, and in the Game Options window enable the "AutoSave before every turn" checkbox. Next, let the AI play itself. Each time a bot restarts, EBP will copy all the autosaved games up to the point of the restart into a new subdirectory of the name \rs1, \rs2, \rs3, etc. Such consecutively-numbered subdirectories will be created in the directory that contains your ebp.exe program. After you have collected a number of such restarts, stop the continuous play, and use EBP to load one of the autosaved games from an \rs# directory. Examine what occurred leading to the restart. Most restarts happen when the AI is low on cash, and then an event destroys more track than it can afford to repair; at that point it usually pitches contracts hoping to find a demand it can deliver, but if not, the AI will give up after 10 or so tries, and restart. That can happen to a human as well, so is not considered poor AI play unless it occurs very often. Other causes of restarts, particularly ones that share a common pattern, can indicate a problem in your map, or a shortcoming of the AI, or both.

DEBUGGING EVENTS

During continuous play, error messages, poor AI play, and the rare program hang are most likely due to events. Events are both complex for you design and for EBP to handle. If you encounter such problems, in EBP's Game Options window, uncheck Events, then re-run continuous play. If the problem does not recur, you know it is related to events.

If events are the culprit, you can determine which one by re-enabling the Events checkbox in EBP's Game Options, and then in EBP use the Show, Event Info menu item. There check mark one or more events you suspect of being the source of the trouble, and click Toggle to turn them off. Then start continuous play. EBP will omit from play those events you toggled off. If the problem goes away, you have narrowed the source to one or a few events. Re-check those events in the map editor to be sure you have set them up properly. If trouble persists, you might need to change the design of the problematic event(s).

Note that EBP's AI is not designed to handle events of long duration, except those event effects that specifically mention enduring for the remainder of the match. An event duration longer than 2 rounds will likely cause the AI bots to become confused, play very poorly, and/or restart excessively.