1 2
14 15 16 17 18 19
Experienced player, Moderator, Senior Ambassador (897)
Joined: 9/14/2008
Posts: 1007
ais523 wrote:
In particular, it would be nice to know whether a) the current 2003-turn works (I fear it doesn't); and b) whether it's possible to come up with a sane 2003-turn plan (the current one isn't: it's basically impossible to manipulate and the setup for it would be extremely repetitive, tanking the entertainment value of the run).
This last bit is why I've been pushing for a 2004-turn run, but at the same time I was occupied with GDQ prep. It's GDQ off-season so if ais523 and I can get un-burned out and make some progress that would be good.
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1022
Most of my sporadic work on this TAS has been staring at the 2003- and 2004-turn plans; I think we're agreed that the current 2003-turn plan is unlikely to ever happen, but that doesn't rule out the possbility of a different 2003-turn plan that works. So far, though, all my attempts (that don't do a hypercharged crossing of Air, the hardest part) fall one action short. Here's a rundown of the problem. First off, a fundamental rule of NetHack is that if you change levels on a monster action, no monster actions happen when you arrive, not even ones later in the turn; either you get a player action (if you have the movement points for it), or a turn boundary (if you don't). (Incidentally, this is what causes the hypercharge glitch.) This places a hard "speed limit" on how fast we can move; we can change levels once on our action, once on the monster action, and then we have to spend another action in order to keep moving (theoretically there's the alternative of having < 12 movement points in a turn, but that's clearly suboptimal to just using an action). In 2003 turns, we have 5+4+4+4 = 17 actions (air elemental) or 5+4+5+4 = 18 actions (riding, requires grinding, also requires a "maintain gallop" player move on two specific actions that mean we only really have 16 usable player actions) in the fastest available movement forms. Thus, an "idealistic" plan that glosses over details and assumes things to be possible that probably aren't looks like this: Action 1: gain alignment; get accepted to Quest; levport to Quest goal level (STOP; we can't take three actions on our own action, thus at least one of those was a monster action and we changed level) Action 2: get Eye, Bell (…no further use for this action, using the Eye is the fastest way to leave the Quest and it can't happen on a monster turn; if a monster tried to help us out, we'd change level in the process, the action would end, and using the Eye would still be faster) Action 3: branchport to Valley or Vlad's (…no further use for this action, monsters can't cause us to leave Vlad's or change levels from the Valley, unless I'm missing something) Actions 4, 5, 6, 7: levport to Vibrating Square, ring Bell, read Book (×2) (all of these need to happen as player actions); we can enter the Sanctum on the subsequent monster action (STOP; changed level on a monster action) Action 8: retrieve Amulet (this can happen on a player or monster action, but can't happen on action 7's monster action because you don't get monster actions after a level change; and we can't leave the Sanctum on a monster action as there are no levport traps or holes there) Action 9: leave Sanctum (the fastest known glitch for fast Amulet transport cannot be done there); fast Amulet transport to Dlvl 1 (STOP; we changed level twice in an action, thus one was a monster action) Action 10: enter Earth (…no further use for this action? enexto is the current fastest method of crossing Earth and requires a player action to set up, but maybe there are others; I've considered hypercharged dig + horizontal movement but it seems to be slower) Action 11: #monster; enexto to Air (STOP; we entered Air on a monster action, because that's how the enexto glitch works) Action 12: overflow hurtle to Fire (thanks to whoever found this glitch; sadly I've forgotten who it was, but the idea is that kicking off a monster interacts in confusing but sometimes beneficial ways with antigold); hurtle recovery via equipment storage theft (this is a recent discovery of mine: if you're interrupted removing an item via A, avoid performing various actions, and then the item gets stolen, it cancels helplessness); any monster actions useful here? (Note that if you want to do more than a trivial number of monster actions, you'll have to explain how a highly charged monster ended up on Fire. This is a theoretical plan that ignores that sort of issue in case we find a way; currently it seems like it might be just barely possible to get a monster there with a charge of 1, and even that involves chameleons mimicking air elementals and polymorphing at just the right moment.) Action 13: enter Water, somehow; enter Astral, somehow (!), STOP because we changed level twice Action 14: #monster; enexto to altar Action 15: #offer It might look like we have time to spare. The problem is that some of the above steps are overly idealistic, in particular, the actions entering Water and following that. The fastest known strategy for entering Water onwards looks like this: 2002 (1 action remaining): jump into the portal to Water {requires: air-E form for the 4-action turn, wearing Eyes of the Overworld for the ability to jump as an air-E} 2003 (turn boundary): polymorph to p/t form, fill level with eggs 2003 (4 actions remaining): #monster; enexto into portal 2003 (3 actions remaining): zap turn undead, filling the level with monsters 2003 (2 actions remaining): #monster; enexto onto altar (yet to be figured out: where the trigger monster came from and how it got charged to 3; probably we'd need a second leashed monster for the purpose) 2003 (1 action remaining): #offer and win That's two actions slower than the excessively idealistic plan, bringing it up to 17. So we have to somehow make our idealistic plan into a real plan without spending any extra actions. The main blocking problem is polyform management; we need to be an air-E at each turn boundary, but an air-E can't read the Book or jump when blind, and can't use polytraps or levport traps when nonblind (because the Eyes of the Overworld give MR). Levport traps are crucial to the run (being required for the fastest version of the fast amulet transport glitch), which basically implies that we don't have the Eyes in inventory on turn 2001, and thus aren't in air-E form through most of that turn. (We can turn back in zero time, and in time for the turn 2002 boundary, via hitting a polymorph trap while being teleported around.) The problem is turn 2002; we somehow need to change from p/t form (used for the enexto on Earth) into air-E form, and also put on the Eyes (which we can't have had in inventory on turn 2001, thus can't have been wearing). One of those actions can be "oLS-cancelled, but the other looks like it has to be spent; there are no polytraps on Air or Fire. And unfortunately, that puts us one action over. We also need to find a way to set up equipment storage theft: the setup (i.e. the "storage" half) takes one player action, apparently no matter what you do ("oLS-cancelling it doesn't work, not to mention that we've run out of "oLS-cancels already). The storage is broken if you move using a movement command, get engulfed, drop an item intentionally, or change equipment (intentionally or unintentionally). Getting a 5-action turn as turn 2000 requires the use of a movement command, so we can't set it up in advance; however, we can set it up while in the Sanctum, as we have a spare player action there (we can let monsters do the Amulet retrieval). So this takes some thought, but isn't a blocker. One assumption I made above is that changing level always consumes a player action or monster action. One hope for a 2003-turn run would be that this assumption is not correct. While writing this post, I had the idea of "oLS-cancelling a levport, and found a way to do it: you can blast yourself to death with the Orb of Fate without violating any of the other restrictions on "oLS-cancelling. This also cancels the subsequent monster turn, but there are nonetheless actions (such as 4 in the above plan) that can be deleted via this method without losing time. The problem is that putting on a "oLS (amulet of life saving) costs one player action, and "oLS-cancelling saves one player action, so you can only gain time from it once; and we're already spending that gain elsewhere. Changing the timing of turn boundaries doesn't seem obviously helpful for this purpose.
Joined: 2/19/2010
Posts: 248
It's always fascinating to read updates on this thread. It's clear that this TAS is unlike many others on the site for the sheer number of possible strategies and the corresponding amount of planning that needs to go in to it. Thanks!
Patashu
He/Him
Joined: 10/2/2005
Posts: 4000
Seconding that I'm still really interested in all Nethack TAS related developments. Good luck!
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
Joined: 8/1/2006
Posts: 428
Can you ring the bell on a previous action and make it to the vibrating square in time to skip that action during the invocation? Or does the bell need to be rung on the vibrating square?
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: 1022
We can ring it that early, but we have to ring it personally. The spare time on action 2 is all in the monsters' part of the action.
Joined: 8/1/2006
Posts: 428
It would be useful in this sequence: 1) Get Eye, Bell; lvlport to Quest 1 on Monster action 2) Ring bell; leave Quest on Monster action 3) "oLS on player action to compensate for "oLS-cancel of one of the previous actions; lvlport to Valley on Monster action. I suppose you could pick up the Eye and Bell on the monster action after putting one on, though.
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: 1022
If you "oLS-cancel an action, there isn't a monster action after it, and I think this means that there's no action we can cancel to save time (this isn't inherent in "oLS-cancels, just that there happens not to be one on which it would help). Good idea otherwise, though; I hadn't considered leaving the quest the intended way because it's so much slower. There's also the problem of somehow getting the Bell with a single player action. I'm not sure if that's possible; I guess we might be able to steal it. (We don't need the Eye in this scenario, and in fact it would be simpler not to pick it up; how's that for an unintuitive strategy?) I'm not convinced that this sort of idea doesn't help, but haven't found a place at which it's useful.
Joined: 8/1/2006
Posts: 428
The real value of both early Bell ringing and "oLS-cancels are that they let you change level and effectively move a monster action immediately after it from elsewhere. e.g. Action 1: gain alignment; get accepted to Quest; "oLS cancel levport to Quest goal level Action 1b: Put on "oLS; get bell on monster action.
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: 1022
So the basic situation here is, we have some time periods where we're capped by player actions, and some where we're just capped by actions total (which implies level changing, as in non-level-change situations, we can just use more monsters to get more actions). "oLS-cancelling a player action gives us two actions in a row (assuming that the first can be cancelled; not all can be), at the cost of a player action later. That action would have to be immediately after a monster-action level change, and in a situation where we benefit from a monster action immediately afterwards. A "oLS-cancel is severely limited in what it can do, though. In the current plan, turn 2000 action 1 looks like this: gain alignment (player), get accepted to quest (monster) Action 2 looks like this: go to quest goal level (player), get eye/bell (monster; requires several monsters but it's doable); leaving the level via monster would cost no additional time Using a "oLS-cancel doesn't help on these actions (and I agree with you that they're the most promising); if we cancel the gain of alignment we don't get accepted to the quest (as you don't get a monster action after a "oLS-cancelled action), if we cancel the visit to the quest goal level we're now on the level but don't save any time because we don't have the eye/bell.
Joined: 8/1/2006
Posts: 428
Does the alignment gain need to happen on a player turn or could it happen before the player's first action of the turn?
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: 1022
Turns always start with a player action (unless the player is depleted on movement points, which is clearly suboptimal in this situation), and the alignment gain needs to happen before anything else. The only thing that happens beforehand is the turn boundary. If we could somehow find a way to gain alignment on the turn boundary, we'd run into the problem that #chat (the action required to gain acceptance to the quest on a player action) is not "oLS-cancellable. Also, I'm not 100% convinced that it's possible to leave Quest Home on a monster action; I don't think it generates levport traps and I'm pretty sure you can't dig a hole there.
Joined: 8/1/2006
Posts: 428
I think we might be able to "oLS cancel action 4 and replace the "oLS during action 9.
ais523 wrote:
Also, I'm not 100% convinced that it's possible to leave Quest Home on a monster action
You leave Quest Home using the normal entrance portal.
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: 1022
I mean, downwards to get to Quest Goal. The regular entrance portal won't help there. Cancel 4, replace on 9 doesn't work because 9's scheduled action is a levport, and levporting on a monster action is a full stop that prevents you going any further. I think you probably meant cancel 4, replace on 8? This actually looks really promising. The problem is that we need action 8 for the hurtle cancel setup in the current plan. Perhaps there's some other way to a) do the setup or b) maintain the setup from turn 1999, though. (At the moment, the setup gets cancelled by the last action of turn 1999 because we have to be galloping into a wall at turn boundary to get the full five actions. Now I'm wondering what happens if we don't move during the gallop due to a bear trap or something; perhaps we could make it work.)
Joined: 8/1/2006
Posts: 428
In the general vicinity of 9, we have a level change out of the the Sanctum, a levelport a level change into Earth. If we can enter Earth (or exit Sanctum) as a monster action, we have an opportunity to put on another "oLS. The gallop is only +1 action. If storing a hurtle-cancel saves an action we can consider not galloping.
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: 1022
Neither of those is possible as a monster action; the whole reason we can't do fast amulet transport directly from the sanctum is that there's no way to leave it on a monster turn, and reaching Earth requires either use of the stairs or a c!oGL, it can't be done via levporting (or we'd just go there directly). (Also, exiting the sanctum as a monster action wouldn't help because changing level on a monster action prevents anything further being accomplished on that action.) EDIT: (editing your posts so much makes them very hard to respond to because they keep changing while I'm trying to reply to them) Setting up a hurtle cancel only costs one action, so there's no point in sacrificing an action just to be able to skip that part of things; you only break even.
Joined: 8/1/2006
Posts: 428
ais523 wrote:
Neither of those is possible as a monster action; the whole reason we can't do fast amulet transport directly from the sanctum is that there's no way to leave it on a monster turn, and reaching Earth requires either use of the stairs or a c!oGL, it can't be done via levporting (or we'd just go there directly). (Also, exiting the sanctum as a monster action wouldn't help because changing level on a monster action prevents anything further being accomplished on that action.)
Exiting sanctum as a monster action means we go (set up hurtle cancel, get amulet, leave sanctum) -> (equip "oLS, monster levport to exit), replacing 8 and 9 with alternate versions that also equip an "oLS.
EDIT: (editing your posts so much makes them very hard to respond to because they keep changing while I'm trying to reply to them) Setting up a hurtle cancel only costs one action, so there's no point in sacrificing an action just to be able to skip that part of things; you only break even.
Sorry. I'll cut down on the edits.
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: 1022
I don't mean "doing it as a monster action wouldn't save time". I mean "it is not possible to do this as a monster action; there is no setup with which a monster action would cause this to happen". In other words, it's a case of "it's impossible" rather than "it's not helpful". However, I've just noticed that the farmove flag (used by galloping) gets set even with invalid movement commands into walls! The problem is that it gets cleared immediately afterwards. I'm going to try to find a way to cancel a gallop speed boost maintenance action without spending time or a "oLS; that would probably save one action, possibly two.
Joined: 8/1/2006
Posts: 428
Back to this plan:
JSmith wrote:
It would be useful in this sequence: 1) Get Eye, Bell; lvlport to Quest 1 on Monster action 2) Ring bell; leave Quest on Monster action 3) "oLS on player action to compensate for "oLS-cancel of one of the previous actions; lvlport to Valley on Monster action.
Instead of putting on the "oLS on action 3, we can use it to store a hurtle cancel. We're then free to use action 8 to put on an "oLS.
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: 1022
OK, so it's impossible to cancel a gallop speed boost maintenance action without spending time (strangely, even a "oLS seems not to help). However, my guess about the beartrap was correct; it is one of several methods that allows you to do such an action without losing storage. The trick is to enter a farmove command in a direction that isn't towards a wall. This leaves you stuck in a multiturn action at the turn boundary, which normally you'd need a wallwalk to cancel, but it gets automatically lookaround-cancelled at the start of the next turn, which I didn't realise was a game mechanic until I started writing this post. I think this might be enough to hit the 2003. We set up storage on turn 1999 (entering a bear trap before doing so, and with the new gallop maintain action afterwards). Everything then follows the previous plan until action 4 (which is "oLS-cancelled) and the previous action 8, now 7, which we use to re-equip the "oLS. Then we just follow the previous plan up until what was action 13 (now 12), and spend one action manually polymorphing, which solves the polyform problem without disturbing the rest of the plan. I'd need to run through this to make sure that the changed turn boundaries don't throw anything off, though (such as monster charges).
Editor, Player (44)
Joined: 7/11/2010
Posts: 1022
Two more discoveries, both to do with the very start of the turn 2000 unlock. One is that it's possible to gain alignment on a turn boundary, after the cap increases, thus saving a portion of an action on turn 2000 (no time saving yet as we'd need to find some way to do the quest unlock in zero time, but encouraging). The first method I found via which to do this is via the "You feel that Thoth is well-pleased" prayer result (which happens as the last thing during turn boundary), but this is mutually exclusive with galloping on turn 1999 (as we'd be busy praying). Looking at the code, stinking clouds probably also work, and have the advantage that they don't conflict with anything. Another is that it's possible to get storage for the farmove state. (I should really look for more storage glitches; it seems like a fruitful direction to go in.) One method is to die to a delayed instadeath during a farmove command (and because this can happen before turn 2000, the "oLS it costs is no big deal; we can just put on another). This gives us much more flexibility in how we do gallop refresh actions. This probably doesn't save time even on a riding-based strategy, though, because it's cancelled by any multiturn action at the end of the action (notably, reading the Book), and by various other things, the most notable being wallwalking (!). As such, if this is practically useful, it's almost certainly just to provide more flexibility for turn 1999.
Joined: 8/1/2006
Posts: 428
Can you store multiple hurtle cancels at once with different items, use one on Air and the other on Water, and avoid the messier enexto setup that way? (Edit): and/or Fire?
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: 1022
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). Also, you can't double-store hurtle cancels; you can only store one item at a time in the "taking_off" variable, which is how the storage works. (Because of the reason storage glitches happen – values left in variables that should have been reset – you normally can't store two of the same type of storage at once. This is true for games generally, not just NetHack.)
Joined: 8/1/2006
Posts: 428
Farmove storage looks like another candidate action to take during the alternate (i.e. normal) Quest exit if we find a way to do it cleanly; I think it cashes in exactly on time to get an extra action before the book reading finishes. (EDIT: actually, Gallop action storage in general.)
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: 1022
It wouldn't help unless riding, and that requires 2020 actions to train up to a state where it doesn't conflict with like half the ascension run. Even with all appropriate speed modifiers in place, that's going to take up an appreciable portion of the setup and wouldn't be very fun to watch. So we want to avoid it unless possible. (Also it costs a "oLS, and finishing reading the Book loses the storage.) I'm not sure what you're trying to achieve with this.
1 2
14 15 16 17 18 19