TAS runs?

Discussion about Rocks'n'Diamonds, Boulder Dash, Supaplex, Emerald Mine and any other BD hybrid.

Moderators: Flumminator, Zomis

Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

TAS runs?

Post by Anonycat »

Has there ever been any serious undertaking of TAS (tool-assisted speedrun) demos in Rocks'n'Diamonds? That is, the art of constructing playthroughs using 1-step mode, and any other tools (if they exist) to facilitate crazy stunts you'd never consider in realtime play?

I stumbled across RND in the last month, and immediately noticed the tape interface system, which while it definitely showed signs that it could be strengthened (keyboard shortcuts for things like record and play, as well as controls like "Frame Step-back" so that you can try out multiple pathswithout having to put a save on every such point or play through the tape every time except stop it just before the end), showed itself to be rather more friendly for making crude TASs than most games are out of the box.

For samples of what to expect from such a venture, I went ahead and compiled tapes for the levels in both tutorials, the ones the make good watching and the ones that...well, don't.
Niko Boehm: http://www.zomis.net/rnd/info.php?f=710
Aaron Davidson: http://www.zomis.net/rnd/info.php?f=711
Boehm 1 "Emeralds & Diamonds" - 0:07
-Yeah, not much happening here.
Boehm 2 "Rocks and Walls and Nuts" - 0:12
-Introduction to luck manipulation. Getting a 13 here is easily possible, but 12 requires a 1-in-4 occurrence: the purple gem must fall to the left and the rock above the green gem must fall on the same side as the gem did.
-Speaking of randomness, how is it formulated in RND? Pick a seed at the beginning of the level, and all events are deterministic at a given time (though the player can interfere with the order these things happen)?
Boehm 3 "Magic Walls" - 0:06
-Introduction to "don't try this at home", creating over-quota gems. Other than that it's just what you'd expect.
Boehm 4 "Bombs and Dynamite" - 0:23
-Quite a busy level with so many concurrent goals, making it an ideal TAS candidate.
-Clearing out the left side is the main bottleneck in this level. I could drop a third dynamite in the initial salvo to clear the diamond, but that just means it takes 17 more frames to get back after the detour, whereas dropping it in the next round can be done for no loss instead.
-Strangely it's 7 frames faster to clear out the goal with dynamite compared to the bomb ball. While I'm there, I might as well clear out some gems: dropping the diamond is a requirement, and if I'm doing that, the green gem costs a further 2 frames. I could take the BD diamond above the letter T instead; this would also cost 2 frames.
-Leaving half the dynamite behind, spending quite a bit on things like rocks and the exit, and I still have just enough to free the petrified gems. How convenient. Almost as though it was planned that way.
Boehm 5 "Amoeba" - 0:28
-That's quite the artificial restriction you've got there.
-Optimizing this level is going to take tools beyond just the 1-stepper. The last bottleneck (the one that you can't take away, at least not if you want a way out) seems rather slow, and getting the amoeba to fill space more quickly can take off about 4 seconds. The question is, which seed yields the most desirable result and is there a way to determine that more efficiently than brute force?
-My early TASs on this level would record fine only to play back with Rockford getting killed or not having enough gems. This is a problem with rapidsnap: If you want to snap in two or more directions and you do so on consecutive frames, the playback engine will interpret this as a constant snap that never gets turned off and reinitialized in the new direction, so it desyncs. The solution is to insert 1 frame of dead space before making the second snap. Yes, it's a loss of a frame, but it's comparatively minor in exchange for actually having the tape work (until a new version comes out with a fix).
Boehm 6 "Starships" - 0:15
-Not much of note. Just silly oversized hitboxes against the starships taking away some options.
Boehm 7 "Bugs" - 0:15
-Since the gem count seems to have been taken with "rock kills come on the bottom row" in mind, it's an invitation to leave out some gems that take too long to get.
-The time spent gathering up those gems is offset by the fact that I don't have to contend with falling gems in the amoeba pit, so this level finishes as fast as the previous one.
Boehm 8 "Yam Yams" - 0:21
-Pathwise the level is straightforward, with luck manipulation thrown in to ensure I never have to wait for a yamyam to move out of the way.
-Uncollected dynamite forming a bridge to free the fourth yamyam without having to wait for a pushed rock later on or contend with amoeba? Good times.
Boehm 9 "Robots" - 0:07
-Maybe it's just me, but robots are extremely manipulation-friendly, and it's almost always possible to get them to do what you want (or at least not have them interfere with your path).The line taken here is simply the most efficient that can be done on the level.
Boehm 10 "Invisibility" - 0:22
-While of course a TAS uses advance knowledge of the map, I haven't gone much further with this level. The path may well be prioritized incorrectly--this is a rather low 22, so even a 1-step savings should cut the second.
Boehm 11 "Keys and Doors" - 0:17
Boehm 12 "Snap It!" - 0:20
-This is just linear up until the freeform ending, which may well be improvable. My approach is to smother the dynamite from the get-go and use the space for storage; is any other way superior?
Boehm 13 "Keys and Doors 2" - 0:15
-Still boring, though even with the 1-frame "snap sync delay" this run barely cuts the second at 15.98...
Boehm 14 "Life and Biomaze" - 0:13
-With Life on a predictable 40-frame iterator, this is the best path I can find. The diagonal cross and cutback is ugly, but it gets that done with just 16 frames of wait that get absorbed by the biomaze anyway.
-One thing I've found no documentation on whatsoever: What's the formula that dictates the evolution of biomaze? Everything says "it's a variation of Life that forms mazelike patterns", but no detail on just what makes it a variation and how it may be manipulated. What I've gathered is that its iterations are staggered, but without any rhyme or reason that I can tell.
Boehm 15 "Pac Men" - 0:22
-This level is luck manipulation hell. All the Pac-men's movements seem locked in at the start of the level and you have to keep playing through to see if they cooperate and if not restart from scratch, or at least wait a long time. This current path just has 16 frames waiting for the first linear pac-man, so a random seed that corrects that while keeping the other good stuff will be a ticket to 21.
Boehm 16 "The Dark Side of the Yam Yam" - 0:17
-Welcome to the wonderful world of TAS. If anyone tries to play the level like this at full speed, they deserve what they have coming.
-This level has a very high amount of on-the-fly trial and error. Because of all the robots lying around, it's quite likely that they'll eventually manipulate something for you. The brief trip left while the dark yamyam is running to its doom serves as a visible example of this.
-Unfortunately I did have to double back at one point in the huge mess in order to forge a successful path, but a 40-frame total loss there more than makes up for just how early I end up being able to get into the lair.
Boehm 17 "Let There Be Light" - 0:33
-The big thing that stands out is that a perfect opening lets you beat the bug into the central plaza by one frame, saving a large amount of time by not having to wait on back-to-back 8-frame turn delays, at least not in this portion.
-Saving two lights to hit while going the "wrong" way is pure novelty, done for entertainment value of the TAS, and that never hurts. At least when it costs no time (those silly turn delays again).
Boehm 18 "Growing Walls" - 0:21
Boehm 19 "Dynabombs" - 0:20
-This is probably the most wide open level in the set. If there may be further improvements, at least you know the kind of ridiculousness to be had in putting them together.
-Speaking of wide open, how silly that it actually achieves much of that openness by having one specific square closed at the start: namely the rock at 1,11.
-I can start setting up the first salvo of bombs sooner, but if I do, the amoeba on the outskirts of the explosion will not be dead yet and it'll just refill the space I spent so many bombs to clear out.
-It's quite the bug that enables me to survive the second salvo: Normally the player is supposed to get killed off on the 9th frame in the blast radius. However, when I have dynabombs on both sides of me, one triggers the other so that on the 8th frame, the second one's explosion overwrites the first and resets the frame counter, allowing me to successfully stay in the blast for 10 frames before the smoke dissipates from above. Given all the useful stuff that gets cleared out by having that salvo go off as planned, I'm not complaining.
-Up for grabs: You can save a bunch of frames by having the red gem fall off to the right of the purple one. Assuming the rest of the level doesn't make you pay for it in other ways.
-Catching pearls in midair is pwn and win.
-The sixth and final salvo is stretched as thinly as possible. If I lay any more than 6 bombs there (each bomb costs a frame), I can't get back to the green gem as a hideaway spot without dying. Coincidentally, I can't lay any less than 6 bombs there either, at least not without giving up the hideaway's duplicate function as a backdoor.
Boehm 20 "Butterfly and Firefly" - 0:12
-Trickery with the starship saves 16 frames. The butterfly yields no such result.
-...why is there such an overage on gem quota?
-Anyway, given the inconvenient firefly position, it's always nice to have a sliding gem perform double duty as a path diversion.
Boehm 21 "Do the Mole" - 0:54
-Considering that the first 37 seconds are basically autoscroller mode...
-Sadly, dropping a rock on the mole such that the explosion overlaps with the petrified gems will yield red gems, not 3 and 8.
-For some reason, if I don't snap up there, the mole always turns left; where if I do snap up the mole doesn't take that path, but it changes its turn to right? Strange...
Boehm 22 "I Love Penguins" - 0:17
-About what you'd expect here and not much else, though the harmonic convergence of 8 penguins on the goal in 1 second almost makes up for the monotony.
Boehm 23 "Pigs" - 0:05
-Of all the (tutorial) levels that get nerfed by consecutive snaps causing a desync in the replay, this one gets hit the most. If you only make 1 snap per step, you get low 6 all the time (see also: EM/BD doors that take an absurdly long time to open).
-It might be worth doing a TAS-like completion to see exactly how many gems it's possible to save from the pigs. Probably even more so if the desync ever gets fixed and it becomes reliably possible to hoard gems at 15 per second.
Boehm 24 "Fire" - 0:24
-This one's quite reminiscent of level 16, though with even harder luck to manipulate.
-It's possible to get through the "rock complex" by 0:10, but you won't take a bite out of any gems that way and the entrance to the lair will certainly still be blocked.
-Let's all give a big hand to fire-to-robot-to-bug combos. That probably accounts for a full minute saved.
-Going back into "prison" only to free myself just as the lair's opening becomes clear is just more entertainment.
Boehm 25 "Baloons" (sic) - 0:31
-Not really much to say, though I can only think there may be some crazy sequence of sub-step wind swaps that'll get the balloons cleared out much more smoothly.
Boehm 26 "Satellites" - 0:09
-Hey, look! It's a short level! And it actually plays like classic BD! Someone call the Weekly World News!
Boehm 27 "The Speed Pill" - 0:13
-Fast Rockford is fast. Come to think of it, this plays out rather similarly to what you might see in level 23 if you just don't hit any controls.
-This was made under single-snap steps, though with 4 frames to a step I'm not even sure snap delay would work.
-It might be worth considering doing something useful with the bugs at left, if you can get more diamonds to survive and do so on a path that melds with everything else you're doing. Whether that can take the level down to 12 is doubtful.
Boehm 28 "Sokoban" - 3:26
-Maybe this is good, maybe it's bad. I haven't had enough experience with optimizing sokoban to know.
Boehm 29 "Supaplex I" - 0:27
-Nothing special. I've tried to formulate a way to get the end with just 2 dynamite, but I can't get it to come through without Zonks getting in the way.
Boehm 30 "Supaplex II" - 0:15
-More meh...
Boehm 31 "Supaplex III" - 0:33
-The enemy-trapping hasn't really been checked for optimization at all. There's probably at least 2 seconds to be had in that.
-On the other hand, the detonation had to be delayed to a rather precise time in order to trap the sniksnak in 1x1 without crushing it (otherwise I lose trons), so an improved grouping would have to take into account avoiding such board positions.
Boehm 32 "Supaplex IV" - 0:15
-There's an extremely large luck factor here. I dodged the blockades as best as I could get in a reasonable number of tries, but you still see signs of time lost to blocked squares.
Boehm 33 "Conveyor Belts" - 0:25
-The conveyor belt makes for a difficult element to optimize to the frame. After snapping a belt control, there seems to be no ability to snap it again without moving, regardless of frame count. I was forced to use a method that's prone to waste, as best as I could as far as minimizing unneeded time loss. Future TAS facilitation should make it easier to work with these.
Boehm 34 "Switch & Time Gates" - 0:44
-Switch gates are another element that's difficult to work with, namely in judging the first possible opportunity to pass (since it doesn't sync well with its animation). The dragon went well except maybe the second drop; the last drop came with rather nice timing as far as the gauntlet of doors, but probably even better would be for the last one to be delayed significantly so that it's after passing the last gate and I don't have to go to the upper right in the last room. However, getting a distribution like that would be quite the statistical outlier.
Boehm 35 "Be Careful" - 0:14
-At least it went over significantly better on the hazard timing than level 32 did.
Boehm 36 "If There Were More Time..." - 0:13
-Who needs extra time? As you can see, the level can go down fast enough that you only need the bare minimum one time upgrade that you need just to move off the starting square. Maxing out the time bonus costs an extra 2 frames (also yay for doors taking too long to open again).
Boehm 37 "Shielded" - 0:28
-I can only wonder if the insect field has a smoother solution. Beyond that the level is straightforward.
Boehm 38 "It's Spring Time" - 0:26
-What I really want here is a way to change the bug's direction, which has 4 seconds in it. So far the only way I've found to do so involves dying immediately. Maybe this has something to do with the oversized hitboxes mentioned in level 6.
Boehm 39 "Tubes" - 0:30
-It's level 10 again! This time remixed by level 33! And a bug that's in horrible position! There's just not much this level can be.
Boehm 40 "Gravity" - 0:21
-So I close out the set with this. Who needs balloons? Even having to skip the fifth dynabomb, it's well worth it. If I could somehow skip the balloon and still get the extra bomb, 20 would be easy.
Davidson 1 "Bare Bones" - 0:38
-At least it's more interesting than the other level 1. The "headbonk pit" might have to undergo further investigation.
Davidson 2 "Rock On" - 0:16
Davidson 3 "Nuts!" - 0:24
-Yes, they're nuts. What don't we know?
Davidson 4 "Odds and Ends" - 0:14
-Quite a bit more pushing of random rocks than I'd expect would be necessary for a tutorial's level 4, though maybe it is supposed to be that slow.
Davidson 5 "Things That Go Boom" - 0:32
-Is there any difference in which spot you attempt to blast through the first wall?
-Again we see two snaps in one step come in quite handy. It's just too bad the space in "NOW RUN" is an invisible wall.
Davidson 6 "The Bad Guys" - 0:56
-More robots that don't need manipulating, more enemies that do the things enemies do. I do manage to create gem overage by swiping the diamond that presumably a yamyam is supposed to take.
Davidson 7 "The Yam-Yam, In Depth" - 0:22
-Now here's a level that's interesting to optimize. The first yamyam's gems may seem slow, but that's the best that can be done without having gems fall a long way down or get blown up.
-Somehow I managed to manipulate immediate reaction from the enemies that had to move. All that and still 0 wheels hit.
Davidson 8 "Icky Slimy Things" - 0:35
-Okay, so I lose 3 frames to robot manipulation. It would have been a lot more except the mingling among their ranks around 0:24 is dead time playaround.
Davidson 9 "It's *Magic*!" - 0:11
-Not much to say about this simple...wait a minute, this probably isn't the way a completion on this level was envisioned. But it is (1) a way to get past the dynamite faster, (2) a much easier trip out, and (3) the right direction to synchronize "last gem" with "by the exit". That and the "normal" way always leaves you with a rock in the way for another 16-frame loss.
Davidson 10 "Key to My Heart" - 0:16
-Yay more key levels! Except not.
Davidson 11 "Quicksand" - 0:25
-Just how much of this level is comprised of a 1-square forced path?
Davidson 12 "Emerald Mine Review" - 1:25
-At the yamyam, the desired setup requires snapping a green gem one frame before it gets caught up in an explosion.
-Quite a bit of advance planning and multitasking at the magic wall to get everything through in time.
-Like I said, robots are their own manipulation.
-Starships were a bit tougher when it came to making them cooperate, but there's only a second or two to pick up even if you can somehow divert them at will.
Davidson 13 "Boulderdash-ing" - 0:27
-The key here is to divert the bug into the starship's domain and crush the bug instead, creating a massive gem overage and letting you skip stuff like the trenches. Not much else to it.
Davidson 14 "BD and EM Interaction" - 0:27
-Great! Autoscrollers, tutorial-style!
-And even if I could swipe gems from the magic wall, they wouldn't help!
Davidson 15 "Sokobanned!" - 0:25
-At least it's not as tedious as that other Sokoban puzzle. That counts for something.
Davidson 16 "Diamond Caves II" - 1:50
-Right away, I wonder why that rock didn't kill me.
-Surprise non sequitur switch in the minefield! It ends up saving some time later on, after the bug field.
-No midair pearl catches this time. Too bad.
Davidson 17 "DX-Boulder" - 0:57
-Not much to this. If you need something to think about, ponder the thought "What if, instead of a shield, he accidentally put in dynamite?"
Davidson 18 "Prettyfull" - 0:13
Davidson 19 "Pig Out" - 0:28
-I wonder if it's worth it to construct a path that only hits 9 diamonds in the triangle and take 2 from the top row. Gravity does tend to get in the way in formulating such paths, though.
-This level was notorious for desyncs in the dirt section, where I would record a tape but then it would fail to destroy the pig in playback. I finally managed to get a working run in this.
-It has nothing to do with a TAS, but he first time I played this level, I snapped the dirt before entering the pigs' tunnel. That was a fun experience.
Davidson 20 "Miner 49'er" - 1:09
-The starting room is highly susceptible to improvements, or at least it looks highly wasteful.
-Multiple unskippable hints are just poor UI.
-Dynabombs just aren't the same when you can only lay 2-3 instead of 7-9. The crazy salvos as seem in Boehm-19 are nowhere to be found, with only a small chain salvo in the final room as salvation.
Davidson 21 "Odds and Ends, Redux" - 0:39
-Once again we see biomaze, and wonder how to manipulate it effectively. The rest is...well, redux.
Davidson 22 "Creature Feature" - 0:36
-Enemy manipulation is all in the start, so manipulating it was easy enough.
-The mole section is downright silly. At least Aaron Davidson gives you something to do during autoscroll.
-Why are there starships instead of bugs? At least with bugs you'd give the player a reason to go up and visit the dragons.
Davidson 23 "A Few More Round Things" - 0:48
-More narrow hallways! I don't think the "push" at the end meant that direction, but whatever works for me.
Davidson 24 "Welcome to Supaplex" - 0:36
-The one nice thing about Supaplex is that their exit doors "open" immediately. Not that it matters much on this level.
Davidson 25 "The New Stuff" - 0:19
-On the other hand, it does make a difference here.
-Yay for snapping yourself a point of egress through double-speed tubes. Every bit helps.
Davidson 26 "Gravity" - 0:30
-Complex gravity levels like this were another difficult-to-use mechanic in a TAS, and even when they did ostensibly work they'd often desync on tape.
-Gravity snapping rules seem rather dumb, as do rules like "can't get the green gem by bailing out of the climb with Right". Oh well.
So has there ever been interest in this kind of tape construction beyond just regarding it as "cheating" (and perhaps hope for a future version to be even more facilitative to them)? I'm sure with all the level varieties RND is capable of, there's some level set that makes for quite an entertaining watch that way.
Posts: 22
Joined: Tue Dec 25, 2007 2:05 am

Post by flump »

Yes! All of the Snakebite demos where recorded single-step (and slow motion mode) in the hope that somebody would want to "try" and beat them. Most of the tapes are going for maximum score, but some are speed runs. I re-recorded most of them over and over shaving off a few seconds each time..... level 25 for example is pretty much unbeatable (have a try though ;-) )

The main problem with this though is there's no milliseconds in RnDs. :-( We would both get 7 seconds for your first tape no matter how hard we tried.

I've also made a few crazy speed runs for the C64 (using winvice), like getting 100% in "Frankie goes to hollywood" in under 30 minutes (horrid to do), and also a few SNES titles (Streetfighter II on hardest without getting hit once, using Ken).

I've already posted a link to the speed runs a while ago.... viewtopic.php?t=1447
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

By any chance is the subsecond length stored anywhere in the tape file other than "play through the level and see how long it would take"?
Posts: 22
Joined: Tue Dec 25, 2007 2:05 am

Post by flump »

I don't think so, otherwise Holger would of added it to the new panel info (which now has seconds,minutes and hours). I'm sure it's easy to do, but was probably not included on the panel because it would be too distracting.(constant "ticking" to the right)

Maybe a new panel setting for milliseconds Holger?
Posts: 326
Joined: Sun Sep 25, 2005 4:41 pm
Location: Germany

Post by HerzAusGold »

A replacement to single step: try the mouse mode in rndtest

> rndTest_jue0 -mousemode=49

Click your way, then press Space to release the player
Point to destination, Left mouse button
Right mouse button for snap
And the answer is ... 42 !
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

The current collections have been updated with some improvements:

NB4: down a few frames, still 0:23 (it turns out the BD gem can be obtained with no time loss over the inevitable waiting for dynamite)
NB10: down 5 to 0:17 (much better route selection, with one less dynamite to wait for)
NB30: down 1 to 0:14 (mostly from an alternate way of dealing with "staircase" patterns)
AD3: down 1 to 0:23 (more efficient use of rocks)
AD6: down 15 to 0:41 (if taking from the Yam-Yam creates gem overage of 3, why bother to skip 3 from Yam-Yam explosions when I could just skip the entire starship quadrant instead? Also the bug quadrant is improved and uses 100% less rock pushing.)
AD8: down 1 to 0:34 (more use of the player-as-wall trick seen in NB20, in order to allow bugs to take fewer turns, and make all the robots suicide with no time loss)
AD12: down 1 to 1:24 (indeed, the second manipulation at the end is improved by player-as-wall, and it saves a small amount)
AD19: down 3 to 0:25 (by taking all 3 diamonds up top, I can avoid the two-way trek in the first room--also, manipulated pigs allow me to get out of that room faster)
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

More recently on this front, I've taken to putting up actual videos.

Niko Böhm's full tutorial, pretty much exactly as outlined in the top post

Some Emerald Mine levels:
Level 11
Level 72
Level 99 (without a second player!)
I've recorded some other EM levels too (06, 20, 28, 48, 60, 64, 68, 70, 90, 94) but haven't uploaded them yet because I'm not sure they'd be as interesting to watch, and/or would be practically redundant (e.g. the dynamics of 48, as compared to those of 72)
SP levels also offer very little in the way of TAS-worthy action.

Also Snake Bite 30, which I guess opens up the possibility of different branches of TAS: time v. step count?
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

I have a bunch more levels done from Snake Bite. My video card broke since last time, so that I can't record the screen (especially not when it's displaying an SDL game) without an unacceptable amount of lag, but I do have tape files. They should all synchronize on at least 3.2 and 3.3 releases.

Level 4 "spit it out" in 1:37
-Of course venom is used most efficiently when it's fired at exactly 1-second intervals.The long chain salvo in the starting rooms sticks to this schedule without losing a frame.
-Venom is also useful as a fleeting wall when you don't want enemies to get out of the way, and can be used in alternation with block/rock pushing to speed up long transport paths.

Level 18 "intermission 3" in 0:15
-It's not much of a level, but it's here because this is almost certainly frame-optimal.
-Lucy does get the chance to flip two lights to red in regulation, but in each case this is desirable because flipping a light causes it to bounce off immediately and be out of my way, rather than spend 32 frames turning around.

Level 22 "mad footy skillz" in 2:59
-Alan's demo comes all the way back at 4:42, but this is somewhat misleading and it would be 3:57 if not for its demonstrating the secret stash after the goal. Still a sizable cut.
-Even in the fifth frame after you take a step, when the tail is set to disappear on the next frame, it's still a useful tool for absorbing the ball's momentum.
-There's quite a handy bug with reflectors in the venom section, making it possible to slide those blocks out of corners (where it's obviously impossible to push them normally). This lets me trim several legs off the journey and get the venom to its destination faster. In fact, there's one point where I have to throw away 7 frames because I don't want to trigger the bug.

Level 23 "room 101" in 3:58
-Yes, getting the hint actually does something! If I don't get rid of it, then Spike is in exactly the wrong spot when I get back to this room and I have to wait several seconds for it to pass.
-Who doesn't love speedruns where you can stand still for 20 seconds and not lose any time?
-The way the luck worked out at the burning blocks, with the top row burning so much faster that I can still push the bottom block to create a faster point of egress, is just phenomenal.
-And to prove this level is even more luck manipulation hell in a TAS, the blocks in the goal room are set up in such a fragile way, and I have to leave a room full of Lucys unattended for a minute and a half, that there's pretty much nothing better than trial and error, and the amount to time you have to spend on each trial (as well as the butterfly effect created by the results) is just dumb. In fact, if the LD move sequence at 2:43 is changed to DL, that's all it takes to throw off the random generator such that a Lucy will get in the room and wreck the blocks.
-As it turns out, it actually did manage to get into the room toward the end, but Spikes were sealing all the gaps at that point so no harm done.
-And...the suicide finish. The victory chime plays and the score registers on the list, so it is sufficient for a win, and allows me to save a bunch of time not having to bring the fourth block into the room.
-This is the only one of the bunch that was recorded on 3.2.6 instead of 3.3. It may yet be possible to improve this just from 3.3, as 3.2 was notorious for not pausing immediately after pushing a block or a button, so there may be instances of a push followed by a move in some other direction, where frames are just thrown away for no good reason. However, the threshold for luck manipulation in this level is so stringent, it might take a while to get another run to stand up to this.
UPDATE: 3:39
So here's the 3.3 complete revamp.
First I wondered if I could catch Spike a cycle earlier to save a few seconds, and with various improvements, I managed to get to the point where one more saved frame would have resulted in just that. But nothing on the route was going to yield that frame.
Then I went all the way back to the start, looked at the initial arrangement of blocks, considered how Lucy moves, and finally thought "This is just too perfect." Lucy could save time one and even two rooms ahead, and meanwhile I don't have to go through all the block pushing to safeguard the first room. Now that this was officially a strategy improvement as well, I had to test a bunch of possibilities and see what setup did best for those rooms, eventually finding something that gets to the green mushroom 10 seconds faster and keeps that Lucy safely out of harm's way for the rest of the level to boot.
Thanks to the single-frame push and snap+direction capabilites of the new release, this turned out to be just fast enough to cross an additional milestone and catch the last frame of an additional Spike cycle on the right side. However, with the door's duration leaving no way to stop the second Spike from following in after it, it looked like it was going to be yet another long wait. Then I found that I had enough time to set up the top-right room and still return to the bottom in time, giving me something to do that fills the waiting period. Sure I have to use venom to divert the Spikes now (and that can only get them to turn around when they're in the corner), but it's doable. I'm 4 seconds faster out the door of the venom pickup room, but since the north room is already done, that really equated to 19 seconds ahead which is the margin I would retain for the rest of the level.
Another thing that's easier to do in 3.3 is count to 50 for the venom (and particularly, see if it hasn't been 50 yet on an attempted shot--previously, if you were 1-2 frames out of reload, it would just fill them with blanks and wait for 50 to come around). Since each venom block push in a long line saves, at best, 2 frames, the extra micromanagement is appreciated. I do end up spending 17 frames to stick support under a block that Lucy was just about to push out of the way, which is less than I lost there in the last tape.
Strangely, while keeping the flimsy block tower safe wasn't a problem this time around, the exit was. The first time I tried to race to the finish, it registered only as a kill, not a clear. Likewise inserting a 1-frame wait didn't change the outcome, but 2 frames finally did. No idea why that happens.

Level 24 "baker street" in 2:56
-I think of this level as an autoscroller, because there's no way to the crucial element of the level without waiting for the long, slow wall of fire. That said, the natural goal of a TAS is to get done with everything else with plenty of time to spare, and that's clearly at work here.
-Besides, the block pushes at 24 create a more direct route for the fuse, saving about 17 seconds of total time. Not bad for a bunch of blocks I no longer have a use for.
-There's that reflector-push bug again.
-At 1:19, the block that's pushed into the gap is on its 29th frame of slow burn. At 30 it would have become unsalvageable.
-I could have made the fuse even shorter, but only at the cost of permanently sealing myself away from the exit. Obviously that isn't happening.

Level 26 "a trick of the tail" in 2:28
-Wait, why is that red mushroom still there in the first room?
-Sure you can't have one block in two places at once, but why does that matter when the snake has a tail that works just as well? (The head would have been slightly faster, but it doesn't work "just as well"--even a rock moving laterally across your face causes death.)
-Chesster? Bah! Who cares about you?
-Suffice it to say the room with the big mess of crushers was meant to be much longer, involving transporting hazardous materials, picking up venom power, and turning the red mushroom into a green. However, because I skipped that mushroom way back in the first room, the snake is a square shorter to begin with, and there's still 1 on the gem quota. So mise well take it as a red.
-And now a whole mess of Eyeleans without the wheel, without venom, and with the hindrance of a third square on the snake. It sounds like a lot, but of course Eyelean is the equivalent of Emerald Mine robots, and if there's one thing we know about them, they're extremely friendly to luck manipulation. Just keep trying things and one of them will work. And with that...OPEN SESAME!

Level 28 "necropolis" in 3:39
-The sign says "5 GREEN", but why stop at 5 when you can get 6 green plus a red? (Actually this path can provide 7 green and 2 red, but the first red is absolutely huge for the gem quota, while the second...not so much.)
-Why yes, I did just skip two whole rooms. Why do you ask?
-Come to think of it, it shouldn't be too hard to skip those rooms even outside a TAS. All they really do is set up the Eyelean wheel, and we already know how comically unnecessary that is. In fact, I don't think there's any window for them to strike on this path, even with the worst luck possible.
-Spikes? Dangerous? Couldn't be. At least not when they can be willed around so easily with everyone's favorite temporary wall!
-Sometimes one of the Eyeleans actually makes it up into the hallway, allowing it to pop its...eye out at me later on when I head back for the final stretch. It doesn't do much, but it sure looks funny.
-A couple things about bombs. One, apparently someone left five of them behind in this catacomb when you don't need nearly so many. Two, if it's possible without losing time (and if you have venom power), get your bombs one at a time instead of all at once. Getting only one bomb means you can shoot venom right after placing it (instead of placing another bomb), and you can forcefully detonate a bomb with venom in only 79 frames (whereas it takes 96 for the fuse to run down naturally). So when all's said and done, how much time is saved by making such a travesty of the ending? Less than a second. At least it's something.
-Now let's see here...since I took a red along with the sixth green in the "shroom room", and since I didn't waste time sidetracking to any gems in any other room, that one mushroom is responsible for the current gem quota being 84 instead of 85. What kind of a difference could that possibly make? It's not like it's anywhere close to 0 yet, right? Right?

Level 30 "intermission 5-20" in 6:24
-For the most part, this is like the video link from last post. However, the video is only a 6:37, so it's obviously faster now.
-3.3's fine-tuning is responsible for a slight bit of improvement, but not nearly as much as the strategy changes. Notably, with all the block pushing going on in "room 6", that room's clear time drops to 49.98.
-Room 8 is easily the biggest improvement, coming in 10 seconds faster than before. Who says it has to be a shuttle run? Converging zigzags for great justice! The second time around I even end up blocking the sole point of egress, but it can be unclogged at a cost of "only" 72 frames.
-The other significant improvement comes in room 12. Now I only knock two rocks out of the penultimate column instead of three, and there's no need to even wait for the rest of the rocks to fall. Easy 3 seconds.
-It doesn't seem likely that RnD tapes will ever have a cut'n'paste interface for splicing together multiple tapes (disagreement among random seeds, for one). As such, each remake also means an entirely new attack on the luck rooms: 11, 18, and 19. 11 and 19 were both about even with the 6:37 performances (but of course with a different way of getting there, particularly in 19). 18 lost a couple seconds, because the running Lucy was in such an inconvenient position that there's no way I could make use of it anywhere in the route for a decent time. So instead you get to see the other Lucy corralled over to all four bombs by itself. Which I guess makes the route seem more efficient while watching it, even if it does end up losing out on the work-in-parallel factor.
-Toward the end of room 14, Yorick actually bounces off the center of the snake. When the snake is only two squares long, that's worth some style points (but sadly not any real points...come on! Even pushing a rock awards 10 "real" points for whatever reason!)
Last edited by Anonycat on Mon Jul 05, 2010 1:58 pm, edited 2 times in total.
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

A couple new SB level tapes:

Level 20 "hunted!" in 2:00
-This is of course meant as quite a rigid level, hampered further by the expectation that the player will turn around at times and wait on Yorick to make it think "Hey, this is a dead end" and buy more time. Of course, it normally costs time to do this. Here I'm fortunate enough to get a slight delay on the explosion, and a random timer on the door, that combine to have the door start to close right before Yorick gets there, to the point that its attempt to reopen the door doesn't register (the closing animation is still running), and since it still locks the button for 4 seconds, the second press fails too. And this without putting me off the most direct route possible!
-In other freak happenings, Yorick finds its way back on track and closes in just as I'm ready to dash past the candycane door. Not much room to improve that interval. I do have to pause to block the rock for a bit, but I don't think that's something that can be manipulated away at all.

Level 8 "r-r-rebounders!" in 1:27
-what is this I don't even
-Really, that's about all the comments I have on this. See for yourself.

Level 13 "level 12a" in 2:56
-This "god mode" thing is kind of cool. It's somewhat harder to get it to stick in this level (you can't move laterally here, backwards is blocked off until the process is over, and the only way I found that allows forward movement involves timing a venom shot at a frame-precise point) but this level has red mushrooms, which the trick lets you collect at absolutely no penalty.
-It's amazing just how much of the level you can completely bypass when all those reds aren't adding to length.
User avatar
Posts: 661
Joined: Fri Jun 18, 2004 7:48 pm

Post by Alan »

-what is this I don't even
Congratulations! You legitimately detatched the head from the body! (confirmed in RnDs 3.2.4 so don't worry Holger)

So where's the intermission 4 and more importantly intermission 2 TAS runs? Will this new key for snapping help you?
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

It's certainly been much smoother sailing since came out.

It turns out Spike isn't the only element you can use to get god mode (the disembodied 1-square snake). I just found a much simpler way that only needs a chemical vat, plus room to move on the top or left side.

In fact, god mode is useful for a lot more than just mobility. There are some strange physics interactions that can be uncovered with it, such as: If you push something into a wall, but the direction you push from is clear within 8 frames, the object actually gets pulled off the wall! Of course this normally never comes up, since even a 2-square snake takes 22 frames to pass, but when it does...

Level 26 "a trick of the tail" in 1:36 (-52 seconds off the previous tape!)
Level 27 "rooms of doom" in 1:59

About intermission 2: Your 211-step route optimizes out to a 45.24 time-wise, while a 219-step route exists that does three frames better (because it skips a cycle of just waiting to fire venom). Not that it's the end-all of the level, though, because red mushrooms can be snapped. (40 seconds, 195 steps)

I'm going to have to redo 23 and 30 in light of the new discoveries, and both are notorious for taking a while with their luck elements. I've actually hit a god mode on 29 that didn't start until after the explosion finished (and the tape stopped recording), but no luck getting anything usable on that level. 14, 15, and 25 also have works in progress through a sizable chunk.

[EDIT] Finished up 30, 5:34 (-50). Got an overage of 2 in room 10 that I could cash in at any subsequent point, as well as two venom shots (used in rooms 16 and 18, with the former taking the room time from 30 seconds down to 11).

[EDIT2] And the long-awaited level 25. For an "unbeatable" demo, it stood up pretty well...I was "only" able to cut off 8 seconds. After compiling the list of dependencies for each shot, I actually wrote a tape file from scratch, which would complete the level if and only if I had perfect luck. The second rock has to get nudged left, obviously a 50-50 proposition; then the wood blocks in the lower section have to be graced with near-minimum fuse lengths. Then I'd just run the tape and see if it completed, and if not, change the random seed and try again. It took over 100 choices of seed before I got one that worked, but now this route is absolutely optimized. Any further improvements will have to come by way of an unforeseen route.

Also, does anyone know why my recent tapes are recording in 3-player mode (with players 1, 3, and 4)?

[EDIT3] What was I just saying about alternate routes? "intermission 4" in 28 seconds.
User avatar
Posts: 661
Joined: Fri Jun 18, 2004 7:48 pm

Post by Alan »

because red mushrooms can be snapped
I guess this uses the new snap keys as this tape doesn't work in 3.2.4...The snake gets stuck in the mushrooms!
And the long-awaited level 25
Wow, this is just amazing! :o Great work again! How long did it take you to make these BTW? (I used the debug slow mode which isn't in RnDs anymore, which took me hours)

Well you've done it all now.....beaten the "unbeatable" intermissions and decapitated the snake... *bows to the Snakebite master*
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

Construction-wise it would be easier, but I don't see why a mushroom-snapping tape would desync in playback in 3.2. Pressing into a red mushroom causes it to change into a new object which looks the same, but now has all the fancy control features (and notably the new object is snappable). Snap keys are no different than normal multikey input; the only thing different about 3.3 in that regard is if you try to move in a direction where the player doesn't actually move, it stops trying to make the same move after a single frame, unlike in 3.2 where it keeps checking to see if the move is still legal as long as you hold the key.

In fact, I just checked my 3.2.6 installation and the level 12 tape plays without incident. It's even possible (if undependable) to snap reds in realtime play; you just have to release the appropriate direction key less than .02 seconds after you start pressing it, then snap in that direction. (Of note, though, is that if you snap a mushroom, attempting to move to another red mushroom on the next move will fail, causing the snake to refuse to do anything but play the "chomp" sound effect. This takes away potential improvements in level 6, and to a lesser extent 4.)

The first level 25 tape took a long time, probably over an hour, as I wrote down the timings for each shot and then had to put the route into a hex editor rather than RnD. Once I had the process down, the second go-round was much faster and took less than 10 minutes.

Other levels depend in large part on how much luck is involved. I've mentioned 23 and 30 before as perennial offenders in this regard, as I'll often have a lead that eventually gets squandered due to poor random setups and, since I'm not about to hex-edit for perfect luck on levels as long as those, I have to start all over and redo everything up to that point. When I took stabs at 27 and kept finding improvements, the "monster mash" room was similarly uncooperative. On the other hand, once I get the hang of the mechanics the first time, even long levels like 22 and 28 can be recaptured in 10-15 minutes if I find an improvement, since there are very few potential hang-ups and I don't even have to replay the tape unless there's a mess-up hitting a key or something.

(Oh, and speaking of 28, here's another 43-second cut. Funny thing: There's a 2-bomb route for the end, and with a two-square snake 2 bombs is faster than 3. However, with a one-square snake, 3 bombs is faster than 2 because the 2-bomb route has to let the fuse run out naturally on the first bomb, and a 1-square snake can turn around faster to save more time on each detonation with venom.)

Maybe one day I'll make a set of extra hard and tricky levels where the whole point is to use 1-step, kind of like the Kaizo series is to Mario.
User avatar
Posts: 661
Joined: Fri Jun 18, 2004 7:48 pm

Post by Alan »

Construction-wise it would be easier, but I don't see why a mushroom-snapping tape would desync in playback in 3.2. Pressing into a red mushroom causes it to change into a new object which looks the same, but now has all the fancy control features (and notably the new object is snappable). Snap keys are no different than normal multikey input; the only thing different about 3.3 in that regard is if you try to move in a direction where the player doesn't actually move, it stops trying to make the same move after a single frame, unlike in 3.2 where it keeps checking to see if the move is still legal as long as you hold the key.
I haven't looked at SNB for ages, but yes the mushroom changes from a pickup on touch.....pretty nasty way to do it, but this was before ce_values so I had to use a pickup type of element so the exit would open.....I think. Oh and it really doesn't work in 3.2.4, he gets trapped in the mushrooms. Not sure about 3.2.6.

You should do a Zelda 2 TAS run, I reckon with minimal weapons and combat avoidence you could get it down to a stupid time, like 20 mins (from my casual 97 mins)
Posts: 46
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

Zelda 2 might be worth a try once I finish out the SB books. I remember trying Zelda 1 and got to the water section before the large number of enemies and cramped spaces made it just too crowded to run through without fighting the whole population in every room, and that just looks slow.

So on the way to filling it out:
revised 23 with god mode, 3:21
finally got to working on 29, with a 3:43 that has just a 5-step margin of error before it would lose access to the exit permanently
Along the way in that level (hint: fireball room), I found what was responsible for the apparent gem overage in level 8, and took full advantage of the invisible gems in reducing that level to 1:11
More randoms: level 9 2:41, level 11 1:36, level 19 2:05 (with an inordinately long and unusual backtrack that's still faster than any other way), and a small improvement of level 30 to 5:31.

So far I have 25 levels down with a time of exactly 50:00, or 30:31 faster than the :ist demos for those levels. With 10, 14, 16, 17, and 21 as the remaining levels, is 1 hour total too much of a stretch? 17 and 21 should be mostly straightforward legwork (or whatever snakes have instead of legs) while 14 and 16 will be full of luck manipulation, but nothing compared to what I'm looking at in one particular spot of level 10.

I already made a preliminary run of 10 that finished in 4:13, but a full 1:48 of that was spent in the "blast away the wall" room, certainly a disappointing result. As I set out to improve on that, it occurred to me that I might be able to pick up some of the bombs in the "chain reaction room" and have less fire to clear away--perhaps even 11 bombs to avoid dealing with any fire at all. Fortunately it's the only meaningful randomness in the level, but boy is it a doozy:

Code: Select all

     E F
 A C D G H 
 O B X 1 2 
O is the first bomb in the chain reaction, and A-H are each random delays of 10-40 frames (or is it 10-39? [EDIT] checked the source and it is 10-39) before their respective bombs go off. The situation I'm hoping for requires five constraints to hold:
B <= A + C (can't have B taken out as collateral or it won't open [28, 8] and won't block [29, 7])
C + D + max(A-B, 0) < 48 (D has to explode while the smoke from B is still blocking square X, so that X becomes clear to walk to as soon as possible)
E + F < G (in contrast to B, here G must be taken out as collateral or else square 1 is blocked)
C + D + G + max(A-B, 0) > 81 (We already know F has to explode before G. However, G also can't start exploding until there's time for the snake to get to X and snap bomb 1, or else 1 enters the unsnappable state of "random countdown to explosion". Note that this criterion and the second one together imply G > 34, and that in addition to D going off before 48, it has to go off after 42, and the lower it goes off in that five-frame window of 43-47, the chances decrease for everything else to pan out.)
H > 37 (Bomb 1 must be snapped because you can't walk next to G with the "flash" portion of the explosion playing. However, when the explosion from F overtakes it, you need time to walk into square 1, then square 2, then onward and get the tail to clear out of 2 all before H explodes--and since it starts its timer from G, only a near-max delay will suffice.)

So far I've tried about 400 seeds, with the best so far being 4C6E5667 (A=19, B=27, C=23, D=29, E=18, F=14, G=38, H=31). That allows me to grab two bombs, but since the H timer is 7 frames too short I can only grab #2 with a snap instead of a pass-through. Even this should be sufficient to break 4:00, but optimization isn't something I take lightly (particularly not when there's a whole minute to be saved), and the probability that all criteria are fulfilled simultaneously is 10,995,823/65,610,000,000--about 1 in 6,000. So on I go.

It may be the only chance for a sub-hour total.
Last edited by Anonycat on Mon Jan 05, 2015 6:38 pm, edited 1 time in total.
Post Reply