[Genesis] Lemmings (Genesis Port) TAS (WIP)

Started by Gronkling, January 27, 2016, 04:59:09 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Gronkling

Hiya, I haven't been here for a while, but I'm here with a new project I'm working on, a TAS (Tool-Assisted Speedrun) of Lemmings. I'm using the Genesis port as TAS support for DOS is very poor, and I like how the genesis cuts out really long levels and has extras. I'll also try and explain what's going on in each post. The frame count I give is from when the level fully loads to when the result screen starts loading.  The ingame clock isn't being used and differs from port to port so is unreliable to compare some solutions.

Number of frames for each level with links to the current best solution:
























12345678910
11121314151617181920
21222324252627282930
FUN0:17.91(890)0:20.78(1033)0:21.39(1063)0:38.17(1897)0:30.48(1515)0:23.44(1165)0:40.48(2012)0:29.74(1478)0:34.87(1733)0:12.43(618)
0:33.34(1657)0:32.78(1629)0:38.29(1903)1:57.85(5857)0:34.20(1700)0:39.78(1977)0:25.47(1266)0:49.37(2454)1:13.92(3674)0:35.49(1764)
1:16.84(3819)0:59.52(2958)0:48.57(2414)0:26.30(1307)0:42.96(2135)0:37.22(1850)0:20.70(1029)1:27.82(4365)0:52.13(2591)0:18.67(928)
whole rank:0:22:11
TRICKY0:43.12(2143)0:47.65(2368)0:36.26(1802)0:59.05(2935)1:37.02(4822)0:30.70(1526)0:37.61(1869)0:47.70(2371)0:44.73(2223)0:54.97(2732)
0:17.50(870)0:31.27(1554)0:56.82(2824)0:57.58(2862)0:16.26(808)0:49.80(2475)0:33.70(1675)0:27.40(1362)0:51.55(2562)0:55.49(2758)
0:52.68(2618)0:30.92(1537)0:45.81(2277)0:52.96(2632)0:54.35(2701)0:37.28(1853)0:31.51(1566)0:39.80(1978)1:33.14(4629)0:39.46(1961)
whole rank:0:24:23
TAXING1:03.64(3163)1:27.87(4367)1:13.52(3654)0:24.49(1217)0:43.36(2155)0:32.62(1621)1:48.21(5378)1:19.05(3929)0:27.79(1381)0:43.02(2138)
1:10.10(3484)1:19.50(3951)0:24.71(1228)0:45.33(2253)0:51.13(2541)1:10.18(3488)0:55.92(2779)0:57.14(2840)0:52.74(2621)1:59.72(5950)
0:39.68(1972)0:33.42(1661)1:59.64(5946)1:28.11(4379)1:37.97(4869)0:48.29(2400)1:19.72(3962)1:14.10(3683)1:07.38(3349)0:48.55(2413)
MAYHEM0:55.55(2761)---------
----------
----------
PRESENT----------
----------
----------
SUNSOFT0:10.16(505)---------
--------0:10.46(520)-
----------

Italic values have outdated videos.
Bold values are very 'messy' levels, lots of lemmings, lag and building etc. There is likely improvements possible on any of these but they will be tedious & illogical.
Radioactive values use glitches
Green values are trivial (or at least close) solutions.
Strike-through values need to be redone.
Tricky 1, Taxing 19, use almost exactly the same file as their fun counterparts so don't need a video

Current estimated time: 0:28:40
Current average frame count: 1977
Estimated completed time: 2:08:39

Solutions can be found as original .bk2 files here
TASvideo forum thread

(Note: Early on the frame count was level load - last button press which was unreliable in some ways, so some old solutions may have lower frame counts than they actually do in some places, see this post. All values in the table, Youtube and .bk2 archive are accurate with modern frame count.)

Some other notes
Genesis Controls:








D-Pad                   Move cursor
A+Left/RightMove screen
B+Left/RightSkill Select
B+Up/DownControl Release Rate
CAssign skill / Skill select
StartPause
A+StartEnd level

Notes about pausing: Any time spent pausing is included in the final frame count. You can move the cursor and change skill when paused, however you can't assign skills or change the release rate.

Emulator: BizHawk
Framerate: 49.7014601199484 fps (~50 fps)
Localisation: Europe (Used as it was the only non-virus infested version I could find, and if a NTSC version does come up it's too late now)




Anyway here is the first level, Just Dig!, in 836 frames or around 18 seconds from fade in to fade out.
https://www.youtube.com/watch?v=q879Wd9XL54

What happens here is that I assign diggers to each lemming at the moment the digger before it digs another layer, which almost instantly creates a 2 pixel dig rather than a 1 pixel. At the same time I have it so the release rate causes the lemming to be at the furthest right when this opportunity happens, so it has the maximum rightwards reach. This is to reach some of the terrain just above the exit that is slightly higher than the rest, causing a quicker breakthrough.

This is repeated for each apart from the very last which waits a bit before digging so as to be somewhere in the middle of a digger's shaft when it begins (though still at another 2 pixel dig opportunity), which causes the previous digger to become a walker. This can then just walk towards the exit, falling through the space the last digger creates to the exit, without the extra frames diggers need to complete their animation cycle before falling.

Finally A and Start are pressed as early as possible to finish the level as soon as possible

Gronkling

#1
Hope you don't mind me double-posting to keep each level in separate linkable posts!

Only Floaters can Survive This in 978 Frames (~20 seconds)
https://youtu.be/XspInYypWVU

Not much can really be done in this one, just a floater on the first lemming on the last possible frame, the others can be ignored :devil:




EDIT: Actually these two levels are both trivial and un-noteworthy enough I'll just combine them rather than causing a triple post

Tailor-made for Blockers in 1008 Frames (~21 seconds)
https://youtu.be/XceZ2K_NSOU

Again, nothing much to this one, just a matter of placing the blockers as early as possible, though not so early the others clip through them. Also a very easy choice between 2 different pathways I guess.

ccexplore

I kinda expected there would've been one out there already, presumably Google hasn't found anyone else doing a TAS for the Genesis port yet?

Best of luck and hope you don't get burned out too soon. :thumbsup: This kind of challenge has been difficult in the past because it can quickly get tedious in later, longer levels to micro-optimize.

Here are some past challenge topics that might be useful as reference.  Obviously they are for DOS version (Lemmix) so not everything is directly applicable.

What levels could be beaten in under one minute?
How fast can you solve the following levels?
Least amount of time needed to beat levels

I'm also anticipating that unless you're really being a stickler for it (in which case you may burn out faster, so keep that in mind), you may not be doing the levels strictly in order.  This can make results for particular levels harder to find.  It would be nice to follow the format of most other challenge topics, to include a table or list in the first post of the thread tracking all known results so far by level.

=========

For Just Dig, as you may be aware, in Genesis it's possible for one digger to free another digger without having to dig at the exact same position as the digger being freed.  Makes me wonder if that might help further optimize the solution?  Just throwing it out there just in case.

Proxima

Will you be combining the videos into one video for each rank? That would make it much more enjoyable to watch, compared to having to watch each one separately.

Good luck! :thumbsup:

ccexplore

I forgot to ask: does this TAS include or exclude any time spent with the game paused?  Like if you need to pause in order to perform some sequence of skill assignments and/or scrolling the screen.  Since you have to use the d-pad to move the cursor and the speed of movement is constant IIRC, so there would potentially be a difference in some cases that are dependent on how pausing is treated.

Gronkling

#5
Thanks for the support! I do expect to get burned out for periods but I'll just take a break, I needed something relaxing and kind of repetitive/tedious to do sometimes at the moment so this is a good option. I'll answer your questions:
QuoteI kinda expected there would've been one out there already, presumably Google hasn't found anyone else doing a TAS for the Genesis port yet?
There is a TAS of the mayhem rating and extras of the SNES port, but that is all I know of. I'll make a thread on the actual TASvideos forum once I have around 10 videos done (though this thread will continue to be the main place I post)

QuoteI'm also anticipating that unless you're really being a stickler for it (in which case you may burn out faster, so keep that in mind), you may not be doing the levels strictly in order.  This can make results for particular levels harder to find.  It would be nice to follow the format of most other challenge topics, to include a table or list in the first post of the thread tracking all known results so far by level.
Yes I'm not going to necessarily be doing them in order, just using that as a rough order to do things in. If I get totally stuck on a level, I'll move onto the next and revisit that one later. I added a table to the first post as suggested.

QuoteFor Just Dig, as you may be aware, in Genesis it's possible for one digger to free another digger without having to dig at the exact same position as the digger being freed.  Makes me wonder if that might help further optimize the solution?  Just throwing it out there just in case.
Yes I knew this, the final digger in my solution is not exactly spot on in the centre and some of my earlier routes used that glitch/feature. I am planning on putting all the files online at some point so others can help contribute at some point.

QuoteWill you be combining the videos into one video for each rank? That would make it much more enjoyable to watch, compared to having to watch each one separately.
Yes I will! And into one large video when everything is done.

Quotedoes this TAS include or exclude any time spent with the game paused?
Yes it will, I will need to pause for short times in later levels to move the cursor/select skills and this will have to be done strategically to minimise time.

Any way onto the next level...




Now Use Miners and Climbers in 1877 Frames (~39 seconds) E:[OBSOLETED]
https://youtu.be/m8ksE9bqtuQ

This one I'm not quite sure on, it feels a bit messy but there isn't much choice of things to do. Basically I just joggled the release rate so the 3rd lemming will not walk over the miner shaft (the 2nd one doing that is unavoidable) whilst the release rate is the highest it could be, which also ensures the last will be out as soon as it could. I feel like this one may be able to be improved but I can't see how right now, perhaps I will revisit it much later on.

ccexplore

For Fun 4 (climbers and miners), I can't quite tell from the video whether the last lemming out wound up just in front of or just behind the 2nd lemming out (ie. the one that can't avoid overtaking the miner).  If that last lemming winds up just behind the 2nd lemming out, perhaps you should consider instead dropping the RR such that most lemmings (including the last one out) wouldn't get turned around by an unfinished mining tunnel, ensuring that the 2nd lemming out is the last one to exit.

Basically this level seems likely to boil down to a choice between optimizing the exit of the 2nd lemming out versus that of the last lemming out.  I feel like the 2nd lemming out will in fact be the last lemming to exit in the optimized solution, but I'm not 100% sure.

ccexplore

I gave Fun 4 a go briefly in Lemmix for what I think an optimal TAS solution might look like when translated back into Genesis.  First, don't look at the game timer in Lemmix because DOS's goes down slightly slower than Genesis's, so they simply aren't comparable that way.  Here are the things I tried to improve on:

1) I try to make the 2nd lemming out overtake the miner as soon as possible, assuming that the 2nd lemming out will be the last to exit and therefore should be optimized.  The goal is to eliminate the amount of wasted frames due to any jumping and falling that would otherwise occur for that lemming to get up the mining tunnel's end.  In Lemmix, it looks like you need the RR to be at least 40 before the 1st lemming is out, to completely eliminate any jumping and falling there (walkers can walk up a step of 2 pixels in the same frame of moving forward 1 pixel, so upward steps of 2 pixels or smaller are okay).  I don't know if this RR increase is feasible in Genesis especially for TAS.  You may have to settle for a value lower than 40, resulting in less reduction (2 frames I think will be wasted in jumping up a 4-pixel step, if you can't do RR 40).

2) The RR is then reduced to 29 before the 2nd lemming is out.  This is the minimum amount of reduction from 40 that still ensures the 3rd lemming out cannot also overtake the miner.  40 -> 29 I'm guessing should be achievable, and if you can't even reach 40 in step 1 in the first place, then you have even less problem here, as you won't need to lower the RR as much.

3) As you can see, the 3rd and 4th lemmings out will turn around in the mining tunnel, then the 5th lemming out onwards will not need to turn around anymore as the mining is completed by then.  You need to start raising the RR to maximum as soon as the 4th lemming is out (and maybe even a little earlier, as long as you can ensure the 5th lemming out won't turn around), to ensure the last lemming out will not be slower than the 2nd lemming out (the one that overtook the miner), who will then be the last to exit as predicted.  I purposely didn't pause to do this final RR increase, to get a sense of feasibility.  Obviously may work out differently on Genesis depending on how fast the RR can go up.

One thing I haven't optimized yet is the idea of having the 1st lemming out start mining a little further to the right.  What this can achieve is to allow the 2nd lemming out to turn around sooner relative to the progress of mining, which can potentially reduce the amount of wasted time falling into the miner tunnel when it is walking left (because the mining tunnel wouldn't have reached as far downwards).  Of course, doing so would also increase the amount of walking of the 3rd and 4th lemmings, and you don't want them to end up behind the 2nd lemming out.  So there's likely something to tweak and test there to squeeze out yet a few more frames.

ccexplore

Sorry for triple-posting, but I'm wondering if it's worth including some information about the controls in Genesis in the first post.  For example I noticed in your video that there apparently seems to be a way to increase the RR without moving the skill selection cursor (in the skills toolbar) or the lemming selection cursor (in the level area), something I wasn't aware of.  I feel other there may be people who'd appreciate learning about some of the less-known controls available (especially if they didn't play the Genesis port that much), if they were to try their hands on this TAS.

Gronkling

#9
Thank you for your suggestions, I converted your solution into Genesis, the release rate changes are just possible and match the lemmix version. This solution saves 22 Frames, making it the new record of 1855F.
This solution leaves a final arrangement of this:


Therefore if optimisation can take place, it will be by the 2nd lemming coming out faster which I'm going to try and do now

(Also added controls to the start of the post)

EDIT: With optimisation, by getting the 2nd lemming out as soon as possible whilst still making sure the release rate can be decreased in time to allow the 3rd lemming not to walk over the miner, I saved 6 frames, not too much but everything counts! That brings the frame count to 1849 (~38s)

The new solution can be seen here: https://youtu.be/vYadsCyLe5A
(Old videos will be marked obsoleted and made unlisted)

Gronkling

#10
Here's my solution for Fun 5 - You Need Bashers this Time in 1507 Frames (~31s)
https://youtu.be/WHmBuH4X0H0

Quite a deceptively tricky one, when bashing one after each other here, there are two different ways. One is bashing just before it turns around however this causes the basher tunnel to curve upwards slightly. By the end of the large bash area in the centre of the level this causes some slight frame wasting due to falling at the end. Therefore each bash should be done just before the last minute.
This level also requires some rather intensive memory watching due to the mass of lemmings that is created by the end of this level and some rather small differences between different choices.

For reference this is what happens when using the last moment to start the next bash.

This might become useful in later levels.

Clam

Following this with interest :8():

In one of the threads mentioned earlier, I played through about 50 levels of the DOS version, making Lemmix replays and a textfile of notes.

Of course, Genesis has completely different levels in places. I don't remember which levels are replaced, but IIRC it tended to be the wider ones (which I largely avoided anyway).

As you know, real time vs game time changes things quite a lot. I often pause to set the RR; your ability to change RR in real time is more limited. This already affects the result for Fun 4 (I set the RR higher than is possible without pausing). DOS also has the "pausing for time" trick, which is obviously irrelevant here (this doesn't change solutions at all, it just knocks off a fixed amount of time from every solution).

There's also the small matter of Glitches. I don't know if these work in the Genesis version - if they don't, then most of my solutions are out of the window :P. Most of these could potentially help towards an optimal solution, but here are the ones with the most impact from my experience:

  • Nuke glitch. DOS has a glitch where it calculates the saved percentage off the number of lemmings released instead of the total. I'm pretty sure this is specific to DOS (even Amiga doesn't have it apparently) but if it's available, it's a total game-changer.
  • Sliding/Giant Leap glitch. With a specific setup you can make lemmings ascend through solid terrain, potentially saving minutes of building time.
  • Steel glitches. Clearly, bypassing steel can lead to massive sequence-breaking. Tricky 9 and Mayhem 12 are examples where I saved at least a minute by going straight through the steel to the exit.

namida

I believe Genesis has every glitch that DOS does, except for the nuke glitch (and maybe direct drop)? However, the slight difference in digger mechanics also needs to be taken into account, as well as of course the lack of RR changing when paused.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Proxima

Genesis certainly has all the main glitches except nuke glitch, and it does have direct drop. It's clear the designers weren't aware of this as they left in some major direct-drop backroutes on a couple of levels, so don't forget to take advantage of those!

Gronkling

Thanks, I hadn't seen that speedrun folder, I'll use it for reference :8():

In terms of glitches, most do work (I just haven't come into a level where real glitches are needed/possible yet which will change with the next level, my planned solution using the same push through glitch as yours) The nuke glitch does not work unfortunately... .