G
Guest
Guest
Archived from groups: rec.games.roguelike.nethack (More info?)
YANI - NetHack Bots
Whether a NetHack robot is possible comes up every so often
on rgrn.
Someone is currently writing one, too.
My idea is to add a programmable "macro" language.
NetHack players are an ingenious persevering lot.
Otherwise we wouldn't play, much less ascend such a complex,
difficult game.
Even minimal, partial implementations of such a language
would get exploited beyond the writer's wildest dreams.
I'm not kidding. Look what's been done with a paste buffer.
<http://groups.google.gg/groups?q=+%22paste+buffer%22+group:rec.games.roguelike.nethack&hl=en&lr=lang_en&ie=UTF-8&scoring=d&selm=8ZNub.18204%24cX1.16603%40fed1read02&rnum=3>
To start with, the language should permit:
- stop & save when it doesn't know what to do next.
(Something at least one of us human players should
do more often.)
- The human player should be able to take over at any time.
- The bot should be able to output simple messages to aid
in following its actions.
- this will help debugging
- can be used for entertainment
- Can be used in "teacher-bots" running on NetHack servers
for newbies (or oldbies) to watch. It would beat the hell
out of TV. (or watching a new player Valk in a 5x13 used
armor shop on Dlvl 4)
What features to add next will be plain - people will be asking
(screaming) for them:
- my never-hit-with-a-wielded-weapon bot needs to check
what's in its hand!
- How can I do my pacifist bot without being able to chat
with my pets or use a stethoscope.
- Pudding farming! Pudding farming!
- Note that others will be silently exploiting possibilities
you never thought of.
- teacher-bots should run until a certain point
- finish mines
- finish sokoban
- finish mines & sokoban
- the quest level
- etc.
Then another bot would start a new game. There would
always be a bot running at low-level for the education
of newbies (& the bot writer).
(Bot playing speed should be adjustable.)
The NetHack community will write bits & pieces of the bot
as time goes by and features become available. Definitive
subroutines will come into common use: "ioay's got the
best bustling-Minetown bot", "Did you see aniy's Fort Ludious
bot on NAO last night?"
Bots could become part of the annual devnull tournament.
- One server would do (lag shouldn't be a problem).
- nice the bots down to the desired load level. (Rewards
efficiency.)
- if the bots are fast enough, break the bot tournament
down into a ladder. first week 1 set of bots, 2nd
week another, third week the winners of the first two
weeks, etc.
- Bots could still stop and wait for the human to take over.
"I guess Asiondopho's bot still doesn't know what to do
with an altar."
- Bots could be penalized based on percentage of human
turns.
I would find watching a bot entertaining. It shouldn't
suffer from the usual human YASD's
- must type fast syndrome
- Victoria's Secret 2005 is on TV
- I didn't notice I as Ill, Weak, Food-Poisoned, Stunned,
confused, hallucinating, blind, burdened, stressed,
strained, overtaxed, overwhelmed, satiated, over water,
over ice, over lava, over my head, bored, etc.
Unusual methods of dying would (eventually) win(?) the day.
Just set the font down to half size & set putty in a corner
of my monitor screen.
Bot-deaths would be almost as agonizing as human player
DYWYPIs. "About to enter the throne room at Ludious &
it didn't watch that red dragon after it froze the moat."
Being able to record & replay the game easily would be a must.
"Why the deity did it do that? I fixed that bug! There should
have been a message there as well."
Once initial development is done, the big problem is testing
& then debugging found problems. Just as the NetHack community
does this for the DevTeam, it could do it for the macro
language write and the bot writers. "Hey Mot, the language
hangs when zapping myself with a wand of speed monster while
wearing speed boots." "Does Exidor know his bot actually
*prayed* when wearing an uncursed amulet of strangulation,
instead of just removing it?" Not that any human player
would do that last one, oh no.
People that really want new features can add them themselves.
New programs/subroutines should be addable on-the-fly.
specialist bots would dominate early. "My new <role> has
a ring of levitation. Time to code up that "levitating
over Elbereth in the dust" routine. Need to add that
to the bot choices and enhance the ai to know when to
make use of it."
"Hey, knights can jump, can't they!" Watching a decent
knight-bot take advantage of #jumping in the early game
would be an education to all of us.
People that dislike certain parts of the game would no
longer have to beg for changes/removal. Just use the
specialist bot for Sokoban/the Castle tune/%$@#*& mazes
in Gehennom.
It would make the game more fun. have bot-assisted
ascensions marked as such, or don't count them at all.
Like Explore mode. The player would still enjoy them
because, unlike explore mode, insta-death would still
lurk around every corner.
A lot of subroutines would be encoding the data in the
spoilers. They're a lot like bot programs already.
With bot programs, NetHack could become a "beer & pretzels"
game as well as "the game that doesn't care if you win."
Watch a bot game to kill 15 minutes instead of killing your
ascendable pacifist because you just woke up/should have
gone to bed a half-hour ago/have a cold. No more waiting
until you're in tip-top shape to enjoy some Nethack.
Jove
YANI - NetHack Bots
Whether a NetHack robot is possible comes up every so often
on rgrn.
Someone is currently writing one, too.
My idea is to add a programmable "macro" language.
NetHack players are an ingenious persevering lot.
Otherwise we wouldn't play, much less ascend such a complex,
difficult game.
Even minimal, partial implementations of such a language
would get exploited beyond the writer's wildest dreams.
I'm not kidding. Look what's been done with a paste buffer.
<http://groups.google.gg/groups?q=+%22paste+buffer%22+group:rec.games.roguelike.nethack&hl=en&lr=lang_en&ie=UTF-8&scoring=d&selm=8ZNub.18204%24cX1.16603%40fed1read02&rnum=3>
To start with, the language should permit:
- stop & save when it doesn't know what to do next.
(Something at least one of us human players should
do more often.)
- The human player should be able to take over at any time.
- The bot should be able to output simple messages to aid
in following its actions.
- this will help debugging
- can be used for entertainment
- Can be used in "teacher-bots" running on NetHack servers
for newbies (or oldbies) to watch. It would beat the hell
out of TV. (or watching a new player Valk in a 5x13 used
armor shop on Dlvl 4)
What features to add next will be plain - people will be asking
(screaming) for them:
- my never-hit-with-a-wielded-weapon bot needs to check
what's in its hand!
- How can I do my pacifist bot without being able to chat
with my pets or use a stethoscope.
- Pudding farming! Pudding farming!
- Note that others will be silently exploiting possibilities
you never thought of.
- teacher-bots should run until a certain point
- finish mines
- finish sokoban
- finish mines & sokoban
- the quest level
- etc.
Then another bot would start a new game. There would
always be a bot running at low-level for the education
of newbies (& the bot writer).
(Bot playing speed should be adjustable.)
The NetHack community will write bits & pieces of the bot
as time goes by and features become available. Definitive
subroutines will come into common use: "ioay's got the
best bustling-Minetown bot", "Did you see aniy's Fort Ludious
bot on NAO last night?"
Bots could become part of the annual devnull tournament.
- One server would do (lag shouldn't be a problem).
- nice the bots down to the desired load level. (Rewards
efficiency.)
- if the bots are fast enough, break the bot tournament
down into a ladder. first week 1 set of bots, 2nd
week another, third week the winners of the first two
weeks, etc.
- Bots could still stop and wait for the human to take over.
"I guess Asiondopho's bot still doesn't know what to do
with an altar."
- Bots could be penalized based on percentage of human
turns.
I would find watching a bot entertaining. It shouldn't
suffer from the usual human YASD's
- must type fast syndrome
- Victoria's Secret 2005 is on TV
- I didn't notice I as Ill, Weak, Food-Poisoned, Stunned,
confused, hallucinating, blind, burdened, stressed,
strained, overtaxed, overwhelmed, satiated, over water,
over ice, over lava, over my head, bored, etc.
Unusual methods of dying would (eventually) win(?) the day.
Just set the font down to half size & set putty in a corner
of my monitor screen.
Bot-deaths would be almost as agonizing as human player
DYWYPIs. "About to enter the throne room at Ludious &
it didn't watch that red dragon after it froze the moat."
Being able to record & replay the game easily would be a must.
"Why the deity did it do that? I fixed that bug! There should
have been a message there as well."
Once initial development is done, the big problem is testing
& then debugging found problems. Just as the NetHack community
does this for the DevTeam, it could do it for the macro
language write and the bot writers. "Hey Mot, the language
hangs when zapping myself with a wand of speed monster while
wearing speed boots." "Does Exidor know his bot actually
*prayed* when wearing an uncursed amulet of strangulation,
instead of just removing it?" Not that any human player
would do that last one, oh no.
People that really want new features can add them themselves.
New programs/subroutines should be addable on-the-fly.
specialist bots would dominate early. "My new <role> has
a ring of levitation. Time to code up that "levitating
over Elbereth in the dust" routine. Need to add that
to the bot choices and enhance the ai to know when to
make use of it."
"Hey, knights can jump, can't they!" Watching a decent
knight-bot take advantage of #jumping in the early game
would be an education to all of us.
People that dislike certain parts of the game would no
longer have to beg for changes/removal. Just use the
specialist bot for Sokoban/the Castle tune/%$@#*& mazes
in Gehennom.
It would make the game more fun. have bot-assisted
ascensions marked as such, or don't count them at all.
Like Explore mode. The player would still enjoy them
because, unlike explore mode, insta-death would still
lurk around every corner.
A lot of subroutines would be encoding the data in the
spoilers. They're a lot like bot programs already.
With bot programs, NetHack could become a "beer & pretzels"
game as well as "the game that doesn't care if you win."
Watch a bot game to kill 15 minutes instead of killing your
ascendable pacifist because you just woke up/should have
gone to bed a half-hour ago/have a cold. No more waiting
until you're in tip-top shape to enjoy some Nethack.
Jove