TAEB - the Tactical Amulet Extraction Bot (for NetHack)
TAEB is a framework for programmatically playing NetHack (http://nethack.org). This framework is useful for, among other things, writing autonomous NetHack bots, or providing unconventional interfaces to NetHack for humans.
Once installed, run the taeb script to run TAEB::AI::Demo. This simplistic AI is provided so that TAEB does something out of the box, and for didactic purposes. You should select a more robust TAEB AI (such as TAEB::AI::Behavioral) to run.
An interface for communicating with NetHack
An agent that decides what to do each turn
A screen scraper to give meaning to the characters on the virtual terminal
The user's configuration for each component
A virtual terminal that gives us an addressable screen for NetHack's output
A string representing TAEB's current state (logging_in, playing, or dying)
A message bus for tracking history for debugging and informational purposes
The state of the NetHack world; levels and tiles are some of the dungeon's domain
The state of TAEB's character; HP, in_beartrap, and fire_resistant are some statuses about TAEB's character that senses tracks.
The spells that TAEB currently knows
A message bus for communicating information across all of TAEB's components
The TAEB::Action that was taken or is about to be taken
A boolean indicating whether the current session started a new game or continued a previously saved game
An interface to communicate with the human user
A pool (universe) of NetHack items; the item pool tracks inventory, artifacts, possibilities for each appearance, and so on.
TAEB is versioned using
darcs. You can get a checkout of the code with:
darcs get --partial http://sartak.org/code/TAEB
The TAEB authors maintain something resembling a blog of ideas, difficulties, and progress at:
The primary authors of TAEB are:
- Shawn M Moore
- Jesse Luehrs
- Stefan O'Rear
TAEB has also had features, fixes, and improvements from:
COPYRIGHT & LICENSE
Copyright 2007-2009 TAEB DevTeam.
This program is free software; you can redistribute it and/or modify it under terms of the GNU public license version 2.