Yes, I use VMWare for every TAS I make. From Windows 8 and 10 into a XP VM it always runs as expected for me. Haven't heard of people having much success with the other virtual machine software out there.
That is called a bunny hop. By doing a 5 frame jump you can jump on the ground 1 pixel above it allowing you to do jumps such as that one which are otherwise impossible. Normally for that section you would jump over the pyramid and jump up the other side of the block I landed on to make that diamond shape of spikes move over to the right. Forgot to add that into my notes, I'll do that now.
I'd been so worried over the past month when I was putting in the audio that people might not like it too much, or respond with lots of nit picks, so it makes me very happy to see so many people enjoying it on various websites. Feels nice. :3
Link to video
Frames: 218530 from game start to death of final boss.
Re-Records: Unknown, it's inaccurate when you splice inputs in hourglass.
Goals
This Tool Assisted Speedrun aims to beat the game in the lowest time possible while making trade-offs for entertainment and doing all platforming secretes.
Notes
"But wait, I thought K3 couldn't be TASed? It requires mouse input and you can't decompile it, how did you make the run using hourglass?!" Well, I did decompile it. The game uses FMOD, and requires mouse input for the title screen and Kamilia area. FMOD causes a guaranteed desync at the start of the run, so I had to rip that out entirely and re-do all the sound entirely via a video editor. As for mouse input I created a fake mouse which operates EXACTLY the same as a real mouse, this was tested via macros to ensure I didn't save any frames you can't actually save. It also looks the same. This run was also created at 50 fps because at higher frame rates the run would desync by 1 frame at the start of the run for every 1 minute and 30 seconds of gameplay if recorded at 100fps. Normally this would mean I couldn't use 1 frame jumps (Shift down and up on the same frame) which would lead to a sub-optimal run, but I created a 1 frame jump key to allow myself to use 1 frames at 50fps. Before anyone asks, this does result in the exact same movement as actual 1 framing, and did not allow me to do anything you couldn't normally do.
Sound Notes
All of the sound for this run had to be found via external sources, and manually placed back into the video as the game would crash and desync so much I couldn't even make it past the first few rooms if I didn't disable it completely. This allows for me to use higher quality versions, as the K3 ones sound awful, but I am sorry if I misplaced any of them. Some things like the jump sounds can be easily misplaced, like accidentally using a ground jump rather than air double jump sound or thinking I only did a single jump when really a double jumped quickly to exploit momentum canceling to its fullest. In-case anyone is curious, there are over 15,000 sounds that I had to manually place in this run. Also, I did put in the effort to properly master the audio despite the original game not doing so for two reasons. The first is that Adobe Premiere was popping randomly throughout the run when I let the audio clip just like the actual game does, and the second is that I wanted to make sure the player sounds are actually audible while also having an ear friendly listening experience. Hope it was worth it, though a premiere bug has caused there to be random popping on jump sounds anyway. No solution I found fixed it. :\
Run Notes
When given two options which take the same number of frames, left or right side avoidance or symmetrical rooms, I always go right since nearly every player of these games will go to the left. At some bosses I also stop screwing around to show off safe spots that players have not noticed yet, it also seems to make it a bit more interesting to not have the kid look like he has a really bad case of A.D.D. the entire way. Also, I do not use the "Hold S and press R at the same time at a save" warp glitch as I didn't want to skip any platforming.
Decompiler Bugs
Any bugs that are caused by the decompiler which are still in version 1.30 I did not fix, however there are two bugs that are only in this TAS and some versions of K3 that I didn't notice until the run was completed. The first is that for some reason in the Gradius area I can go further out of the screen than you should be able to...even when my hitbox is the whole ship which is about 30% larger or more than the actual hitbox in version 1.30. Thankfully I didn't gain any advantage from this, so the run itself is unaffected in my opinion. The second glitch is I didn't notice that you are supposed to have to touch the door to enter the kids' house, rather than the edge of the house itself. Not sure how I didn't notice this, but this means my run should have been ~10 frames slower. :c
Glitches
Vine glitch: At a specific position you can vine jump off the bottom of a block which has vines on it, and on the first frame of the jump will shove you up to where you should be jumping from normally.
Jump Cancel: Using two jump keys, on the first frame you depress the first then second key, then release the first key. On the next frame you release the second key. This causes a very low jump to occur because every time the shift key is released while you have upwards speed your speed is multiplied by 0.45. This can only occur once per frame, thus doing this with two keys allows you to release twice in a row without using a double jump.
Momentum cancel: In order to stop going up faster, I spam shift press and releases when I don't have a double jump which as I said for jump canceling multiplies your upwards speed by 0.45 once per frame. However while this can be done every frame, for this tas I was only able to do it every other frame.
Bunny Hop: If you arrive at a precise position above the ground, such as landing from doing a 5 frame jump, the collision detection will be rounded and allow you to jump from 1 pixel higher than the ground. This makes jumps which would otherwise be impossible, possible. This is used once to make a jump at 16:19 in the run, and at other times it is used to climb up blocks much faster than normal due to not needing to wait for downwards vertical movement.
Level design abuse:
Some triggers are badly placed and I either skip them entirely, or I get past the player killer/reach a warp before I should be able to.
Game Mechanics:
Gradius upgrade drops: In gradius area 1 enemy per enemy spawn type group will drop a upgrade. This is determined on spawn, and as such the only thing you can do to put things in your favor is manupulate the spawn position RNG.
Aligns: The player walks left/right at 3 pixels per frame, and depending on what wall you collide with you can change the offset due to the wall not matching the string of positions you can arrive at. We call walking into a wall at a different position than you can arrive at taking an align, and due to the player walking at 3 pixels/frame you have three possible aligns you can acquire. Some jumps are actually impossible to complete with the worst of the three aligns you can get.
Moving Platforms: Every other frame your position will alternate from the top pixel of the platform, and 0.5 bellow it. (Game Maker 0 position is the top)
Water: When your hitbox touches the pixels of water you gain back your double jump. If you are still touching the water after you jump you will be able to double jump again afterwards. Generally this means that the center of your hitbox needs to be touching the water when you jump, and that you don't exit the sides of a water block on the next frame.
Movement blocks: Their effect on your movement is one frame late.
Triggers and warps: Due to the execution order of objects not being well done in K3, you may notice that sometimes you see the kid touch a warp or trigger for one frame before the warp or trigger actually occurs. For example in the Dot Kid boss at boss rush I was able to warp before the warp is even rendered, yet at the Emperor boss you can see the warp appear before the warp occurs. This is very odd considering it is the same object...
Random Number Generator: (Tested in Gradius Area) Every two instances (Objects) in the scene, player input, and time influences the Random Number Generator. As such in the gradius area I would kill certain enemies which don't drop anything in order to get better spawn enemy spawn luck. Note: By player input I do not mean "Press jump", you can press any button that game maker picks up and it will potentially affect RNG.
Vines: If you have the same align as the wall the vine is on you can wall jump on the same frame as you touch the wall, otherwise you need to wait 1 frame.
Run Errors
If there is an actual error in the run I already know. I had to stare at my run a lot at every frame when putting the sound back in. However if I am doing something wrong which wastes frames I would be interested to know for any other guy game TAS creation. Do note though that some things I did figure out mid-way through the run and didn't fix because I wanted to keep it consistent with itself as it personally looks bad to change optimization techniques in the middle of a run. "If you did that there, why didn't you do it earlier in the run?!" etc.
I think I'll take a crack at this game since my initial testing has shown it doesn't desync, and there's no required mouse movement unlike Kamilia 3/Happil 2. Some notes though incase anyone else wants to try/completes one first.
1. Use Windows XP.
2. Delete all save files before starting each time or K2 will throw an error. (Death, config, savedata)
3. No sound effects are recorded...so you will need to search out every single sound effect and manually place them back in with your editor of choice. Music records just fine though....
I tried for a while to find a way to keep the fight from desyncing after inserting a frame of no input/Not S but I couldn't do it. I've decided to instead re-do all of the bosses up through gannon to include the every other frame shots as I want to try to get sub 30 minutes. I'm also re-doing some parts of worlds as there are some shortcuts/tas strats that may be more optimal.
I made a new tas, however I didn't use many close shaves except where required (Metal gear solid is completed without waiting and is frame perfect to survive). Instead of doing close shaves at Do The Mario I opted to find a spot where you didn't have to move as it takes something that is usually done by spamming shoot and shows it is possible to survive without doing anything except jumping over mario.
Link to video
This time I completed it as Dark Boshy on Totally Average-Mode to see how fast the actual speed runners of boshy could complete the any% category if they had tas accuracy/speed. I streamed the entire TASing process on twitch which took slightly over 38 hours, however one of my broadcasts that was over 11 hours long twitch decided not to save :(
Things used in this run that were not used in the sonic tas(s).
1. Every frame shots is now possible. If you press the jump key on the same on the frame after you let off of the shoot key boshy will shoot another shot. This works even if you do not have a jump left to use. Sadly, I discovered this during the tasing of world 9 so everything before it doesn't include it. I'd like to submit this TAS, but I assume it would probably be rejected due to this.
2. If you press S to skip to the boss fight with megaman on the first frame that you are in his room the game sound completely disappears. I had the game sound off while tasing most of the game so I didn't notice this until I had gotten much farther through the run. I tried splicing a no input frame in to fix it but it desynced the rest of the run :\
3. RNG manipulation (waiting a specific number of frames) is used to get missingno to use recovery as his first attack. When combined with every frame shots I managed to kill him before his shield goes back up.
4. Saves are used to reset the position of objects so that I don't have to wait.
5. In world 11 "save hovering" is used to skip a majority of the world, including the tower, and is done by holding Z + X while spamming R.
Twitch archives of the stream if anyone wants to see them.
World 1 and some of world 2
http://www.twitch.tv/xwidghet/b/399248574
Finishing world 2 and some of world 4
http://www.twitch.tv/xwidghet/b/399571380
Shang Tsung to game completion
http://www.twitch.tv/xwidghet/b/399816903
If you have not heard of this game I strongly advise you to heed my warning about loud sounds, which is annotated at the start of the video and before each time it occurs.
Link to video
This is an Any% run completed with the character sonic because it allowed me to complete the game as quick as possible utilizing lots of area skips and a few glitches. There are only 2 save points used in the run because it is required in order for the game to be possible to complete with sonic. This is because when you try to ride the cobrat in mario desert its movement is impared, and without it you are unable to jump on the ninji to complete the area. For this section I had to change character to boshy, complete it, then change back to sonic requiring two saves. The character change screens were done non-tas since hourglass does not currently support mouse input. For more notes on the run itself please read the description on the video as I do not wish to post a gigantic wall of text, though I will if asked.
How to run boshy with hourglass
1. Set the bubble for Multithreading and Wait Sync to Allow.
If you play the game on wrap or disable it suffers from some very poor performance issues.
2. Set FPS to 50
3. Disable your internet
After disabling the internet the game takes exactly 9 seconds to fail to connect to the update server. Thankfully the game doesn't halt or crash when it fails to create the error window which lets you know that it failed to update.
4. Disable Frame Advance Skips 'Lag' Frames
When this is enabled the game would get stuck after selecting a save game for a long period of time.
5. Do not load save states from previous "worlds".
If you enter a boss room, another world, or a special area like the World of Warcraft area, then load a save state from a previous area the game will crash and you will lose some of your progress in your TAS.
6. Use Windows XP
I tested it on Windows XP, Windows 7, and Windows 8. The only OS where boshy would successfully start was on Windows XP.
There is one visual glitch created when running boshy with hourglass which is boss rooms flickering at all of the times that I created save states. I'm not sure if I'm missing an option somewhere that fixes this, but I couldn't figure out any set of options which fix the problem.
I also noticed that if I make a large number of save states the game will freeze at those places for a brief moment when the run is played back.