1 2
5 6
ajfirecracker
He/Him
Player (61)
Joined: 10/11/2017
Posts: 32
marzojr, I find those to be convincing reasons why level select cannot be triggered by audio bugs or rings count. However, I still think it's very likely that there exists some method of triggering the crash (outside of smacking the cart), but who knows if it will ever be found
WST
She/Her
Active player (450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Anyway such kind of a glitch is kind of useless, and it’s not worth wasting time for research. Why? Because the viewers hate when you skip the stages. Even with the level-wrap glitch in 2D Sonic games, there are lots of negative responses, just imagine what would happen if you jumped directly to the final boss fight from the very beginning, for example. Of course, it’s always interesting to find the fastest way to beat the game, but there are many games for which the fastest known way is just too fast to be interesting. And absense of entertainment value kills the TAS world. Finally, and more importantly, one can trigger the level select from the title screen :)
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 :)
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
WST wrote:
Because the viewers hate when you skip the stages. Even with the level-wrap glitch in 2D Sonic games, there are lots of negative responses, just imagine what would happen if you jumped directly to the final boss fight from the very beginning, for example.
That's not always true. Yes, there are some people that detest glitching of any sort or anything outside of "developer intended play". Except there are also those that do like seeing things outside of the typical norm being done in games. It's a matter of personal taste that can easily be interpreted in different ways.
Current projects: failing at life
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11274
Location: RU
While I love the Any run of Sonic Advance exactly because it's so free of overzipping, if there is a run that skips right to the credits, there can always be a branch that avoids such a skip. We've been publishing such pairs of branches side-by-side for quite some years already.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
upthorn, at one point, posted some maps. I don't know if these are the half-resolution ones that are easy to find, but I was hoping for full resolution with the objects in, labels neither here nor there. Unfortunately, those images seem inaccessible now. Here's the snippet:
upthorn wrote:
Green Grove 1 Green Grove 2 Rusty Ruin 1 Rusty Ruin 2 Spring Stadium 1 Spring Stadium 2 Diamond Dust 1 Diamond Dust 2 Volcano Valley 1 Volcano Valley 2 Gene Gadget 1 Gene Gadget 2 Panic Puppet 1 Panic Puppet 2
Did anyone happen to stash those maps? Could you please zip them, throw them on imgur, something? ---------- Edit: Some notes on times, since I collected them and people might find them useful... Best times: Z1 : Green Grove Z1A1: 00:42 (Aji) Z1A2: 01:03 (MoP) Z1A3: 00:25 (Kur/MoP) Z2: Rusty Ruin Z2A1: 01:07 (MoP) Z2A2: 01:10 (MoP) Z2A3: 00:11 (Kur) Z3: Spring Stadium Z3A1: 01:06 (MoP) Z3A2: 01:22 (MoP) Z3A3: 00:20 (Kur) Z4: Diamond Dust Z4A1: 01:24 (MoP) Z4A2: 01:09 (MoP) Z4A3: 00:49 (Kur/MoP) Z5: Volcano Valley Z5A1: 01:12 (MoP) Z5A2: 00:54 (MoP) Z5A3: 00:20 (Kur/MoP) Z6: Gene Gadget Z6A1: 01:11 (MoP) Z6A2: 01:10 (MoP) Z6A3: 01:14 (MoP) Z7: Panic Puppet Z7A1: 00:57 (MoP) Z7A2: 00:49 (MoP) Z7A3: 01:39 (MoP) Zone 8 exists but these are Any% times, basically. links: Aji: This thread, somewhere https://www.youtube.com/watch?v=ilZJvY_zRzw MoP: http://tasvideos.org/3191S.html https://www.youtube.com/watch?v=Q-Bo0mXMnts Kur: https://www.speedrun.com/Sonic_3D_Blast/run/z5172wjm https://www.youtube.com/watch?v=1k26Clb4P8Q Kur should be possible to beat in any stage that isn't a boss, and MoP was criticized during rejection of submission to TASVideos for being clearly unoptimized. Aji has probably very nearly optimized a single stage; I'm not sure if it can be beaten - and his time was considered impossible before he set it.
upthorn
He/Him
Emulator Coder, Active player (388)
Joined: 3/24/2006
Posts: 1802
greysondn wrote:
upthorn, at one point, posted some maps. I don't know if these are the half-resolution ones that are easy to find, but I was hoping for full resolution with the objects in, labels neither here nor there. Unfortunately, those images seem inaccessible now.
My maps are still accessible at http://www.soniccenter.org/maps/sonic_3d_blast They are downscaled because the computer I used at the time didn't have sufficient RAM to process images on the order of 4096x1792 pixels. I've lost all my info on camera ram addresses and code functions to nop out from when I made those first ones, but I think it shouldn't be too difficult for me to recreate when I have time.
How fleeting are all human passions compared with the massive continuity of ducks.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
I would deeply appreciate that - and I'm sure anyone who comes along trying to TAS this game would appreciate it as well. My plan was to trace out routes people have taken and see what I can find.I was hoping that by doing so I'd gather some degree of understanding in terms of what is going on. Add to it most people go Any% (and 100% is going to look quite different in at least nine places)... I'd like to have that mapped out. You did post the RAM addresses in this thread.
upthorn wrote:
Player X position (or position on the \ axis): FFC1EC (4 bytes unsigned) Player Y position (or position on the | axis): FFC1F0 (4 bytes unsigned) Player Z position (or position on the / axis): FFC1F4 (4 bytes unsigned) Player X Display position (or display position on the - axis): FFC21E (2 bytes unsigned) Player Y Display position (or display position on the | axis): FFC220 (2 bytes unsigned)
Further data was later posted by marzojr, again, in this thread.
marzojr wrote:
Sonic:
	Base:			$FFC1E6
	X position:
		Pixel:		$FFC1EC (word)
		Subpixel:	$FFC1EE (word)
	Y position:
		Pixel:		$FFC1F0 (word)
		Subpixel:	$FFC1F2 (word)
	Z position:
		Pixel:		$FFC1F4 (word)
		Subpixel:	$FFC1F6 (word)
	X speed:
		Pixel:		$FFC1F8 (word)
		Subpixel:	$FFC1FA (word)
	Y speed:
		Pixel:		$FFC1FC (word)
		Subpixel:	$FFC1FE (word)
	Z speed:
		Pixel:		$FFC200 (word)
		Subpixel:	$FFC202 (word)
	Inertia:
		Pixel:		$FFC204 (word)
		Subpixel:	$FFC206 (word)
	Flags:			$FFC222 (word)
	Angle:			$FFC218 (word)
	Spindash:
		Charge:		$FFC23E (word): 3 = minimum charge, 0 = maximum charge
Aji, who set the insane record for GG1, gives us his .wch file as well.
upthorn
He/Him
Emulator Coder, Active player (388)
Joined: 3/24/2006
Posts: 1802
Aji's watch file has the most important RAM values for a map-dumping project: Camera X and Y. Unfortunately for Sonic 3D, I have a couple of projects I'm working on that I'd like to finish first. They should be fairly small, but with christmas and AGDQ in the near future, I can't promise any activity towards S3D MapDumping until mid-late January.
How fleeting are all human passions compared with the massive continuity of ducks.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
I think I've optimized Rustic Ruin Act 3. Below 11 seconds seems like it's impossible; probably at this point we're going to fight over frames. In which case, between the lag frames, it's, uh, well, that's frames 77780 to 78446 anyway. I'm not sure if the number I want here precisely for counting it. (Both those endpoints are valid input frames; on either side it's lag frames.) https://youtu.be/UsdW5NnOVPI I also think this game may be possible to do in segments and assemble together. I mean like, one player could do one stage, another could do another stage, and we could just copy and paste the frame inputs. (Edit: I fail at communicating well - I'm trying to say, I think single acts are independent of one another and self-consistent, so if we each took an act we could put them together at the end and it would work fine. RAM seems to be non-issue. This is what I plan to toy with and examine.) I plan to test this... after I get done with my test run. It should give me the level select, I could create a save state, and then it would be - theoretically - possible to test copying and pasting runs together to see what happens. --- Some notes and observations: When you bounce off Robotnik, you bounce in the direction opposite the one you try to move... while still facing the same direction. Doing this (instead of holding left to get over) saves some problems and lets us jump immediately as we land, as we're already facing him again. That hitbump method happens in the world record time. I've in fact tied it for the ingame end-of-stage timer. You can jump just before you land and it will register the button press. This pretty much has to be the soonest you could press jump. This run is probably human impossible; there's a ridiculous amount of single frame input in it. The spindash at the end is just for the hell of it; there's nothing going on there anyway. --- 26 December edit: So I did do some basic testing with copying and pasting input for stage runs. First, I ran the entire game. Then I input the level select code. I messed around in there for a bit, playing all of Knuckles' stages and some of Tails'. Then I ran Green Grove Act 2 from there, manually. Then I pasted the inputs I had for Green Grove Act 3 at its start. Lo and behold, Green Grove Act 3 syncs! I don't know how far this would work, or what stages would struggle, but the next thing I plan to do is try replacing singular stages and see if the rest of the game still syncs. So it would theoretically only affect the stages after the replacement. If I can get this working entirely, I'd like to have an open collaboration where people just do singular stages. Hopefully this would lead to this game finally seeing a quality TAS.
Joined: 5/9/2005
Posts: 748
Apparently missed this; don't have much of actual value to add but happy to see this being looked at. Wish you well on it greysondn.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
Upthorn, just a gentle poke to see where things are at.
upthorn
He/Him
Emulator Coder, Active player (388)
Joined: 3/24/2006
Posts: 1802
Both of the two small projects turned out to be less small than I expected, and I'm having some motivational issues with them. I should reprioritize and do the Sonic 3D maps first. I'll start work on that next week.
How fleeting are all human passions compared with the massive continuity of ducks.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
I would deeply appreciate it. I've put off working on the game with the assumption that it would help me look for ideal routes.
upthorn
He/Him
Emulator Coder, Active player (388)
Joined: 3/24/2006
Posts: 1802
It occurs to me that I never posted my results. https://www.dropbox.com/sh/by30id8nd0yk1xg/AAAFysQgY4t48qhiyKSFp5Wna?dl=0 I was intending to work out hitboxes but the ring collision logic wasn't make any sense to me, and then I got distracted by a new game.
How fleeting are all human passions compared with the massive continuity of ducks.
1 2
5 6