-
Notifications
You must be signed in to change notification settings - Fork 0
An event-driven NetHack AI for TAEB
License
DrSunglasses/TAEB-AI-Reactive
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
TAEB::AI::Reactive -- a NetHack AI built on the TAEB framework ================== AUTHORS ------- TAEB::AI::Reactive is the work of Jeffrey Bosboom <[email protected]>. PHILOSOPHY ---------- TAEB::AI::Reactive (henceforth referred to as "Reactive") addresses TAEB's speed problems by being announcement-driven rather than polling the world model. After all, ScreenScraper and Cartographer are polling NetHack's output to update the world model anyway -- why duplicate this effort? Analyzers are the pluggable units of Reactive behavior. Each analyzer subscribes to events that it cares about, usually saving some information in analyzer-internal state. When the analyze method is invoked, the analyzer checks its state to see if it wants to do something. If it does, it submits an action to do it (possibly asking the world model for more information now that it knows it wants to act); otherwise, it suspends itself, so that analyze will not be invoked from the next_action loop. Suspended analyzers continue to receive events, so they can reactivate themselves when they want to do something again. In this way, wasted computation is minimized. (I also find it to be a cleaner design than polling, but that's a matter of opinion.) LICENSE ------- TAEB::AI::Reactive is licensed under the terms of the GNU General Public License, version 2. See the included LICENSE file for the full text of the License.
About
An event-driven NetHack AI for TAEB
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published