3 ms·
There’s a good reason for putting computation restrictions on the bots. Turns out without it, it’s already pretty solved: https://pellsson.github.io/ https://pe
by moomin 4y ago
There’s a good reason for putting computation restrictions on the bots. Turns out without it, it’s already pretty solved: https://pellsson.github.io/ https://pellsson.github.io/
- devit 4y agoYou can easily avoid that by replacing the RNG with a proper secure one.
- deleted 4y ago[deleted]
- dsr_ 4y agoThen it wouldn't be Nethack. Nethack is not a game where the dice are fair. Nethack is a game where the phase of the moon has real influence. Nethack is, though not originally designed for that purpose, a game which encourages players to learn to read the source code and familiarize themselves with text files, editing, and searching. You could build a nice first-year CS class around Nethack, taking people from "this is a fun game" to "I have a tenuous grasp on programming" in a semester.
- CydeWeys 4y ago> Then it wouldn't be Nethack. Hard disagree. No human player would remotely detect a difference if the exploitable pseudorandom seed were replaced with a truly random source. > Nethack is not a game where the dice are fair. Nethack is a game where the phase of the moon has real influence. The phase of the Moon _is not random_! It is deterministic! You're arguing against yourself here. > Nethack is, though not originally designed for that purpose, a game which encourages players to learn to read the source code and familiarize themselves with text files, editing, and searching. Entirely orthogonal to the issue of using a better random number source. Indeed, a good class project might be improving the source of randomness used by NetHack.
- HelloNurse 4y agoA pseudorandom number generator - is necessary for technical reasons - is easily distinguishable from a different one by players - can (and since it is Nethack, should) include the phase of the moon as a seed
- Tyr42 4y agoCan't you have a secure random number generator and on top of that add in biases for the phase of the moon, etc? League adjusts crit chance so smooth out the likelyhood of two in a row for example.
- CydeWeys 4y agoThe Moon phase adjustments are really trivial. E.g. luck is increased by 1 during a full Moon (and you already need to handle luck anyway; basically your total luck is setting a modifier on how likely good/bad events are to happen). Or a cockatrice will always turn you to stone when it attacks on a new Moon instead of having a 10% chance of doing so (this can trivially be implemented on top of any kind of source of random numbers).
- CydeWeys 4y agoYou need to explain these in further detail then, because I don't see how any of them are true.
- ralfd 4y agohttps://www.reddit.com/r/nethack/comments/adbgzd/yaap_swagginzzz_a_tool_assisted_speedrun_on_nao/ https://www.reddit.com/r/nethack/comments/adbgzd/yaap_swaggi... > Fountains have a 1/30 chance of summoning a Water Demon when quaffed, this demon has a (80+DL)/100 chance of being hostile. If not hostile, it grants a wish and vanishes. > every time the character attempts to walk into a wall, it calls random() without wasting any in-game time > So it is advancing the RNG millions of times (or whatever is necessary, maybe not that many times) for each "real turn" until it reaches a favorable point in the RNG as tested in parallel offline (e.g., find a spot in the RNG such that a quaff 1) gets a demon that 2) grants a wish and 3) the fountain stays... advance the RNG as many times as it takes to repeat that... again and again, for 90 wishes)? This is not solving nethack, this is just save scumming / cheating.
- moomin 4y agoI agree that it’s a fairly uninteresting way of beating the game (except for the sheer hilarity that it’s possible) but trying out various scenarios and backtracking in your own head is exactly what the average chess player does.
- CydeWeys 4y agoThe difference, of course, being that chess doesn't have an RNG. Manipulating a pseudorandom stream of bytes to get an exact unlikely desired outcome doesn't have a parallel in chess. Chess has no random or hidden state.
- YeGoblynQueenne 4y agoWhat's described in your link is not a game without restrictions. It's a game where the RNG was reverse-engineered so that the bot could get 90 wishes and ascend easily. So it's hacking the game, rather than playing the game. The tournament in the NetHack Challenge is a bunch of bots playing the game in an ordinary manner. There is no comparison between the two things.
- vikingerik 4y agoWho gets to define hacking vs playing? The bot is executing the game code with exactly the same behavior as a human would experience. Yes, the bot is taking advantage of hidden state with the RNG... but there's nothing stopping a human from doing the same. It's possible for a human to take enough RNG-based actions and observe the outcomes to derive the current state of the RNG seed. Maybe that number is in the thousands or millions of actions, but a human could do it the same as a bot, we just don't choose to try.
- YeGoblynQueenne 4y agoTo be honest I don't find splitting hairs about hacking vs. playing interesting. The OP specifically wrote that without restrictions Nethack is solved. In truth it isn't because the bot in their article has to know the RNG seed to ascend. Without knowledge of the RNG seed the bot can't ascend. So it's not removing restrictions that helps the bot ascend but giving it an advantage by revenging the RNG seed.
- moomin 4y agoOP here: if you read the article, their big insight is that the RNG is completely computable. So with unrestricted computation/storage, you can deduce the RNG seed and proceed from there. Strictly speaking you still need to build something smart enough to get to a fountain, but that’s a significantly smaller challenge.
- vikingerik 4y ago