The Normal Stuff
  • Aims for fastest time
  • Takes damage to save time
  • Abuses programming errors
  • Ignores delays caused by bonus effects
  • Emulator used Gens 9Z
  • Suggested Screenshot: Frame 3879
Timetable
LevelTimeFrames Improved
Green Hill 10:248
Green Hill 20:13****215
Green Hill 30:30*14
Marble Zone 10:40****247
Marble Zone 20:520#
Marble Zone 31:120#
Spring Yard 10:221
Spring Yard 20:283
Spring Yard 30:580#
Labyrinth Zone 10:400#
Labyrinth Zone 20:510#
Labyrinth Zone 31:070
Starlight Zone 10:219
Starlight Zone 20:1612
Starlight Zone 30:42*69
Scrap Brain 10:320#
Scrap Brain 20:410#
Scrap Brain 30:180#
Final Zone1:135
Times in bold indicate an in-game timer improvement, with the number of time units improved represented by the number of asterices next to them. Levels marked with a # are entirely unchanged from the prior TAS.
General Improvments Shortly after the previous run was submitted, a subtle trick which can be used to reach top speed 5 frames faster from a standstill was discovered -- on the ground, Sonic accelerates at a rate of 12 per frame (this is increased to 24 while in air), but he brakes at a rate of 128 per frame. So pressing the "wrong" direction for a frame, and then immediately reversing it causes sonic to have a speed of 128, instead of the 24 (or 36, given a jump to increase acceleration) that holding that direction for two frames would achieve. This was used to shave 3-4 frames off of most levels. Some further improvements were achieved by better optimization of rolling at the start of slopes, and downslope jumping for the speed boost.
The improvements were performed by Upthorn, but levels, and level segments, which could not be improved, were left as they were in JXQ's recently published TAS.
Specific improvements
  • Green Hill 2 - New strategy of zipping from the wall to the goal discovered by Upthorn and optimized by JXQ
  • Marble 1 - A freak accident while attempting to gain back frames lost due to a bat desynchronization lead to the discovery of a four second shortcut.
  • Labyrinth Zone 3 was modified very very slightly to recover from a lag variation. You probably won't notice the difference.
  • Starlight 3 - Better optimization of slope roll and slope jumping allows for some sick speeds here.
  • Final Zone - A method similar to what is used here to avoid being crushed allows the player to fall through the floor and die.
Thanks to
  • Adelikat, Fabian, Moozooh and Xebra for their tireless words of encouragement over the long and hard five days that went into making this run.
Enjoy.

Truncated: Accepting for publication.

DeHackEd: Steal!


Former player
Joined: 8/15/2004
Posts: 422
Location: Minnesota
Ha! I always wondered if there was a way for the GHZ glitch to work. Great job guys!
Joined: 12/26/2006
Posts: 256
Location: United States of America
Definite YES vote by the way!! Good job to both of you!
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [795] Genesis Sonic the Hedgehog by upthorn & JXQ in 18:07.63
Joined: 2/25/2006
Posts: 407
i noticed the sound desyncs from the avi every so often (most likely a codec issue) it every so often gets ahead of the video... um and the quality in the knuckles run is noticeably better then the sonic one.
Ryzen 3700X, ASUS Crosshair VIII Hero (WiFi) Motherboard, 32GB 3600MHz RAM, MSI Geforce 1070Ti 8GB, Windows 10 Pro x64 http://tasvideos.org/Nach/FranpaAlert.html
Joined: 2/16/2007
Posts: 2
From the submission text:
Sonic accelerates at a rate of 12 per frame, but he brakes at a rate of 128 per frame. So pressing the "wrong" direction for a frame, and then immediately reversing it causes sonic to have a speed of 128, instead of 24
This is almost useful information, but unfortunately there is a problem with your units. The first part should read something like 'Sonic accelerates at a rate of 12 "x" per "x" per frame.' The "x"s need to be filled in, otherwise this statement really isn't informative. Likewise, when referring to speed, it would be more helpful to say 'a speed of 128 "x" per "x".' Again, with the "x"s replaced by real units. I'm curious to know a little more about the physics of the game, and accurate units would be helpful to that end. Thanks!
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
tmnt9999 wrote:
accurate units would be helpful to that end. Thanks!
Assume x = pixel.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
tmnt9999 wrote:
The first part should read something like 'Sonic accelerates at a rate of 12 "x" per "x" per frame.'
The number is the amount by which the RAM address that holds the velocity value changes. RAM addresses do not contain information about what units they represent. Also, since you know from context (indeed, it is explicitly stated multiple times) that the information pertains to a speed value, the units do not matter, whether it x was inches or miles, the ratio, and therefore the time savings, remains the same. Also, your example template of an acceleration unit is incorrect and incomplete, a correct example would read 'Sonic accelerates at a rate of 12 "x" per "y" per ("y"/"z"),' where x is a unit of distance and y and z are units of time. Now I'll satisfy your curiousity by explaining that the stored velocity value represents subpixels per frame. There are 256 subpixels per pixel, but a subpixel is not 1/256th of a pixel. A change in position by 12 (or even 255) subpixels does not actually constitute motion from the perspective of the game engine, unless it overflows the subpixel value, increasing the pixel position. However, in the future, I would appreciate it if you expressed your curiousity by asking a question, rather than incorrectly telling me that I had made a mistake, and that my information was useless. I had deliberately chosen not to attach units to the numbers because (1) RAM addresses don't contain information about what units the number represents, and (2) Explaining subpixels midsentence would be distracting, and, conversely, make it more difficult to understand the important point, which is that the speed jumps from 0 to 128 in two frames instead of five to eleven. (I will, however, now edit the submission text as I forgot to point out that Sonic's acceleration is doubled while in air).
How fleeting are all human passions compared with the massive continuity of ducks.
Former player
Joined: 3/23/2006
Posts: 211
upthorn wrote:
Now I'll satisfy your curiousity by explaining that the stored velocity value represents subpixels per frame. There are 256 subpixels per pixel, but a subpixel is not 1/256th of a pixel. A change in position by 12 (or even 255) subpixels does not actually constitute motion from the perspective of the game engine, unless it overflows the subpixel value, increasing the pixel position. However, in the future, I would appreciate it if you expressed your curiousity by asking a question, rather than incorrectly telling me that I had made a mistake, and that my information was useless. I had deliberately chosen not to attach units to the numbers because (1) RAM addresses don't contain information about what units the number represents, and (2) Explaining subpixels midsentence would be distracting, and, conversely, make it more difficult to understand the important point, which is that the speed jumps from 0 to 128 in two frames instead of five to eleven. (I will, however, now edit the submission text as I forgot to point out that Sonic's acceleration is doubled while in air).
That was actually pretty interesting information, I'm glad tmnt9999 asked. If I ever finish the Super Mario Kart run, I'm going to claim the units of speed are in 7E10EA-2u's :) Edit: Oh, and great job Upthorn :D
do not forget to *ENJOY THE SAUCE*
Former player
Joined: 9/4/2007
Posts: 5
Great work! I found something that can help you. I completed MZ2 in 47 seconds and SB3 in 15 seconds. If you follow my strategy you'll save a lot of time. gmv files: http://dehacked.2y.net/microstorage.php/info/1262908760/Sonic1_MZ2_47s.gmv http://dehacked.2y.net/microstorage.php/info/1161963547/Sonic1_SB3_15s.gmv Good luck
Post subject: Re: MZ2 and SB3 improved
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
carretero wrote:
Great work! I found something that can help you. I completed MZ2 in 47 seconds and SB3 in 15 seconds. If you follow my strategy you'll save a lot of time. gmv files: http://four.fsphost.com/zercaylejos/MZ2_and_SB3_improved.zip Good luck
Wow, these are incredible finds! I guess I'll have to improve Sonic 1 again after the next gens release. Thanks so much for sharing! One thing, though. I had some trouble downloading from that site (It took me about 8 tries), so in the future, please use DeHackEd's Microstorage for fcm, smv, gmv, vbm, or m64 files Edit: http://dehacked.2y.net/microstorage.php/info/1222431687/MZ2_0'47s.gmv http://dehacked.2y.net/microstorage.php/info/1085686787/SBZ3_0'15s.gmv
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 7/28/2005
Posts: 339
Wow! Nice finds. Those are no small cuts, and I daresay the movie files didn't even look fully optimized. Where do you think more cuts can be found?
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
Kles wrote:
Wow! Nice finds. Those are no small cuts, and I daresay the movie files didn't even look fully optimized. Where do you think more cuts can be found?
Indeed. These definitely warrant a new TAS Preliminary testing has brought MZ2 down to 0:44, and SBZ3 down to 0:10 When I improve the TAS, I'll check for any other places these techniques might be usable.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
ChaosControl wrote:
This will help :) http://dehacked.2y.net/microstorage.php/info/1237701291/Sonic1_SBZ2_31s.gmv
Yes, yes it will. That is ingenious.
How fleeting are all human passions compared with the massive continuity of ducks.
Post subject: Laberynt Zone 2 in 31s
Former player
Joined: 9/4/2007
Posts: 5
I found a hole in the wall in Laberynt Zone 2. It saves about half of the time to pass the zone. http://dehacked.2y.net/microstorage.php/info/1526962/Sonic1_lz2_31s.gmv
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
Wow, they just keep coming. I decided to use the current published run in order to do an optimized version of the new glitch, its seems it would save at least 25 seconds, and there is even a quirky glitch at the end. http://dehacked.2y.net/microstorage.php/info/1113559938/Upthorn%26JXQ-S1v3.gmv
Post subject: marble zone cave glitch
Former player
Joined: 9/4/2007
Posts: 5
I found a glitch in each entrance to the castle in marble zone. In this way MZ3 can be reduced about one minute. It can also be used in act1 and act2. http://dehacked.2y.net/microstorage.php/info/1775629864/Sonic1_MZ1_cave_glitch.gmv http://dehacked.2y.net/microstorage.php/info/1146384505/Sonic1_MZ2_cave_glitch.gmv http://dehacked.2y.net/microstorage.php/info/1275283210/Sonic1_MZ3_cave_glitch.gmv To see on detail how this glitch is performed watch movie showing input in slow mode.
Joined: 12/27/2007
Posts: 50
Location: UK
carretero, you're a damn machine :) Isn't it about time these glitches were combined to improve the run? I'm guessing a sub 15 minute run is now possible?
Skilled player (1653)
Joined: 7/25/2007
Posts: 299
Location: UK
You've got to love Blast Processing...
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
http://www.archive.org/details/Sonic_the_Hedgehog_TAS_in_18.07.63_by_Upthorn_and_JXQ File is some bigger than before (not too much), Sonic deserves good quality :)
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
syncs on gens11 svn296
  File: Sonic the Hedgehog.bin
CRC-32: f9394e97
   MD4: 92d7c18d89411778e3155e9ee9fb41b4
   MD5: 1bc674be034e43c96b86487ac69d9293
 SHA-1: 6ddb7de1e17e7f6cdb88927bd906352030daa194