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 240. Later Zangband versions (like for Z274) also have borgs and those are based off of version of this zborg from about 2003, so it’s grossly out of date.
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. The deepest legit borg died to Loki on Level 82.
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 and pets are supported.
- 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 armor 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 have meaning. The borg does understand ‘Kill x number of abc monsters.’ 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 at a comfortable clevel. He doesn’t travel to the other town.
- Limited understanding of the special town shops (Library, Restoration guy, Thieves Guild). He does use their services.
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)