Live data from Hacker News

NetHack beaten in 7 minutes 15 seconds real time

pellsson.github.io

31–40 of 92 posts

Re: NetHack beaten in 7 minutes 15 seconds real time

#31
post #29
post #23

Earlier quoted context omitted.

This reminds me of something I read on reinforcement learning playing Atari / video games ... often you see the Deep net (I think the game in question was a tank game) just spazzing out on the controller when there’s no enemy, the tank was spinning on the spot while waiting for a door to open for example. Initially thought just to probably be some numerical instability when the next actions are all equally likely (I.…

Do you have a source on this? I was under the impression that machine learning is only good at learning things that can be approximated by continuous functions. A RNG is almost the complete opposite of that. It's everywhere discontinuous!

Old games put the P in PRNG. Often, the technical limitations caused them to very roughly approximate randomness, for example a function that used the last n button presses plus the countdown timer as a seed. If your game has to run in under a kilobyte of memory, that n value might be a byte, or less (such as four bits, 2^4)

Some games were worse, far worse. Doom used a list of 256 random numbers that it looped through.

Pokemon is another game where the RNG function is extensively mapped, and even used in combination with bugs to generate Mew events, something that should never ever happen.

You see a lot of TAS of old games, especially popular ones, that abuse the RNG generator where feasible.

Re: NetHack beaten in 7 minutes 15 seconds real time

#32
post #29
post #23

Earlier quoted context omitted.

This reminds me of something I read on reinforcement learning playing Atari / video games ... often you see the Deep net (I think the game in question was a tank game) just spazzing out on the controller when there’s no enemy, the tank was spinning on the spot while waiting for a door to open for example. Initially thought just to probably be some numerical instability when the next actions are all equally likely (I.…

Do you have a source on this? I was under the impression that machine learning is only good at learning things that can be approximated by continuous functions. A RNG is almost the complete opposite of that. It's everywhere discontinuous!

If the result from the RNG is not actually perfectly random, and is actually partially determined by e.g. controller input, then even if the function is discontinuous there may be a continuous function that approximates it closely enough to be useful.

Re: NetHack beaten in 7 minutes 15 seconds real time

#33

This isn't the first time RNG manipulation in NetHack happened. In 2009, Adeon released a set of RNG manipulation tools for NetHack 3.4.3 (nethack_rng_tools-0.2.3.tar.bz2 -- I can't find that filename anymore, so I put up a mirror[1]). This allowed determining the RNG seed from a running game. However, he also made a patch to use a cryptographically secure PRNG[2]. I'm not sure if nethack.alt.org (NAO) ran that patch…

Super interesting that Google Chrome trusts that https://xorhash.bitbucket.io link[0] you posted, but Facebook doesn't trust that SSL cert.

Curious if bitbucket.io is serving different SSL certificates based on the web agent?

[0] https://xorhash.bitbucket.io/nh/nethack_rng_tools-0.2.3.tar....

Re: NetHack beaten in 7 minutes 15 seconds real time

#34
post #2

When I saw the previous submission of this as https://news.ycombinator.com/item?id=18853508 (which describes it as a "tool-assisted speedrun" of NetHack on the online server nethack.alt.org), I thought "wait, you can't have a tool-assisted speedrun of a nondeterministic game with hidden information...!" (particularly on an online server where you can't roll back history). Then I read the article and saw that this pro…

That's why my submission https://news.ycombinator.com/item?id=18843584 called it a "Tool Assisted Speedrun on NetHack with RNG Exploitation". :-)

I'm not sure about the exact terminology. Is an ascension by a bot (like https://www.youtube.com/watch?v=unCQHAbGsAA) also as a TAS?

Although you are right that the group that tried to do a TAS for NetHack (not sure what's their status) chose the MS-DOS port of 3.4.3 for ease of manipulating the RNG in memory and so getting rid of the "hidden information" part.

Edit: also in a game like NetHack, there is potential for an automated tool to help the player. InterHack (https://taeb.github.io/interhack/) was an interface layer for 3.4.3 that added lots of useful stuff, e.g. automatic price identification or wand id from engraving. Most of that has since been incorporated in vanilla NetHack or at least forks.

Re: NetHack beaten in 7 minutes 15 seconds real time

#35
post #2

When I saw the previous submission of this as https://news.ycombinator.com/item?id=18853508 (which describes it as a "tool-assisted speedrun" of NetHack on the online server nethack.alt.org), I thought "wait, you can't have a tool-assisted speedrun of a nondeterministic game with hidden information...!" (particularly on an online server where you can't roll back history). Then I read the article and saw that this pro…

Wouldn't something as simple as DCSS autoexplore/go to functionalities classify as "tool assisted" ? They seem straightforward to implement even for nethack.

UnNetHack and NetHack4 and its forks have autoexploration.

The problem with it is that it's less efficient than exploring on your own.

I usually don't care about that. You learn fast when to autoexplore and when not to, to not miss particular places you value higher than the program. When playing on a tablet, it's tremendously useful and a real time saver.

Re: NetHack beaten in 7 minutes 15 seconds real time

#36
post #16
post #3

NetHack can be very fun, if you invest some time. I recommend to start with a GUI version.

Alternatively, for a roguelike cut from the same mold as Nethack but with a very different philosophical bent, I recommend Dungeon Crawl Stone Soup, which can be played either locally, online in the classic SSH fashion, or via a web browser with a nice graphical UI (e.g. http://crawl.akrasiac.org:8080/#lobby , click on any name there to observe other players in action).

I think it's the very best dungeon crawler when it comes to comfort of use and startability for new players.

And I would suggest it not just for gamers but for programmers as well. There is a lot one can learn about user interfaces, shells, coding, architecture, data management (items, races etc are all data) with the additional motivation to learn it while playing.

Re: NetHack beaten in 7 minutes 15 seconds real time

#37
post #3

NetHack can be very fun, if you invest some time. I recommend to start with a GUI version.

I recommend this series https://www.youtube.com/watch?v=eV676QuiEj8&list=PLHzN3MktVP...

It is two guys, the player is starting from almost no knowledge and there is a "leader" who is a veteran leading him through the game (or watching him die). It's very entertaining and also acts as a tutorial.

Re: NetHack beaten in 7 minutes 15 seconds real time

#38

RNG manipulations are among some of my favorite speedruns just because of the absurd lengths players will go to align absolutely everything perfectly. For example, Dragon Warrior at AGDQ last year was an absolute treat to watch [1] [1] https://www.youtube.com/watch?v=Bgh30BiWG58

Wow, that's insane!

Re: NetHack beaten in 7 minutes 15 seconds real time

#39
post #2

When I saw the previous submission of this as https://news.ycombinator.com/item?id=18853508 (which describes it as a "tool-assisted speedrun" of NetHack on the online server nethack.alt.org), I thought "wait, you can't have a tool-assisted speedrun of a nondeterministic game with hidden information...!" (particularly on an online server where you can't roll back history). Then I read the article and saw that this pro…

Hah! This reminded me a bit of when I was working on integration tests for my multiplayer roguelike last year. My problems didn't need cloud computing to solve though, just using an explicitly seeded random number generator that was injected into my modules from the tests.

Re: NetHack beaten in 7 minutes 15 seconds real time

#40
post #17

Earlier quoted context omitted.

https://nethackwiki.com/wiki/1-turn_ascension Check out the information at the very end of this page.

I wonder if someone will figure out how to overflow the score counter.

Overflowing is actually not that hard in NetHack. Score gets rather meaningless in NetHack as killing monsters always yields the same number of score points.

So if you grind long enough, every high score is possible and overflowing the score counter with pudding farming was quite easy on 3.4.3 on 32 bit systems (the score counter is a long).

What players have done is a MAX_INT game or ascension. That needs some preparation and the MAX_INT game is easier to do than the ascension, as the ascension gives you additional score points, so you have to anticipate this.

There are even 64 bit MAX_INT ascensions, although those are done of course with exploiting some bugs.

https://nethackwiki.com/wiki/Notable_ascensions

Post reply on HN