Once upon a time, there was a young little boy who is very naive. But since there was a bad man, and soon the boy was kidnapped by him. After then, the poor little boy has been hired for over 30 years for arranging millions of boxes, without any wages. This, is a definite scene of a sweatshop, and is caught by one of the civic groups. Therefore, they filed a complaint to the Ministry of Employment and Labor, but it was not settled yet. And this is how the story of Sokoban begins.
...Well, it was a joke, you know. To tell the truth, Sokoban (倉庫番, pronounced as "sōkoban") is a classic puzzle game was released in 1982. The name comes from Japan and means "warehouse keeper". As simple as that name is, so is the idea of this game: A level represents a store room, where boxes appear to be randomly placed. You help the warehouse keeper to push the boxes around the maze of the room so that, at the end, all boxes are on marked fields. The only restrictions are that the warehouse keeper can only push a box, never pull, and that just one box may be pushed at a time. Ref.
This run solves all 255 levels including five tutorial levels.
Game objectives
Emulator used: DeSmuME 0.9.9
Aims for fastest time (to clear the game)
Addresses
X Camera: 02156480 - Fixed Point, 2 bytes
Y Camera: 02156488 - Fixed Point, 2 bytes
Z Camera: 02156484 - Fixed Point, 2 bytes
Steps: 020D9604 - Unsigned, 1 byte
Notes
An each step requires at least 10 frames, but it consumes more when there are more objects in specific stages. For example, Stage 232 requires 12~15 frames for an each step.
The way to spend the least frames for an each step is inserting one input into the earliest frame which does accept the input as a step. Touching the screen will spend 2 more frames than it, and continuing pressing the buttons may cause of delay between steps.
While trying various ways to optimize between steps, I've found an exception to the method above. Let's see the 25th step at Stage 232. In this run, the step's input (using the method above) is on frame 458778, but if you add (206,166) to frame 458584, the 25th step's input at the stage could be on frame 458767. So, we can figure out that it saves 11 frames. (But this trick consumes more later frames so couldn't be used in this movie.)
The re-record count doesn't show the actual count, because I re-recorded with text-editing most of the movie. This process would be very shorted if there were Piano Roll in DeSmuME.
This run does not aims for shortest input. Since the game doesn't show credits automatically after clearing the whole stages, I added some inputs that show and end up credits for encoding. So, if you want to beat this movie, make sure to be faster than this movie which does aim for shortest input.
Possible Improvements
Optimizing solution is the most simple way to save frames. This can save at least 10 frames per steps.
Optimizing frame count between steps could be another way to improve the run. Try to optimize it with various ways like using touch screen, etc.
Special Thanks
Thanks to Nitrodon's run for giving me motivation to make this run.
And also thanks to Brian Damgaard for making YASC to help me optimize solutions.
Noxxa: I can't get the run to sync. Setting to "needs more info" until more sync information is provided (see discussion thread). This has been resolved now.
Noxxa: Added YouTube encode, and accepting for the Vault.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
I can't get the run to sync - it desyncs already at the menus at the start. Tried using DeSMuME 0.9.9 with Advanced Bus Timing off and on, and using the following ROM:
(I tried a few other ROMs, but they all ended up having the same checksums (and same results) anyway.)
Are there any particular firmware settings that may need to be set or changed from default?
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Ah, I got it working now. For some reason, firmware language was set as French on the emulator I was using. (The run requires it to be English.)
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
It should be no problem for a human to enter the same solutions to within a few frames. There are no timing tricks in this game. No real glitches, no random gameplay elements.
All this tests is frame perfect solution entering and avoiding mistakes.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Keeping in mind that many later levels take literally several hundred steps to finish, I'd say that actually leaves quite a bit of room for frame loss by entering the input "within a few frames" for every step, or room for error in making even a single misstep along the way.
By the way, I've been working on an encode for the past few days. It's currently processing on YouTube. I'll link the video and accept the run when it's up.
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
I have 67GB dump file with using camstudio lossless codec and my computer is too old to complete encoding it. So, I gave up with it.
Well, a non-assisted player may finish the puzzle with the same solution, but it will take much time than tool-assisted run. This run, is made for to solve it in the shortest time as possible.
Yeah, and that's the cause why I handled this TAS for over a half year.
I'm not sure why it happens, but I guess it happens because the process of generating the objects does not freeze the screen as lag frames, instead, it still show the output while processing and generating them.
Anyway, I had to add blank frames to sync those inputs and did it with text-editing more than a thousand of times. Now, I'd really like to see if there is Piano Roll in the DS emulator...
And could I upload your encode on my Youtube channel after it finishes?
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Encode is up now.
The HD encode is 11.98 GB, so it'll be a little tricky to send.
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 10/12/2011
Posts: 6440
Location: The land down under.
This run is nice enough to go to the vault <3
Moth your logo is nice but I'm going to be picky with one thing.
The Purple on Blue.
That isn't a good combo.
Disables Comments and Ratings for the YouTube account.Something better for yourself and also others.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
I figured it's readable well enough as it is now. Though I'll look into it and see if I can come up with something better.
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
This movie has been published.
The posts before this message apply to the submission, and posts after this message apply to the published movie.
----
[2578] DS Sokoban DS by coldsun0630 in 2:39:07.44
Done watching this. I got a question though. Why does sometimes, in the encode, the bottom screen flickers a bit? Most of the time, it's barely noticeable, but there's levels like 232 where it constantly flickers for some reason.
Edit: I almost forgot, since at the end screen, it shows 100% completion, I think it needs a 100% tag.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
I think it's a lag issue. Probably a minor emulator glitch.
This "100%" is the only way to complete the game, so it's not very meaningful here.
Movie class guidelines also state that the 100% completion tag shouldn't be used if the run is also the fastest way to complete the game (which, in this case, it is).
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
No.
Many of the levels in the Sokoban DS game are freely available, some are not.
But none of them are from Thinking Rabbit.
(as you may know, 99%, if not 100%, of the levels for all existing licensed Sokoban games are from Thinking Rabbit.)
You see the level author info at the end of the game in the credit section.