The maker of Robotnik's Revenge and Sonic 1 and 2 [Moderator Edit: Do not link to websites that host copyright protected materials (e.g. game ROMs)] has done it again: a delicious new hack named Sonic VR that sees Sonic go through 40 mini-levels that range in difficulty from trivially easy to maddeningly difficult -- all without rings, shields, power-ups or time limit. Each level is a mini-puzzle, and requires knowledge of the physics of Sonic games in order to win. With TAS abilities, Sonic blasts through these 40 levels, sometimes reaching the finish line before you can see what is going on.
Note: This is a TAS of a hack of a hack of Sonic 2; an IPS patch for the hack is available here.
Warning: If you haven't played the hack yet, I suggest you try it before watching the TAS.

Game objectives

  • Emulator used: Gens 11b + S2Camhack + SolidityViewer + (partial)HitboxDisplay + LUA HUD for Genesis Sonic games
  • Aims for fastest time (includes "No death" and "No damage")
  • Abuses programming errors in the game (a lot)

Comments

This hack really sounds best with Kega Fusion; the sound from Gens doesn't really do it justice. Try playing it on Kega; the music is so good you won't be sorry.
There aren't any places to zip; I managed to get into a few walls, ceilings and floors but none led to anything -- in most cases, Sonic just fell to his death, while in others, he zipped a few tiles and then fell to his death.
Level009.bin -- Casino Nightmare -- is a nightmare to TAS. I managed to do that clean exit by sheer luck my first time through. Luckly, I was recording and saved it, as I have been completely unable to reproduce it since: I wasted over 3000 rerecords on that last room alone while trying to do it again, after reaching the room 1 second earlier.
The hack is not very hex friendly -- there is random in-level lag, possibly due to either the ROM banking, the music, the background swapping or all of them. If you compensate for this lag (a boring chore), it will synch.
I could not find a timer of any sort -- so comparing level times (or even listing them) depends on an arbitrarily-defined starting and ending point for the level. I used the following Lua script to determine the length of any level:
local level_started = false
local first_frame = -1
local boringmodes = {0,4,0x10,0x14,0x18,0x1c,0x20,0x24,0x28}
function disable_hud()
	local mode = memory.readbyte(0xfff600)
	for _,m in ipairs(boringmodes) do
		if mode == m then
			return true
		end
	end
	if mode == 0x8c then
		local time = memory.readlong(0xfffe22)
		return not (time > 0 and time < 5)
	end
	return false
end

gens.registerafter(function()
	if level_started then
		if memory.readbyte(0xFFFFB000) == 0 and level_started ~= false then
			print(string.format("|level%03d|MODULE ERROR for `frames`: Missing parameter value for amount00:00.001|", level, movie.framecount() - first_frame))
			level_started = false
		end
	else
		if disable_hud() ~= true and memory.readbyte(0xFFFFB000) ~= 0 then
			if level == -1 then
				print("! Timetable\n||Level||Time||")
			end
			level = level + 1
			level_started = true
			first_frame = movie.framecount()
		end
	end
end)
The script times the length from the time you can first control Sonic to the time when you lose control of Sonic; while it might be slightly better to time the exact moment you touch the giant ring, you can still die up until the point I chose to base time on.
Running this script alongside the movie leads to the following times:

Timetable

LevelTime
level00000:02.683s
level00100:04.050s
level00200:05.783s
level00300:04.583s
level00400:00.533s
level00500:04.250s
level00600:04.133s
level00700:20.833s
level00800:02.933s
level00900:09.367s
level01000:04.050s
level01100:03.350s
level01200:04.000s
level01300:02.600s
level01400:07.633s
level01500:01.683s
level01600:01.883s
level01700:02.300s
level01800:08.767s
level01900:03.383s
level02000:05.833s
level02100:05.983s
level02200:10.100s
level02300:05.817s
level02400:06.467s
level02500:12.383s
level02600:06.683s
level02700:08.983s
level02800:03.817s
level02900:08.533s
level03000:05.033s
level03100:04.350s
level03200:24.283s
level03300:02.433s
level03400:09.983s
level03500:08.517s
level03600:16.967s
level03700:05.133s
level03800:06.750s
level03900:28.417s
Total04:45.267
From which it follows that level loading times, as well as the menus, take up 03:07.450.

Other comments

Thanks to Nitsuja and Upthorn for making the camera hack/solidity viewer, and thanks to ColinC10 for the hack. Thanks also goes for Sonic Retro and the Sonic Scene for making such hacks possible. Also, thanks to Noob Irdoh for suggesting pressing buttons early on in the menu screens.

Mukki: Judging...
Mukki: In these submissions both the run and the hack are to be judged. While most commented that the run itself was well made, the overwhelming majority of those that commented on the hack itself responded negatively. The problems cited were that the visual style was distracting and that the levels design did not make for a good TAS. My own opinion of this was a 'meh'; the music was great, but I am sympathetic to the problems outlined by other users (though I don't hold this opinion as strongly as the no voters), mainly I disliked that this hack took the large and non-linear levels that make Sonic TASes interesting and replaced them with the opposite. Either way, the response to this run falls short of the standard of approval required for a hack on this site. Therefore I am rejecting this submission.
CoolHandMike: Judging Underway.
CoolHandMike: Entertainment is no longer a restriction, and this is well optimized. This is a well done hack and the patch is easy to find. Enjoyed the later sections with some of the outlandish setups.
Accepting to Standard.
Well done!

despoa: Processing...


TASVideosGrue
They/Them
Location: The dark corners of the TASVideos server
Joined: 10/1/2008
Posts: 2875
Location: The dark corners of the TASVideos server
om, nom, nom... juicy!
Joined: 5/2/2009
Posts: 656
O WOW I MUST VOTE YES This is one of my all time favorite styled rom hacks ever. I'm glad it got brought back
My first language is not English, so please excuse myself if I write something wrong. I'll do my best do write as cleary as I can, so cope with me here =) (ノಥ益ಥ)ノ
Editor, Experienced player (536)
Joined: 11/8/2010
Posts: 4107
My comment still holds about the hack's design being bad, and my vote holds as well. No.
Player (74)
🇸🇪 Sweden
Joined: 8/24/2004
Posts: 2562
Location: 🇸🇪 Sweden
I was annoyed by the select level screen which appeared all the time. It took more time to selec the stages than the gameplay it self. Not really, but there were to many interruptions I think. Going for no on this one. Sorry. Poor choice of game imo.
WST
She/Her
Experienced player (562)
Location: RU · ID · AM
Joined: 10/6/2011
Posts: 1697
Location: RU · ID · AM
wtf?.. Whatever, voting yes for marzo.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
NitroGenesis
He/Him
Editor, Experienced player (572)
Joined: 12/24/2009
Posts: 1873
Voting no. This hack is not good enough for a moon.
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 16620
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. ---- [6336] Genesis Sonic VR (ColinC10) by marzojr in 07:52.72