1 2
15 16 17 18 19
Joined: 8/1/2006
Posts: 428
The alternate Quest exit requires 1 fewer player action at the expense of 2 extra monster actions. It saves time if we can take 2 player actions that save an action later. We have one of those, ringing the Bell. I was intending to use the other to set up a 5 action turn instead of directly saving an action. On further review, it seems to be impossible.
Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused telnet: Unable to connect to remote host
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
Right, the problem is that you need to set up the gallop twice more to gain an extra action (basically for subpixel-related reasons). That puts a large restriction on what gains you can get from it.
Joined: 8/1/2006
Posts: 428
ais523 wrote:
Hurtling on Fire would require a source of levitation (which we can't have earlier because it would prevent us autopicking up the Amulet as part of the fast Amulet transport glitch), and would run into polyform trouble (air elementals can't kick).
Tried to find a way around this. Use sink to pick up amulet -> No sinks can generate in a usable spot? Use an involuntary dismount to pick up despite levitating -> would work except spoteffects explicitly skips that step while dismounting. Use a flying mount to suppress own intrinsic levitation -> I think this works?
Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused telnet: Unable to connect to remote host
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
http://nethack4.org/pastebin/new-2003-turn-plan.txt I think we have a plan! This is grindless (defined as "with a requirement to repeat the same action 100 or more times during the setup", we actually probably have less than 10 repeats of most things, with the only dubious setup being eggs), and even has one action spare (which can be used at various points, but most likely will be used on Fire in order to make the luck manipulation there much easier). One of the saved actions comes from the things I discussed earlier in the thread: we can set up equipment removal storage on turn 1999 (rather than doing it on the run) and sustain it throughout the run until the point where it's needed. This means that the mandatory turn we have to spend in the Sanctum can be spent equipping an amulet of life saving, allowing us to cancel one of the earlier actions. The other saved action was discovered today, and is a ridiculous one: we save the action by not ringing the Bell. This is untested, but as far as I can tell, the Bell is automatically rung at the moment the level containing it generates (due to the default initialization of the "age" object member), and the reason nobody had noticed so far is that they didn't expect people to do the Invocation within 5 turns of entering the Quest goal level. I'm not going to be completely dismissive of the idea of saving another three actions and doing the run in 2002 turns (there is a small chance that you can save 1 action via a riding-heavy strategy; I haven't worked out the details because that would require a lot of grinding), but I consider it to be very unlikely; multiple new glitches would have to be found. So I'm pretty happy with this new plan. The next steps involve testing that the plan works (with something this complex and intricate there are likely to be unforeseen issues, although the spare action is encouraging as it gives leeway for disasters), and working out how much of the run so far we'll have to redo. The new plan arguably involves rather less setup than the old plan did (mostly because going faster mean we do fewer things and thus need less setup for those things), and most of the setup it does need is deep in Gehennom, on the vibrating square level. As such, we may have to rewind to before we did the raid on the potion shop, as most of the things we did past that point don't help in the new plan. At least that isn't a huge amount of work lost.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Does Stinking Cloud not speed up the plan (as discussed on the previous page)?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
No. We need to do the following on the first action of turn 2000: get 20 alignment, and get permission from Neferet. Getting permission can be done on either a player or a monster action, but the player action at the start of turn 2000 comes before any monster actions. So if we use a turn boundary for getting 20 alignment, we don't have any use for the player action anyway; the thing that needs to come next is to get permission from Neferet, and we can either do that ourself by #chatting to her, or on the monster action by letting her talk to us. If turn 2000 started with a monster action, then it would save time, as it'd allow us to use that monster action to unlock the Quest rather than having to wait for the player's action to gain alignment.
Joined: 6/6/2004
Posts: 223
Among all the teleporting going on in 2001:M3, you have a level teleport (via trap) slated to go from 44 to 1, with no auxiliary branches involved. Is that even a legal destination due to having to cross over 26?
Joined: 8/7/2006
Posts: 344
You can level teleport upwards past 26 (Valley of the Dead), but not downwards past it.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
In very old versions of NetHack, levels below the Valley instantly killed you if you didn't have fire resistance. The rule was added so that level teleportation with a random destination didn't instantly kill players who happened to go from above the Valley to below. As a result, there was no reason to ban movement the other way. Lack of fire resistance below the Valley is no longer fatal, but the Valley levport block still exists.
Joined: 8/22/2006
Posts: 24
Location: Georgia
Excellent April Fool's joke, dwangoAC! I squee'd like a young girl until I remember it was still April 1st in parts of the world. We're still hype for the run!
I'm not really here. Pressing Up+Down too many times glitched your graphics. And audio. Yeah.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
ais523 wrote:
On another subject, doing minimum-gametime or minimum-score runs (i.e. conditions that do not cap the number of actions, or the amount of realtime taken) have the issue that optimal luck manipulation would probably take years.
No updates to the TAS recently. (Sorry for getting everyone's hopes up, but I haven't forgotten it and in fact have been thinking about it a little recently.) I just wanted to quote this sentence from the first page of this thread, because it's so ironic in retrospect.
Pokota
He/Him
Joined: 2/5/2014
Posts: 779
Well, six years is years...
Adventures in Lua When did I get a vest?
Joined: 3/11/2008
Posts: 583
Location: USA
ais523 wrote:
ais523 wrote:
On another subject, doing minimum-gametime or minimum-score runs (i.e. conditions that do not cap the number of actions, or the amount of realtime taken) have the issue that optimal luck manipulation would probably take years.
No updates to the TAS recently. (Sorry for getting everyone's hopes up, but I haven't forgotten it and in fact have been thinking about it a little recently.) I just wanted to quote this sentence from the first page of this thread, because it's so ironic in retrospect.
Well, I was about to post YARFU (yet another request for update), but you seem to have preempted me.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
Interview about this TAS (featuring me and dwangoAC as the interviewees): http://www.roguelikeradio.com/2016/06/episode-122-nethack-tool-assisted.html Probably there isn't much here that people who follow this thread don't know already but I imagine many people here are interested, and I like to post all the TAS-related material in this forum thread so that there's somewhere central to follow it. EDIT: Also, new permanent homes for turnbyturn.txt and t2000timings.txt: http://nethack4.org/latest/nethack-tas-tools/turnbyturn.txt http://nethack4.org/latest/nethack-tas-tools/t2000timings.txt (These URLs produce the same result as cloning the git repository and looking inside it for the files manually would produce, but should be much easier to use.)
Joined: 3/11/2008
Posts: 583
Location: USA
eternaljwh wrote:
YARFU (yet another request for update)
Or have you just been busy/recovering from DEF CON, SGDQ, something else…?
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
I've been reading the NetHack 3.6.1-alpha changelog, and noticed something interesting: "make hurtling out of water bubble on the Plane of Water handle entering water". I haven't tested in 3.4.3, but this seems to imply that an overflow hurtle on Water would work (and given that you can levitate over water in 3.4.3, it seems fairly likely). I can't actually see a way to save time with this but it's a possibility that's worth taking into account; overflow hurtles and enexto both take one action but require some setup; the setup for enexto is normally faster (thus we're using whever possible at the moment) but the setup for an overflow hurtle is more flexible, and thus might allow us to rearrange turns better. Somehow I doubt 2003 will be beatable, but I wouldn't be totally surprised if it's possible to beat the current plan by an action. In other news, I found a fix for part of the endgame plan I was concerned about: if necessary, we could avoid hostile monsters cancelling multiturn actions by turning them invisible. (This implies that we couldn't use monster detection, but that's only there for entertainment reasons; we could remove it if we had to.)
Joined: 3/11/2008
Posts: 583
Location: USA
eternaljwh wrote:
eternaljwh wrote:
YARFU (yet another request for update)
I know DwangoAC has been basically nonstop busy with ?GDQ. How about you?
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
2000:25 Read the Book (action 1). 2000:M1 Hostile quantum mechanic steps next to us. (Does this cancel Book-reading? If so, there could be problems.) 2000:13 Read the Book (action 2, taken automatically). 2000:M2 Hostile quantum mechanic hits. 200 teleport fail onto polytrap, become air elemental, 200 teleport fail onto levport trap, enter Sanctum. Conflicted trice, quantum mechanic follow (they don't need a large charge, the required charge is measured in subpixels here).
Just noticed a potential fix to these problems if they do occur: luckily the quantum mechanic actions happen as the last thing in the turn, so we can if needed start the Q one space further away and give the monsters one level of charge extra. This does badly depend on the hypercharge glitch actually existing, though. It's a theoretical glitch that's never been tested. (The idea is to cause time to advance on a level without monsters moving, causing them to gain more and more subpixels without any actual consequent movement, so that on a later turn, the movement can happen all at once.) EDIT: Just noticed that I have a different fix a couple of posts ago. Guess that shows that this is the most concerning part of the run :-)
Joined: 1/29/2015
Posts: 21
ais523 wrote:
I've been reading the NetHack 3.6.1-alpha changelog, and noticed something interesting: "make hurtling out of water bubble on the Plane of Water handle entering water". I haven't tested in 3.4.3, but this seems to imply that an overflow hurtle on Water would work (and given that you can levitate over water in 3.4.3, it seems fairly likely).
I'm not sure what exactly you mean by "overflow hurtle", but I don't think hurtling by kicking works on the Plane of Water: hurtling requires levitation everywhere except in the Plane of Air, and kicking while levitating requires something to brace against, which I don't think is available at the entry point of the Plane of Water. Hurtling by throwing should work, but is 9 squares enough? There is a problem with your current plan: Moloch's Sanctum is no-teleport. I have found a possible solution, but I am uncertain about it: get farmove storage, and change the movement points so as to get four actions on turn 2000 and five on turn 2001, continuing riding. The actual actions to take are the same, and now we can have the steed-throwing-off happen at the right time to drop us onto the Amulet of Yendor. A small simplification: instead of invoking and canceling the Platinum Yendorian Express Card, you can apply, say, the Staff of Aesculapius (producing "Sorry, I don't know how to use that", also taking no time), which does not give magic resistance. I have found a powerful luck-manipulation technique. Have the function "scatter" hit a stack of gold pieces, which can be obtained in very large amounts; the number broken off each time is limited to rnd(LARGEST_INT) (and LARGEST_INT is 32767 no matter how big ints actually are), so chunks can be broken off very many times, with several RNG calls for each. With the maximum of about 2^31 gold pieces, and with MAY_DESTROY on by using a land mine, the number of RNG calls is about 2^17 * 4.1 ≈ 537,000. (We can even increase the 4.1 each time to 5.1 by having the split stacks hit monsters, but this may not be desirable.) (Using a land mine also allows this to be used in a monster turn.) An easier option is to make the gold pieces fall down stairs; without MAY_DESTROY, this gives 3 RNG calls per split stack, which can still be a lot.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
An overflow hurtle is a glitch which happens when you hurtle via kicking a monster while levitating, but you have a negative total weight in your inventory. The formula for the distance travelled breaks down quite badly upon seeing the negative numbers, and the end result can lead to very large distances if the weight of the player and monster are chosen appropriately (although it can also lead to zero distances surprisingly often; as the name suggests, integer overflow tends to be relevant here). Moloch's Sanctum being no-teleport is a notable problem for the current plan, although probably not an insurmountable one (after all, we have a spare action!). I considered plans a while back that make use of a c!oGL in monster inventory to take the Amulet out of the Sanctum that way; the current plan seemed simpler (and seemed to work), but I might have to revisit that. One problem with trying to use farmove storage is that I'm not aware of any way to set it up without spending an action, and reading the Book necessarily cancels it (meaning we can't just set it up beforehand). Additionally, I'm not immediately aware of a way to set it up within the Sanctum within 1 action and without the help of a turn boundary (although it's a fairly new glitch and I haven't comprehensively looked for ways to set it up yet). (Incidentally, this would make the 200 teleport fail sequence simpler to set up on the way into the Sanctum, but more complex on the way out, for polyform management reasons in both cases.) If there are artifacts that work for zero time unpolymorph that are more usable than the PYEC, that would be an obvious improvement (not in gametime, but to our sanity trying to set things up).
Joined: 1/29/2015
Posts: 21
ais523 wrote:
One problem with trying to use farmove storage is that I'm not aware of any way to set it up without spending an action, and reading the Book necessarily cancels it (meaning we can't just set it up beforehand).
The idea was that with the changed movement points, the completion of the reading of the Book of the Dead is pushed back to turn 2001.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
I did some more research on farmove storage, trying to understand exactly how it works. There are two relevant variables, flags.mv and multi. flags.mv is what I'm calling "farmove state"; it's intended only to be set during a farmove command (given that we're using numpad controls, that's commands like "g4", "56", "M8", etc.). multi, meanwhile, has three possible values: 0 is a neutral state, positive is command repeat state (i.e. a state in which the player is doing the same thing over and over again), and negative is for helplessness (i.e. a state in which the player is doing nothing over and over again, waiting for the helplessness to end). I call this the "command repeat state". Now, farmove commands set the game into farmove state (pretty obviously), but they also set the game into command repeat state (which makes sense, as a farmove consists of moving repeatedly). The command repeat state eventually ends, and there are two intended codepaths for this: a) if it ends because the "remaining repeats" count goes from 1 to 0, it clears farmove state at that time; b) the function "nomul" alters command repeat state (to zero or negative), and also unconditionally clears farmove state. "nomul" is heavily used in the NetHack codebase, and serves two purposes: it's the main function used to inflict helplessness (a "negative" command repeat state); and it also has an alternative mode (inflictin "0 turns of helplessness") to cancel multiturn commands in cases where the player is surprised or can't continue the action (e.g. is attacked by a monster, runs into a wall, etc.). Farmove storage itself can be set up using a glitched codepath, in which we lifesave from a delayed instadeath in the middle of a farmove; that clears command repeat state but not farmove state. Anyway, the important thing to note here is that although the game is pretty good about clearing farmove state when the player is in command repeat state, it mostly ignores it when the player is not in command repeat state. As long as we can avoid doing something which would cause a nomul() call (and unfortunately, although most things that cause a nomul() call are fairly specific or obscure, there's a really long list of them), we can sustain the farmove state for a pretty long time. For example, I was wrong a couple of posts ago: reading the Book is an occupation, so it does not cancel farmove storage. Unfortunately, the potential gains from this aren't as large as they might seem. Staying in farmove state permanently means that the steed is permanently at speed 53. However, our movement point allocation sometimes uses our own speed and sometimes uses our steed's; the requirement for using the steed's speed is that the most recently entered player command is a movement command and actually moved the player at least one space. The "actually moved at least one space" requirement doesn't apply if the player is drowning in lava, but that doesn't seem like a particularly helpful alternative case. Another huge problem with this is that the same codepath that sets the "actually moved at least one space" flag clears the "in equipment removal" flag. This means that if we want to get an extra action from farmove storage, we necessarily have to lose equipment removal storage in the process. The current 2003 turn plan is invalid because it tried to get a fifth action on turn 2000 via a farmove that doesn't move; that's a problem, because that won't actually give a movement point boost. We can't change it into a farmove that does move, either, because that would clear equipment removal storage. I don't have any fixes planned for all this yet; perhaps we'll think of something. But I wanted to get the research out there for the record and in case someone else has an idea.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
Attempted fix for the actions-on-turn-2000 issue: we can farmove on the last action of turn 1999 (actually moving, and stopping at turn boundary due to an adjacent hostile monster; we might need the monster to hit us, but that's no big deal), kill a monster at turn boundary with a scroll of stinking cloud, then use the first action of turn 2000 (which would otherwise be a dead action) to set up equipment removal storage. Unfortunately, though, I've done more analysis of equipment removal storage and I'm not certain we can make use of it this early (which is yet another way the current plan is broken). Although it's easy to set up equipment removal storage with a ring (I misunderstood how it's done so it's wrong in the current plan, but it can consistently be done by attempting to simultaneously unequip a ring and shield and then getting hit by a monster on the following monster action), this can't be used to cancel helplessness; the buggy codepath is specifically looking for armour, shirt, cloak, boots, helmet, gloves, or shield (presumably because it needs to list each case individually and the people writing the code weren't aware that it's possible for a ring to be the currently-being-removed item). Now, we can get equipment removal storage with body armour via taking off body armour and shield simultaneously, then getting hit by a monster. There's actually a secondary bug that works in our favour here: normally if a worn item is stolen it causes helplessness for a number of turns equal to the item's delay, but the code neglects to run that bit if the item is flagged as currently being removed anyway (possibly on the basis that it'd look strange to have to remove the item again from scratch if you were already halfway through removing it). The big problem with all this, though, is that unlike rings, most wearable armour has a tendency to fall off when we polymorph. For example, an air elemental can't wear items in any of the seven slots that are capable of cancelling helplessness. While we're maintaining equipment removal storage, we can't use fast polyforms (because the equipment would fall off), and we can't use steed speed either (because the "actually moved at least one space" action required to use the steed's speed rather than our own cancels equipment removal storage). As such, if we're using an overflow hurtle at all, we may either have to set up equipment removal storage only just before the hurtle, or else cancel it using lifesaving (which leaves us helpless until the next turn boundary). The fastest we can set up equipment removal storage for armour if we've previously been in air elemental form is probably two actions (one to equip, say, a cloak; the other to unequip cloak and lenses at the same time), and two actions is a lot when you only have seventeen total. Anyway, that's about where I am at the moment. Fitting all this into 2003 turns is beginning to look very difficult indeed, although it may well still be possible.
Joined: 1/29/2015
Posts: 21
I think I may have found an improvement near the start of the final part, and possibly a new way to finish in turn 2003 using this. At the start of turn 2000, polymorph into something that flies. Do the usual stuff with getting accepted into the quest, level-teleporting down, and using monster actions to get the Bell of Opening, and now have another quantum mechanic teleport you onto a level teleport trap (there probably are some difficulties here, but I don't have time to figure it out now), and return to the start level. Now do a zero-time artiblast depolymorph, and plunge into some water. Crawl out onto a land mine on some ice, which explodes. This breaks a lit potion of oil, causing a fiery explosion. The ice you are on is melted, and you drop into the resulting water and crawl out again -- onto another land mine on ice. This also explodes. It breaks a potion of unholy water, triggering lycanthropy, and then puts you into a pit. The explosion of the potion of oil is not done yet, and now it melts this ice, dropping you into water yet again. This time, you have to ditch items before crawling out, because of the difference in carry capacity between your lycanthropic and normal forms and a fine-tuned inventory weight. You drop a boulder; because you are in a pit, you get squished under it, losing rnd(15) HP, which reverts you to normal form. This calls drown again, in something similar to bug C343-193, with a similar result of crawling out twice in a row. Land on the magic portal and a polymorph trap in either order, and turn into a flying form again and leave the Quest; a monster standing on the portal on the other side causes you to be pushed over some water. (Some luck manipulation can be done in the middle of the sequence by placing extra items to be scattered, and/or adjusting the number of items in inventory -- items directly in inventory affect emergency_disrobe, and most items directly in inventory or in containers cause RNG calls in water_damage, even if not damageable, and it is even possible to add RNG calls in only selective drown calls by putting items in greased sacks that lose their grease, possibly nested, or in cursed oilskin sacks.) (Incidentally, the dotrap call left over from the first land mine (line 1161 of trap.c) will cause the second trap to be triggered a second time.) Do another zero-time artiblast depolymorph, drop in, and crawl out onto a level teleport trap, and go to the Valley of the Dead. As before, level teleport down to the vibrating square and "oLS-cancel it, and read the Book of the Dead, and use the following monster action to turn into an air elemental and enter Moloch's Sanctum. Put on an amulet of life saving, and because this is now the last action of the turn, the problem that earlier arose here is easily solved -- a hypercharged monster can take several actions, acquiring the Amulet of Yendor and taking it up to the level above. Now entering turn 2001, polymorph into a ceiling-hider, and quaff a cursed potion of gain level, going in the following monster action to level 1 with the Amulet of Yendor in the same way as before. Enter the Plane of Earth by climbing the stairs or by another potion, then hide and drop into the portal as before. Now do a zero-time artiblast depolymorph and kick a monster to hurtle into the portal to the Plane of Fire. Coming into turn 2002, use a delayed instadeath to end helplessness, and polymorph into a queen bee. Because you were in natural form, you get only two actions. Put on an amulet of life saving and jump into the portal to the Plane of Water. At the start of turn 2003, have the bubble move to leave you over water. (I'm not sure about this; you mentioned it as a possibility previously, but it appears to me that bubbles carry the player along even if the player is flying or levitating.) Polymorph on your action into a ceiling-hider using command repeat, and drown and 200 teleport fail onto the magic portal -- this will require some egg-hatching to fill up the level, and probably luck manipulation to get the portal at one of the farthest spots so that it does not get covered up by the hatching monsters. Still with three actions left, cast turn undead to fill the Astral Plane, hide and fall onto the altar, and offer the Amulet of Yendor.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
Unfortunately, when you change level during a monster action, monsters don't move after the level change until either you've had a turn, or a turn boundary happens. I thought of leaving the Quest the intended way, but I can't see how it's any faster simply because we need to spend one of our own actions, or a turn boundary, on every second level.
1 2
15 16 17 18 19