SDA logo

Released on April 20, 1989, The Adventures of Lolo was the start of a three-part series for the Nintendo Entertainment System. This game is actually a compilation of puzzles from the Japanese Eggerland series. The Lolo series was renowned for its unique style of puzzles, and the eclectic cast of enemies, ranging from an immobile snake to a sword-shooting demon's head called Don Medusa. As the titular character, Lolo, you must solve 50 puzzles in King Egger's castle to save your girlfriend, Lala, from the king's scaly clutches.

 

Best time: 0:23:01 by Jeff Feasel on 2009-06-19.

Get Flash to see this player.

Author's comments:

One of the things that makes Adventures of Lolo such an interesting game, besides the fact that it's arguably the best puzzle game series on the NES platform, is the fact that the game's possibility space is so limited (the game is on a 21x21 movement grid, and input is usually only taken every 8 frames (at 60fps), or every half block of the sprite grid). To put it simply: there are only so many possible things to try. With an emulator it isn't hard to test them all, and people have hacked away at this game for years. Numerous TAS videos for Lolo have been made (in particular Baxter has made a series of 10 TAS over the last 5 years, gradually incorporating essentially all known tricks to bring the completion time down to 22:04 (by SDA timing standards)). Nobody knows what's the absolute fastest the game can be completed, but it sure can't be much faster than 22:04.

I was curious to see how fast a TAS run i could make, and i decided to do so before watching any existing video (TAS or unassisted). After two weeks i was able to reach 22:25 (and i have, since then, shaved off another 10 seconds).

I'm not much of a TAS head. As usual, my real goal was to get the fastest unassisted run on a console recording. The record time by Tom Votava on TG was 27:05 (or 26:50 by SDA timing). The video for his run is not available.

My TAS route needed some modification before it would work on the console, within the modest limits of my skill. In most cases this meant fine-tuning the route slightly -- choosing from a range of equally-fast alternatives the one that leaves the most margin for error. For example, if i have a 2 block range in which i can safely change my heading, i'll aim to do it at the half-block boundary between the two, giving myself room to err on either side.

In most of the rooms, the route i take is optimal (at least, with respect to all known tactics). However there are a few places where a substantial amount of time can be saved by doing some very risky maneuvering. Too much risk is not a reasonable strategy for console, so for certain rooms i had to plan a route that compromises between risk and time-cost. The majority of the time difference between my best console run (23:02) that you see here and the best TAS run (22:04) come from just a small handful of rooms, all of them being situations that require complicated and risky manipulation of enemies (the remainder of the difference coming from errors in execution). It is often possible to skip much of the time you'd normally spend "boxing in" enemies so that they can't hurt you, and in some cases you can even use the moving enemies as temporary shields against other enemies. I can pull off a few such moves where i let the skulls roam free (e.g. Rooms 1-4, 2-5, 3-1, and 7-5), but in some cases (e.g. 10-1) it just isn't feasible.

The route i eventually settled on was approximately 22:50, if executed perfectly. It was a formidable task committing all 50 rooms to memory, many of which involve rather long, complex, and unobvious paths. It took several days to memorize what to do in each room. But even after committing the routes to memory, i found that i was still unable to reliably memorize the order in which the rooms appear.

Each time i enter a new room, it takes some amount of time for me to recognize the room, recall the plan, and begin moving. Usually about a second or more, which adds up to a minute or so of wasted time over the whole game (which is clearly unacceptable). To avoid this, i made note of the initial direction that i must head in each room, so that i could start out holding that direction before the room fades into view and then get my bearings while i was moving. I made a chart with these initial directions (and notes on the numerous special cases where i must make a turn soon after starting the level). One complication with this plan is that there is usually no down-time within or between rooms with which to consult my chart. The only down-time in the game happens between floors (every 5 rooms), so at each floor change i use this time to consult the chart and commit the next 5 initial directions to memory (which i would then have to keep repeating to myself as i played so as not to forget; i believe this is called "echoic storage").

After the planning was complete, i practiced the rooms individually by emulator until i had a pretty good handle on them. Then i began recording on an actual console. It only took about 3 attempts to get a time (26:10) that beat the current record. It took another 3 hours of recording to get a deathless run (about 25:00). After that it took another 5 hours of recording to get a run with no major mistakes (about 24:00). Then, it took another 10 hours of recording before i finally got a recording that met my quality standards.

I submitted the result to SDA and got some helpful feedback about route planning along with a request to revise and resubmit. My revised route was a bit riskier, and included some tricks that i had not originally realized were reasonable on a console run. After another 8 hours of recording i finally got a result that i was happy with. One reviewer of my first submission estimated that i could shave about 31 seconds off the original route, and i'm proud to say that i've actually reduced my time by 32 seconds with this new recording. The end result is an unassisted run that falls within 1 minute of the (super-optimized) TAS, which is quite respectable for a 22+ minute game.

The execution is pretty tight overall. There are a few instances of corner-sticking or overshooting that lose me a split second here and there. I also lose about 1.5 seconds in 8-2, about 1 second in 8-5, about 1 second in 10-1, and about 2 seconds in 10-4, but that is pretty much the extent of the execution error. Considering how easy it is to make mistakes in a game with such a discrete movement style and narrow timing windows, i'm amazed that the run turned out as well as it did. Consider the following: There are 1837 turns in the route you see here, and about 80% of them are in places where no overshoot or undershoot is allowed. At each turn, the d-pad direction must be changed within an 8 frame window. Aiming for the center of this window leaves a margin of error of 4 frames (67 ms) for each turn. So, in short, this game requires one to be accurate to within 67 milliseconds (or 1/5 of a second) nearly 1500 times. Yeah. And that's just the turning part.


Here is a room-by-room breakdown of the game:


And that's all. The Great Devil is egged, and Lolo and Lala are reunited (at least, until the sequel). Planning this run was fun and challenging. Executing the run was thoroughly exhausting. I hope that people will be entertained and amused by my best attempt at this excellent puzzle game.

Return to the Game List, the FAQ, or the Home Page.