Live data from Hacker News

First NetHack bot ascension

reddit.com

11–20 of 89 posts

Re: First NetHack bot ascension

#11
post #7

At the risk of losing my nerd card, I've never played Nethack. I read the reddit thread, and while it was in English, it made not a lick of sense to me. Now I know how non-engineers feel sometimes. :) BTW, can someone tell me why this is such an amazing accomplishment? I know Nethack is very old, so is this a case of a complex problem space or just no one has tried before?

It's incredibly complicated. That's probably less of a big thing now than it was in the 80s or 90s. In the 80s or 90s it was just amazing that a game could be that intricate.

The sigil-based graphics are part of what make the complexity possible. And - the dev team have coded in all manner of combinations of things, many of which get you killed in plausible/amusing/annoying/complicated ways.

There's a culture of players looking at the source code while they play. The source is really antiquated C.

If you decide to have a go, I'd recommend printing out a copy of the manual, avoiding the spoilers for the first couple of dozen games at least. Just try to learn your way around the dungeon just from that manual, and experience the complexity and sense of mystery.

It's not a particularly 'good' game - grindy. A vogue at the moment in roguelikes is for games with as little complexity as possible. For example, I've spent far more time studying the C code to this game than I have playing it: http://trogrd.tumblr.com/post/61949503427/zoo

Re: First NetHack bot ascension

#12
post #7

At the risk of losing my nerd card, I've never played Nethack. I read the reddit thread, and while it was in English, it made not a lick of sense to me. Now I know how non-engineers feel sometimes. :) BTW, can someone tell me why this is such an amazing accomplishment? I know Nethack is very old, so is this a case of a complex problem space or just no one has tried before?

Nethack is fiendish, and you only have a single life. The dungeon is procedurally generated. There are techniques to ascending but it's hard even for people to do, let alone programming a bot.

You get potions, scrolls, weapons etc but have no clue what they are until you use them (some scrolls will help you identify what other things are in advance). Nothing about them will give you any clue (scrolls have names like "AFEWA AWEBRPO", potions are just colours etc.) To survive you need to use them though. You need to drink, but the potion might be one of weakness, poison, blindness, confusion etc. You need to eat regularly, and food is scarce, but it also might poison you. A ring of slow digestion is helpful there, but until you use an identify scroll on a ring you won't know what it is. It could end up being a ring of attract monster, for example.

Re: First NetHack bot ascension

#13
That is truly impressive. I remember what a colossal achievement my first ascension felt like. Nethack is such a complex game, but the most important skill is probably patience and planning single moves, something a bot can be perfect or very good at. Now I feel like playing again.

Re: First NetHack bot ascension

#14
post #12
post #7

At the risk of losing my nerd card, I've never played Nethack. I read the reddit thread, and while it was in English, it made not a lick of sense to me. Now I know how non-engineers feel sometimes. :) BTW, can someone tell me why this is such an amazing accomplishment? I know Nethack is very old, so is this a case of a complex problem space or just no one has tried before?

Nethack is fiendish, and you only have a single life. The dungeon is procedurally generated. There are techniques to ascending but it's hard even for people to do, let alone programming a bot. You get potions, scrolls, weapons etc but have no clue what they are until you use them (some scrolls will help you identify what other things are in advance). Nothing about them will give you any clue (scrolls have names like…

There are lots of advanced techniques for identifying things. If you have a pink potion you can throw it at a monster, and based on the monster's reaction you might now know what pink potions are. Most of this stuff would be hard to learn on your own though.

Re: First NetHack bot ascension

#15

That is truly impressive. I remember what a colossal achievement my first ascension felt like. Nethack is such a complex game, but the most important skill is probably patience and planning single moves, something a bot can be perfect or very good at. Now I feel like playing again.

The bot can also do things that would bore a human player to tears, such as automatically switching between items as the need arises.

Re: First NetHack bot ascension

#16
post #15

That is truly impressive. I remember what a colossal achievement my first ascension felt like. Nethack is such a complex game, but the most important skill is probably patience and planning single moves, something a bot can be perfect or very good at. Now I feel like playing again.

The bot can also do things that would bore a human player to tears, such as automatically switching between items as the need arises.

Not to mention the farming. I could never do that.

Re: First NetHack bot ascension

#17
post #6
post #4

Earlier quoted context omitted.

Probably because to the the person familiar enough with NetHack to have played it but never immersed themselves in the community, ascension seems hard . A speedrun is one thing, doing it on a game many can't even win is another thing entirely.

I add to the point: doing it on a game many can't even make half way through.

My first nethack game? I was locked in a room without door and was killed by a falling rock. I don't even know why I ever played another game :-) And yes, there was a big gap until the next game. As a beginner that's all you ever do, die, die, die.

Re: First NetHack bot ascension

#18
post #7

At the risk of losing my nerd card, I've never played Nethack. I read the reddit thread, and while it was in English, it made not a lick of sense to me. Now I know how non-engineers feel sometimes. :) BTW, can someone tell me why this is such an amazing accomplishment? I know Nethack is very old, so is this a case of a complex problem space or just no one has tried before?

There are two major things that can make AI difficult: having too many options to choose from, and having difficulty figuring out which options are better. NetHack is nasty in both of these dimensions.

• Many options are available:

- Many different actions available at any given time (move, attack with a weapon, Zap using a wand, Quaff a potion, Wear a different piece of armor or equipment, Wield a different weapon, Read a scroll, Spellcasting, etc)

- Many different options available within each action (place to move, spot to place a fireball or lightning bolt, place to teleport to (!!), which piece of armor or equipment to use)

As a very rough estimate from someone who hasn't played NetHack much, I'd guess that a mid-level character might have 10^4 or so options immediately available to them at any given time, though many of these are combinatorial results of having thirty different spells that can be targeted on any of the hundred or so visible tiles. The branching factor for Chess is about 10^1.5, and Go is around 10^2.

• Options are difficult to evaluate:

- On an immediate mechanical level: If you want to use teleport, what's the best place to teleport to? If you want to cast Fireball, how do you use it as effectively as possible? If you want to shoot into a group of enemies, where do you aim?

- On a tactical level: Would this monster be more effectively dealt with by spending some energy to cast Fireball, using a charge from your Wand of Magic Missiles, or attacking it in melee and risking taking some damage?

- On a strategic level: Would it be more useful to clean out the rest of this level or immediately go down the stairs? What set of armor and weapons would result in the best chances in melee against the enemies I expect to encounter in the near future? Which of my items should I cast Polymorph on to maximize the chance of receiving a random item that would be useful to me?

- On a mathematical level, NetHack suffers significantly from the horizon problem. That is, many immediate tactical or mechanical decisions have strategic consequences that require an AI to simultaneously consider all of the above problems. You can't just have a mechanical planner, a tactical planner, and a strategic planner; you have to have a unified AI that can realize that it'd be a good idea to not kill that one enemy in the corner because it can kill it and eat it two hours later on its way back up to the surface.

This is an even nastier issue. Even humans can't do this effectively for NetHack. For example, if you look on the NetHack subreddit, one of the current top posts is "Help me make it out of this group of enemies alive!", and everybody who comments has a different idea of what the best solution is.

Re: First NetHack bot ascension

#19
Folks, do yourself a favor, and check out the bot's source: https://github.com/krajj7/BotHack/blob/master/src/bothack/bo...

It's really, really neat. Even to those of us who know little or nothing about the game, from the nested Englishy descriptors piled up into short conditions for things-the-bot-might-want-to-do, the basic strategies can be discerned...

Re: First NetHack bot ascension

#20
post #7

At the risk of losing my nerd card, I've never played Nethack. I read the reddit thread, and while it was in English, it made not a lick of sense to me. Now I know how non-engineers feel sometimes. :) BTW, can someone tell me why this is such an amazing accomplishment? I know Nethack is very old, so is this a case of a complex problem space or just no one has tried before?

I spent quite a lot of time playing ADOM, which is a roguelike like Nethack, and I can attest to enormous complexity and devilish difficulty level of such games. They are so huge - in terms of items, locations, NPC, quests and everything else - that you really can't even imagine it without a couple of weeks of playing with them; it then takes years to complete the game for yourself, and if that's not enough there are challenge games (not using certain items, never eating, finishing game naked, stuff like that).

The essence of roguelikes is that of Diablo and other similar games: you're walking around killing things, picking up items and advancing levels. In most roguelikes, however, your freedom of movement, details of the environment, number of choices to make are on a whole another level. Why have 3 (or 5) PC classes, when you can have 20 or 22, each really unique in strengths and weaknesses, utilizing different tactics and strategies? And PC race matters too, so the number of available combinations is ~(12 times 22) before you even started playing!

One in-game example of how detailed and complex roguelikes tend to be: some levels are flooded and you can't get past water without knowing how to swim... Wait, no. You of course can go into the water, no matter the swimming skill. Without swimming skill - and with swimming not trained very high - you'll lose some HP due to drowning. You can reduce the chance of drowning by leaving your heavy equipment on the ground. On the other hand, going into the water in this shiny metal armor will make it rust. After a while. Note that there are metals that do not rust, these are safe. Also, the scrolls and magic books, if not wrapped in a waterproof blanket, become unusable after some time in the water. You also obviously don't want to try lightning based magic when standing in the water. But hey, you can just build a bridge! If you have a skill for it, a hatchet and some trees nearby. Or, and this is my favourite way, you can just freeze the water with (most of) ice based spells. But don't do this when being chased by a fire using enemy: your ice bridge can easily melt. Also, keep an eye on how much your equipment weights: bridges made of ice are not very solid. You could also get a pickaxe and try to dig your way around the water, but this takes time, so maybe a wand of digging would be better...

And that's the number of options available in only one of hundreds of different and interesting situation the game puts you in. It's an experience as close to classic table-top RPG as possible without a human as a dungeon master. It also makes you forever unimpressed with "interactive environments" and "complicated plots" of modern games.

Post reply on HN