Submission #4248: coldsun0630's DS Sokoban DS in 2:39:07.44

Nintendo DS
baseline
(Submitted: 2730 - Sokoban DS (E).nds Europe)
DeSmuME 0.9.9
571186
59.82609828808082
2812
Unknown
Submitted by coldsun0630 on 4/1/2014 5:42 PM
Submission Comments
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.

Screenshot Suggestion

12490, 15772, 19715, 30697, 52030, 87660, 109208, 114850, 132032, 141916, 155511, 183461, 217703

Others

Since the screen at the end of each stage is passed quickly, I have listed the step counts here.
StageSteps
T0114
T027
T0314
T0417
T0523
00123
00246
00345
00431
005148
00666
007110
008194
009127
01054
01184
01295
01344
01493
01589
01698
017152
01859
01962
02030
02182
02231
02331
024174
02575
02640
02740
028110
029195
030132
031230
032142
033110
03498
035251
03651
037229
038104
039177
040135
04187
04244
04397
04450
04560
04627
047158
04835
04941
05072
05128
05252
05368
05495
05579
056115
05786
058122
059243
060266
06159
06257
063222
06441
06581
06675
067316
068257
06961
07084
071129
072244
073168
074135
075124
076153
077506
07876
079284
080282
08149
082329
08338
08457
08551
08644
08770
088110
08963
090121
091104
092267
093100
09488
095432
096454
097111
098214
099219
10076
101144
102107
103118
104268
105199
106476
107130
108247
109352
11080
111115
11280
11385
11473
11536
11666
11777
11851
11978
120239
121146
122161
123129
124196
125184
126517
127277
128117
129382
13097
131191
132208
133230
134335
135265
136412
13742
138436
139546
14067
14188
142123
14357
14454
14567
14689
147198
14849
14999
150195
151131
152118
153137
154314
15567
15660
157102
15881
159217
160196
161153
162248
163156
164152
16582
166166
167488
168179
169254
170388
171300
172416
173273
174316
175289
176228
177159
178714
179421
180202
181293
182198
183224
184227
185223
186259
187254
188128
189646
190108
191273
192222
193245
194278
195362
196284
197150
198251
199306
200155
201461
202261
203248
204487
205140
206240
207217
208547
209191
210386
211207
212172
213230
214444
215377
216220
217207
218340
219325
220247
221435
222348
223518
224518
225465
226559
227388
228457
229304
230303
231220
232639
233542
234396
235704
236534
237118
238838
239302
240407
241366
242292
243510
244734
245751
246989
247273
248741
249482
250644
Total54133

Noxxa: Claiming for judgment.
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.
Guga: Processing...
Last Edited by adelikat on 10/10/2023 2:22 AM
Page History Latest diff List referrers