Posts for TheYogWog


Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Here's mine. It's a ring attack-speedrun of Sonic 3&Knuckles on Sega Genesis, as Knuckles. Basically only 3 acts left to complete. Link to video Thread #5904: Sonic 3 & Knuckles
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Sandopolis 1: Link to video One thing I noticed that was unusual, my ring count went up by 70-80 rings, but it only lasted for a single frame before going back to normal. The amount seemed to be affected by my speed, if I slowed down I would get slightly less. I have no idea what caused this, just wondering if anybody knows more about it? It happened after I ejected out of a wall approaching the boss area, I'm pretty sure I was off screen at the time, and there were 10 "pending" rings from a monitor I destroyed but which hadn't been displayed to my total yet. If only there was some way to make them stay at 673, that would be amazing.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Paused wrote:
Curious which takes longer, the routing or do the input itself? Though I guess that can change on a level to level basis. Which of the two do actually prefer?
Thanks Paused, sorry it took so long to reply, been busy with work, etc. By far doing the input takes longer. With the exception of, maybe, Angel Island Zone. I remember spending like a month mostly just testing that level but then I was only just learning about a lot of basic things like the glide glitch and zips and stuff. Incidentally, AIZ happens to be a pretty complex route, especially for the first level of the game, so that was a factor too. But normally, even if there's a lot of testing to be done (MGZ1, LBZ2), all the prep work can be finished in 8-10 hours or so... compared to recording the inputs, it can take me that long just to get 20-30 seconds done. It's when I'm TASing that I get to solve a lot of the short term goals / gameplay puzzles which is really the most interesting part for me, so yes I tend to prefer doing that, although it can still be fun putting together route puzzles too.
Paused wrote:
Looking forward to the second, extended edition, novel of your submission comments for when you are done!
Ha. Thank you. I've been keeping notes as I go though and I can definitely say it's in danger of being TL;DR at this point. Of course I'll have to revise it first but you know, there are a lot of times where I'm not sure if I should bother to include an explanation about something or not. Like why I used a glitch or trick and how it works if it's particularly intricate. I like being detailed and all but then I wonder if it's not just too much info for most people after a certain point.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Paused wrote:
Major grats. I know how much of a pain you found them in your IL wips.
Major thanks. Yes, it was not easy. I'm just glad I found a way to incorporate it into my full game run. And as with so much of my TAS, I couldn't have done it without the help of Marzojr's SonicHUD.
WST wrote:
TheYogWog, now you can extend your script… I am lazy to check what input is needed and to do everything myself, so I just give you a hint on how to check if the character is looking left or right
Thank you. I will try messing with this soon to see if I can get it to work. In case anyone's interested, in this post I wanted to talk about the process I go through to prepare for each of the acts. I'm beginning work on Sandopolis 1 now. The first thing I do is study the map, for this I use both SonicZone0's maps as well as the map pack put together by Upthorn and Marzojr, IIRC (sorry if this is wrong). The latter is especially useful for its solidity displays which helps a lot when thinking about glitches I could potentially use, and it's also the one I'm going to be editing with my route path and linking to below (hope this is ok). Sometimes I'll actually go through and just circle all the spots I can find where a glitch can be used just to sort of make a list of where they are, and then go into debug mode and test the ones that seem most useful. Once I've determined what glitches are available to me, I'm able to begin piecing my route together. It's really a lot like solving a jigsaw puzzle, where you start with the pieces you know go along the edge and build from there. Likewise with my routes, I start with the areas I know I have to do a certain way or in a certain order, in order for the route to work (ie, not hit a dead end, avoid redundant motion as much as possible, etc), and go from there. So, that's what I'm going to do right now, and I'll post a "WIP" map of my route below to actually show what I mean (sorry for the shitty quality and my terrible MS Paint skills). http://oi59.tinypic.com/15oxnaq.jpg For now, I only have the beginning and ending paths mapped out, and one part in between that I know has to be done a certain way. The idea is to only mark the parts that I know for sure, so I don't rule out anything too soon and keep an open mind about what's possible. From here it gets more subjective and I basically just stare at the map for way too long until I think I've figured out the most efficient way to connect the initial paths. I may edit this post later as I flesh out the route more. Also, two things: First, about the path I marked in the middle. It's actually my method of getting the 3 rings stuck in the wall. It will look cool to watch because you'll see Knuckles bounce off the monitors and go off screen, which is where he'll stay for some time as he runs along the top of the structures in the sky, and then you'll see him suddenly falling a long way straight down to go into the floors and walls of the structure with the rings inside. Second, I'm wondering about a peculiarity on that map, I think there might be an error. I circled it in white, on the lower lefthand side, that landmass with some rings I don't think is actually there in the game. Anyway, once I have my route set, I might go through and do a ring count, manually counting each ring and making a note of how many I should have at various points along the way. This has been really helpful in making sure I don't lose track of any, say, "in the heat of the moment" as I'm busy TASing and trying different things, and might not notice that 1 stray ring that got thrown out of memory by the lightning shield until hours later or something. That kind of thing. In some cases though I haven't bothered to do this, mainly when my route is similar enough to the route I used in my IL's of the same act. Then it's easy because I can just refer to my own older recording to know exactly how many rings I should have at any given time. Rarely, I've done really sloppy, poorly optimized "trial runs" of the full route just to make sure they actually work before I spend thousands of rerecords on the real thing. MGZ1, for example. That's pretty much it. The only thing left to do after that is TAS. When it comes to the very short term goals or obstacles, such as finding the optimal way to get through a given area (as opposed to the best way to get from one area to another), I usually just mess around while I'm recording and test the different possibilities on the spot. Oh, I forgot to mention, at some point I almost always review other TASes of the same act (mostly Upthorn's 100% run since that seems to be the only published S3K TAS I can find featuring Knuckles) for reference, and also Orkal's videos on YT to check out some of the known glitches for the act. That's it I guess, so much for my dissertation on the subject. Hope anyone who read all this enjoyed my novel and found it fascinating as I do to talk about. Edit: Ok, here is what I've been able to work out. It's a really crude drawing but I will probably use some slight variation of this route. SOZ1 is a difficult act to plan a route for, it's a pretty complex map. There's a lot of "one way" areas to be aware of and work around, and a lot of different paths to take, and it's often not clear just judging by looking at it whether one is faster than another - a lot of them seem about equal with pros and cons they offer, and can be hard to test as doing so may require playing through a large portion of the level to see the results. The moving pillars don't help either, I think there might be a way to predict and account for their locations but if so that's beyond me right now so they're practically completely random for me. I figure I'll just deal with them as I come to them, there's not much I can do about that. http://oi57.tinypic.com/f2neac.jpg
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Well I'm pleased to say I finally found a way to get the rings inside the capsules in FBZ1. I discovered it pretty much at the last minute, after hours of experimenting one last time before continuing with my WIP, right when I was about ready to give up thinking it was impossible. I haven't tried it on the 3rd capsule yet, but I expect to be able to get 6/6 rings there as well. All of the rest of the levels I've completed up to this point can be seen on my YT channel. Link to video Also, here's some code for automating spindashing and climbing. Until now I've been doing everything manually but that's starting to get pretty old for me. I haven't seen this posted elsewhere so I thought I'd share mine in case someone else wants to use it. I don't know much about LUA though so please feel free to recommend improvements, etc.
-- Macros for spindashing and climbing walls on the right
local hotkey_number1 = 1;
local hotkey_number2 = 2;

input.registerhotkey(hotkey_number1, function()
	joypad.set(1, {down=1, A=1})
	emu.frameadvance ()
	joypad.set(1, {down=1, B=1})
	emu.frameadvance ()
	joypad.set(1, {down=1, C=1})
	emu.frameadvance ()
	joypad.set(1, {down=1, A=1})
	emu.frameadvance ()
	joypad.set(1, {down=1, B=1})
	emu.frameadvance ()
	joypad.set(1, {down=1, C=1})
	emu.frameadvance ()
end);

input.registerhotkey(hotkey_number2, function()
	joypad.set(1, {up=1, right=1, A=1})
	emu.frameadvance ()
	joypad.set(1, {right=1, A=1})
	emu.frameadvance ()
	joypad.set(1, {right=1, A=1})
	emu.frameadvance ()
	joypad.set(1, {right=1, A=1})
	emu.frameadvance ()
	joypad.set(1, {A=1})
	emu.frameadvance ()
	joypad.set(1, {A=1})
	emu.frameadvance ()
	joypad.set(1, {A=1})
	emu.frameadvance ()
	joypad.set(1, {A=1})
	emu.frameadvance ()
	joypad.set(1, {B=1})
	emu.frameadvance ()
	joypad.set(1, {B=1})
	emu.frameadvance ()
	joypad.set(1, {B=1})
	emu.frameadvance ()
	joypad.set(1, {B=1})
	emu.frameadvance ()
	joypad.set(1, {B=1})
	emu.frameadvance ()
	joypad.set(1, {B=1})
	emu.frameadvance ()
end);
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
marzojr wrote:
Hehe, it is entertaining. Now, some bad(?) news: I just realized that there is a 11-frame improvement to HS+T AIZ1. This means redoing the level, redoing AIZ2 and then resynching the run up to SOZ again...
How come you only have to redo AIZ and not the rest of the levels? Is it easy to resynch them after that point, and is it likely they will stay in synch up to SOZ after that? Basically, how does resynching work?
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Also here's another WIP update I did this week, someone suggested I post it here, so here it is. Enjoy: Link to video
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
I'm curious how exactly he calculated that, is there anything written on the subject of how he did it?
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Yes, page up/down are, and I think some other ones too. It's nice because I can have my 9 main keys that I use often, and still always have my thumb comfortably on the right arrow key for frame advance. Which I just noticed the paint is starting to chip off the bottom of it from pressing it so much. But if you're sure changing the bindings won't affect synch then maybe I will just try that, afterall.
Knuckles does, what Sonican't.
Post subject: Re: Sonic TAS tools (was: Lua HUD for Sonic games)
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
marzojr wrote:
With 'num lock' on, the base address of objects is shown, as well as the angle on the ground. To use the base address, prepend "FF" to the value shown and you have its base RAM address.
So, I know this may be a long shot but is there any way I could change that key from "num lock" to, say, "caps lock"? It just so happened that when I started using this emulator, I already was used to having 9 different buttons (both in-game and emulator functions) bound to my number pad keys, and I maintained those bindings without really thinking about the fact I needed to have "num lock" on for them to work, and the consequences of that. But now, after so many hours of staring at the solidity displays with the values showing at all times, is becoming a bit of an eyesore. And it looks beautiful without that, and just the colors, by comparison. I would like to be able to turn num lock off, but then I would have to rebind a lot of my keys, and I'm afraid to do that because it's generally not good to mess with Gen's settings while recording a movie. And also it would just be a hassle to relearn where my keys are, and I like my current set up a lot. I'm really grateful for this hacked version of the emulator, by the way, it's really great. But I don't use caps lock for anything, so if there's some way I could switch caps lock functionality with num lock? That would be excellent. Thanks.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Thanks guys. Just a little update: yesterday, pretty much by sheer chance I found a way to get the last 4 rings in LBZ1 as well as how to break into Sonic's area in Act 2 without luring a flybot. Sorry, but these 2 things have confounded me for many months and I thought they were impossible so I'm really excited about this. I'm glad because there's no better time than now to redo the end of LBZ1, kind of dodged a bullet that I don't have to go back very far at all to implement the changes for the extra rings. With this, the only rings I shouldn't be able to get in the entire game are from mutually exclusive signpost monitors, and all the ones in Sonic's starting area in LRZ1, and LRZ2 boss. And probably a few from the capsule machines in FBZ1, which, I'm not sure if they should even count for a number of reasons but I don't know right now, we'll see.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Enjoy. Link to video Moving right along, about half way done at this point. In terms of rings, I've collected 55% of all the rings in the game that apply to this run. I was watching Upthorn's run for reference and saw him pause it a couple times near a flamethrower. Since I was having trouble in the same spot in my run, I decided to try it and it worked to prevent the flames from shooting out. I suppose that would be the story of my first experience with using luck manipulation, then? I don't really know much about it beyond that, and I hadn't planned on using it before, so is there perhaps anything else I should know about it? What other kinds of things can be luck manipulated in this game? Also I was under the impression the flamethrowers were on a universal timer, can luck somehow affect that or am I simply mistaken? The sub-boss is tricky to optimize because of the way it moves. Hopefully what's shown isn't vastly improvable... as far as I can tell, it isn't. Anyway, I compared the frames it took me to complete it with Upthorn's run as well and they were almost identical so I'm happy with that.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Zeupar wrote:
Are you an armchair
Yes. And that's not even my final form.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Ready to TAS
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
She plays casual games online and/or drinks alcohol, or does her own creative projects. And probably spends a lot of time lamenting the fact she didn't settle for a more exciting BF, ha.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
marzojr wrote:
you also decelerate less when rolling uphill than you do running uphill. If your X speed is less than the rolling X speed cap, you will benefit from rolling downhill; if not, you will waste speed because you could be running faster.
I didn't know that about uphill deceleration. The rest of that pretty much confirms what I was thinking but wasn't sure, so it's nice to know. And WST it's also a relief to know the climbing methods are not very particular as to which one is the best. As for everything else you guys wrote, I will try to keep that in mind, thank you both for clarifying. Honestly I'm not 100% clear on everything yet but definitely better than before, and I think what you've said will sink in more and make more sense to me with time/experience. I did some more testing just now and found that doing a full spindash whenever my ground speed fell below 2,000 yielded best overall results. The ideal range is probably in the low 2,000's, anything from 2,000-2,300 would probably be about the same. Anything much lower or higher than that starts costing more frames than it's worth. Sometimes it also depends on the angle of the slope. I may be wrong of course, too, but using this method I managed to improve my time by 2 and 4 seconds on the ascent and descent respectively. That's probably as good as I'm willing to aim for, for now. I don't know how I could improve it much more.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
So I know it's a holiday and I know what i'm about to link is just a crappy youtube encode, but I'm wondering if anyone would be willing and able to critique my latest tool-assisted ascent/descent of the mountain in IC1? I used a (now old) recording I did of IC1 in one of my first posts here asking for advice. In that video, it took 1:09 in-game from start to finish. In this attempt, I managed 6 seconds faster in 1:03. Here is a breakdown of each aspects of that: 0:12 - Reach the base of the mountain after climbing straight up the wall 0:49 - Collect 50th ring and begin descent 1:03 - Land at the bottom of crevasse Link to video In other words, it took 12 seconds to climb the wall, 37 seconds to reach the high point of the slopes, and 14 seconds to reach the very bottom. The strategy I used was basically to stop and rev up a full spin dash (~14 frames each time) whenever my ground speed fell to ~1500, which is close to the normal running speed (except for on a couple of very steep slopes where the process of stopping manually alone takes probably twice as many frames - in those cases I just rolled to a stop naturally). It seems to me there is surely an opportunity-cost there, and I guess my question is what is the best way to get the most of it? I'm really not sure if my method is the optimum way of solving this gameplay puzzle, of climbing up the slopes as quickly as possible, and I don't even know how to test this properly. That's partially because of some on-going confusion I have with regards to the finer details of movement speeds in this game, even though I've read http://tasvideos.org/GameResources/Genesis/SonicTheHedgehog.html several times over the past months. Specifically, about rolling it says: "...causes the player to decelerate on a level surface. Rolling allows the player to gain speed faster on downhill slopes than running does; however, rolling caps the players x-velocity at 4096 subpixels (16 pixels) per frame. Interestingly, when on ground, both deceleration and y-velocity are based on the player's speed variable, not velocity, and the player's speed variable continues to increase as normal on a downhill, even when the x velocity cap has been reached. Rolling does not cap y velocity." So, as a couple of side questions, I'd also like to inquire: Could somebody maybe just rephrase this for me, please? What's the difference between x-velocity and ground speed? I recall reading once in some TAS/speedrun notes that, when going downhill, "in most situations" rolling is faster than running - well, when exactly is it not faster, please, and what about going uphill? And finally in case qwerty or any of the other good Knuckles players should happen to be about, I would like to make sure of my jump-climbing technique for Knuckles: is the optimum time to begin gliding, 2 frames before his y-velocity = +96? Thanks
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Does anyone here ever listen to binaural beats while TASing? Link to video I can't claim how well or even if they actually work, but I usually have some on now just because I like the idea.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Thanks again everyone, these comments really help me stay motivated.
WST wrote:
That being said, personally I think that you can even let yourself add some time-loosing tricks, like killing enemies just for fun, like you did in your old Ice Cap 2 run, for example. Since it’s a superplay and not a speedrun, such things should be allowed, as long as they look really impressive and fun…
I agree things like that can be interesting also, but for this run I decided not to include them. I wanted to keep my goals as well defined as possible since I'm still hoping I might be able to get this published here someday. And don't worry about the atlas encodes, I mean I want to see them but there's no rush. I'm just glad you're making them at all.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Thanks a lot I'm glad you guys enjoyed watching
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Link to video Link to video Marble Garden - 100% Welp, I sure am glad that zone's over. Those uneven floors were hell. Almost 100,000 rerecords so far.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
ais523 wrote:
About the "TASvideos only accepts realtime" thing: TASvideos' automatic timing software always uses realtime, but if you say that you're going for in-game time, the judges will just ignore the time given by the timing software and use the in-game time instead. You should feel free to use whichever suits the game.
Ok. Really sorry, but just one more question about in-game timing: I understand that in-game timing differs from real time in that it's essentially "paused" at certain times throughout the game. For example, during the score screen in Sonic. But at what point does the timing stop: on the frame when the official in-game clock stops, or on the first frame that the player loses control of the character? Conversely I would ask, when does the timing re-start: on the frame when the game clock resumes, or on the frame when you can continue entering input for the character? I ask because I think I can take some fractions of a second off the clock in Act 2 by hitting the signpost an extra time while the clock is stopped at the end of Act 1. It's only worth it if the timing stops when the clock stops, though; otherwise, hitting the signpost twice delays the score screen enough that it ends up taking longer that way. Thanks again to everyone for answering so many questions I have.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
Patashu wrote:
I would also think that when you go for in game time clock stopping glitches are disallowed.
I should hope so, then I won't have to worry about whether or not I should use it in LBZ. It's less complicated that way.
WST wrote:
Most Sonic TASes go for in-game time
I guess I will use that, then, thanks guys
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
So I've reached a point on the MGZ1 boss where I think I could save a few frames (but not necessarily reduce the final in-game clock by any amount...) by sacrificing my shield, and then using the signpost to spawn another one while the in-game clock is stopped. This would result in a longer real time, whereas without doing this I could have a shorter real time but (maybe) a 1 second longer in-game time. To be honest, up to this point I haven't really known whether I'm going for in-game or real time... I know initially I said in-game, but honestly I just picked one at random not knowing the difference, particularly as far as TASvideos is concerned regarding publication guidelines. I seem to recall reading somewhere they only accept realtime, and also that in-game clock-stopping glitches are sometimes not allowed. Anyway, I don't think it's mattered until now because afaik there wasn't any situation where I could improve either at the expense of the other. I didn't expect for it to really be an issue (thus I resolved not to worry about it for the time being, though maybe I should have) until Launch Base Zone, where I know it's possible to stop the in-game clock early during Act 2. Although, I'm not sure if this would be practical in a speedrunning scenario but I won't go into the details to keep this post short. But again, I think it ultimately comes down to timing and how that's handled for the run. tl;dr Real time vs in game which should I use for my run and why, please? Thank you.
Knuckles does, what Sonican't.
Editor, Experienced Forum User, Published Author, Active player (376)
Joined: 7/13/2013
Posts: 138
marzojr wrote:
That ground entrance; nice work, as far as I know, you are the first one to find out Knuckles can go through regular floors by gliding at the right frame. In some quick tests, it seems that the ground must not be very thick (except if you gather some very high vertical speed),
TheYogWog wrote:
Thanks, marzojr. Yes, you're correct that it only works with unusually thin floors for a regular jump.
I just want to add that while what I said is technically correct that Knuckles can't glide through thicker floors without a lot of y-speed, while zipping it seems there's a way for him to go beneath those floors easily using only a regular jump. I tested it and Sonic can do it too, but not Tails. Is this already known to you guys? It probably is, but I just found out about it this morning and I'm glad because it's the solution I've been looking for to getting those 3 rings that are stuck in the wall in Sandopolis 1. It might have speedrunning applications too.
Knuckles does, what Sonican't.