I started this project in November 2001 It took a few hundred hours just to get it to compile. I had to completely rewrite the magic use system and build in all the special handling for races/classes. It is designed to run on Zangband 2.4.0. Later Zangband borgs (like for Z274) are based off this one.
This is my favorite version of the *bands and I tend to work on this borg more than others. The vanilla game is much easier for a bot to play and the bot has won many times. It is unlikely that a zborg will win Zangband; the monsters are just too powerful and special tactics are needed late in the game.
You can learn more of Zangband and download the source code at Zangband.org
Noteworthy Comments on ZBorg 240
- It can play every class and every race.
- It can play every realm of magic and Mindcrafters.
- Friendly Monsters are not attacked.
- It can manage the first main town well, making it to the dungeon and back to town with out difficulty.
- It understands how to deal with Trees, Lava, and Water.
- It is able to handle goofy monsters that look like walls and empty grids.
- ScreenSaver works, first class is always Warrior, then random after that.
- It understands that some races have special food requirements.
- It calculates the bonuses for monks going with or without armour and weapons.
- As a vampire, it understands that it must avoid sunlight, and can suck blood.
- Racial abilities are supported (at least usefull abilities are, who uses Probing anyway).
- Most mutation activations are supported.
- Special Town Quests are not supported.
- Random Dungeon Quests mean nothing (as of now). The borg does not understand ‘Kill x number of abc monsters.’ However it does know what the quest monster is and treats it as a priority target. It will try to remain on the level if quest monsters are found.
- Borg does travel from one town to the next. The Borg will move to the Northern town about clevel 5.
- Limited understanding of the special town shops (Library, Restoration guy, Thieves Guild).
For basic ZBorg Compiling
Before you compile it, you must extern the player_flags() from files.c, and uncomment the ALLOW_BORG in z-config.h, add the object files to your makefile. If you want to use graphics then add ALLOW_BORG_GRAPHICS in z-config.h somewhere.
If you want the ScreenSaver to work, then replace the original main-win.c with the one provided in the distribution. You will need to copy the zangband.exe to the windows directory and place a copy of a zangband.ini into the widows directory. That zangband.ini file only needs to contain 3 lines.:
AngbandPath=”d:gameszang240″ (Where your copy of Zangband 240 is located)
SaverFile=”Saver” (Or whatever you want to name of the screensaver file)