jdog5000
Revolutionary
Debug mode is kind of fun and extremely useful for figuring out why the AI has made the choices it has. Many of these comments work without BTS and this mod, but this mod has several customizations to make seeing certain things easier.
WARNING: Debug mode exposes the entire map, all cities and units (including spies). You may not want to do this on a game you intend to keep playing ...
1. With civ closed, open \My Games\BTS\CivilizationIV.ini and on the line CheatCode enter chipotle.
2. Start up civ and load/start a game. You can enter/exit debug mode at any time once the cheat code is entered, doesn't effect saves or anything like that.
Method 1:
3. Press Ctrl-Z to flip between debug mode and normal civ. (thanks Nor Me for the tip)
Method 2: (Python console instructions left for use running automation)
3. Press SHIFT+~ to open the in game Python console. This is a very useful tool for forcing things to happen in game to test them.
4. Type CyGame().toggleDebugMode() into the Python console. This turns debug mode on or off. The game will take a little while to expose the whole map.
5. Press SHIFT+~ to close the Python console.
In debug mode you can get all kinds of internal information on the state of the AI from the map. All civs in the game will show up in the scoreboard and you can see what they're researching. You can enter any city to see what it's doing as well as see every unit and what AI they're running.
In addition, as you move your mouse over the screen you can get extra info by holding down various combinations of CTRL, SHIFT, and ALT. Some particular highlights (some of which are specific to this mod):
There are other bits of info as well, play around with various combinations. If you are curious what a particular value means for the AI you can search in CvGameTextMgr.cpp ... most label strings like "Closeness" or whatever are not loaded from XML so you can search for what you see to located the relevant selection in the code.
In addition, BBAI has added some colored circles to the map in Debug mode to help understand what the AI is up to. Right after starting Debug mode you have to click on a different unit or city to get the circles to show up the first time. The locations the AI has picked out for future city sites are shown in circles of the AI's color, although when these circles coincide only one color is shown. Tiles where the AI wants to place a new or different improvement are circled in red.
Finally, this mod includes AIAutoPlay and using it you can have the AI play for you to fully simulate the game. This can be run independently of debug mode, when not in debug mode you'll see only what one player sees. Open the Python console and enter CyGame().setAIAutoPlay(10) to simulate 10 turns.
EDIT: There's also a pretty good writeup about the in game debugging setup from Iustus as well with pictures, though some of the specific information shown doesn't apply to the current BTS AI setup.
EDIT2: An AI logging system has also been added to the mod, read more about how to get logs and how to interpret them below.
WARNING: Debug mode exposes the entire map, all cities and units (including spies). You may not want to do this on a game you intend to keep playing ...
1. With civ closed, open \My Games\BTS\CivilizationIV.ini and on the line CheatCode enter chipotle.
2. Start up civ and load/start a game. You can enter/exit debug mode at any time once the cheat code is entered, doesn't effect saves or anything like that.
Method 1:
3. Press Ctrl-Z to flip between debug mode and normal civ. (thanks Nor Me for the tip)
Method 2: (Python console instructions left for use running automation)
3. Press SHIFT+~ to open the in game Python console. This is a very useful tool for forcing things to happen in game to test them.
4. Type CyGame().toggleDebugMode() into the Python console. This turns debug mode on or off. The game will take a little while to expose the whole map.
5. Press SHIFT+~ to close the Python console.
In debug mode you can get all kinds of internal information on the state of the AI from the map. All civs in the game will show up in the scoreboard and you can see what they're researching. You can enter any city to see what it's doing as well as see every unit and what AI they're running.
In addition, as you move your mouse over the screen you can get extra info by holding down various combinations of CTRL, SHIFT, and ALT. Some particular highlights (some of which are specific to this mod):
- ALT over owned territory - Strategies the owner is using, their area AI plus info on all wars they are in and what war plan they are using.
- ALT over land - Values for city founding in that plot for all relevant players plus info on the number of sites an AI has selected in the area. If the plot is one of the selected ones for an AI then a yellow X appears next to the player.
- CTRL over city - Closeness calculations for city and sum for player/team. Info on num of defenders the AI has/needs.
- CTRL or SHIFT over unit - Mission and AI the unit is using or stats on the unit.
- SHIFT and ALT near city - Whether the plot is being worked by the city, values the city assigns to working the plot, plus info on how important various resources are to different AIs.
- SHIFT over empty owned territory - Values the AI assigns to various civics.
- ALT over names in scoreboard to show war plans, power values
- CTRL over names in scoreboard to show break down of score (like what you get mousing over your own name)
There are other bits of info as well, play around with various combinations. If you are curious what a particular value means for the AI you can search in CvGameTextMgr.cpp ... most label strings like "Closeness" or whatever are not loaded from XML so you can search for what you see to located the relevant selection in the code.
In addition, BBAI has added some colored circles to the map in Debug mode to help understand what the AI is up to. Right after starting Debug mode you have to click on a different unit or city to get the circles to show up the first time. The locations the AI has picked out for future city sites are shown in circles of the AI's color, although when these circles coincide only one color is shown. Tiles where the AI wants to place a new or different improvement are circled in red.
Finally, this mod includes AIAutoPlay and using it you can have the AI play for you to fully simulate the game. This can be run independently of debug mode, when not in debug mode you'll see only what one player sees. Open the Python console and enter CyGame().setAIAutoPlay(10) to simulate 10 turns.
EDIT: There's also a pretty good writeup about the in game debugging setup from Iustus as well with pictures, though some of the specific information shown doesn't apply to the current BTS AI setup.
EDIT2: An AI logging system has also been added to the mod, read more about how to get logs and how to interpret them below.