(Link to video)
The World's Hardest Game 2 is the second installment of the The World's Hardest Game series released in 2008. In the game, the player is a red square who must reach the end of 50 levels. The player must also avoid enemy circles that can hit the red square and reset progress in the level. This TAS movie attempts to complete the game as fast as possible without using any major glitches.

Emulation

  • Operating system: Ubuntu 22.04.1
  • Emulator: libTAS v1.4.4 with ruffle-nightly-2022_10_15
  • MD5 hash: 37def957ec3faf6859e8e312cbbf9664
  • The game functioned normally without any time tracking settings.

Movie objectives

  • Completes all 50 levels as fast as possible.
  • Avoids the use of major glitches listed below
    • Enemy clipping: In order for a death to register under normal Flash Player conditions, one of the square's enemy collision contact points have to contact an enemy's current bounding box as well as one of the enemy's rendered pixels from the previous frame. Due to this, moving enemy hitboxes on the Flash Player act as if they were smaller. This could be considered as a major glitch since you are able to phase through faster enemies and save large amounts of time. (Example) On Ruffle, this behavior patched, so I am guaranteed to be unable to use it.
    • Pausing: Pressing the menu or pause buttons cause enemy collision checks on the frame before to be essentially ignored. This can be abused by spamming pauses to move right through enemies. Another glitch that occurs with pausing happens if you pause before an intermission ends and a new level starts. You can play the game normally with the pause screen visible, and you are able to ignore one enemy hit before you have to unpause to hide the menu. Pausing is not used because repeatedly doing so creates rapidly flashing visuals, which may be unenjoyable to watch.
  • Dies at the end of the last level because I thought it would be a little funny to have the death noise play right after a (near) perfect run.

Comments

This is an improved version of this submission which I cancelled, because after submitting it I saw that I missed various time saves. I wrote a bit of extra information there. If you would like to see what improvements were made over the old TAS, I put them in description of the Youtube video.
There are multiple versions of this game, be sure you find the right one. This movie plays on the 2.0 version (the first version) and it has 50 levels. The 2.1 version (second version) is an extended version with 10 extra levels scattered between the original ones.
This TAS may not sync properly on all resolutions because collisions in the game can vary based on window size. Speedrunners for TWHG1 select specific window sizes to perform certain time saving tricks, and the TASes for it (made possible by modding the .swf) constantly change resolutions to achieve different tricks.

Speed tricks

Note: A frame will also refer to the distance moved by the square in one frame (3 pixels on normal resolution).
  • Win contact: Finish areas register that the player has completed the level as soon as the square hits the green, even if only the very corner hit the green. This can save time by hitting the finish even when there's an enemy in your way that's about to hit you.
  • Wall clipping: Sometimes, you can move into walls an additional frame closer by moving diagonally into an outwards corner connected to the wall. This can let you move past bouncing enemies sooner, or it can allow you to be closer to something behind the wall and let you reach it one frame sooner.
    • Corner boosting: As an extension to wall clipping, if you go away from the wall by moving towards an outwards corner that the wall is connected to, you will be boosted by a frame in the direction parallel to the wall.
  • Enemy grazing: The square's nine enemy collision contact points are spaced apart in a 3x3 grid formation. In certain situations, you can narrowly avoid an enemy by letting it very slightly graze between two contact points. This can be useful to move a frame closer to a location when an enemy is in the way, and can rarely be used for survival purposes.
  • Death ending (unused): Getting hit and finishing at the same time lets you progress to the next level, but you start with the square fading out from the death animation. This would be useful if you took a path that killed you while finishing and had a waiting period at the start of the level after, but there are no such cases.

Further optimization

  • Levels with multiple coins in an open space are the hardest to optimize, due to the many possible route choices. The worst offenders like this are levels 46 and 49, where I bet somebody could find a faster route with enough searching. Level 27 is also another level with potential optimization due to many choices that the coins and corridors offer.
  • Beyond that, nothing else sticks out very much. I could be potentially be missing a random wall clip/corner boost somewhere or slightly better movement. Open space has the most potential, such as with level 34.

Info Teddy: Claiming for judging.
Info Teddy: Hello and welcome to TASVideos, Automanager.
Just a minor note, you didn't necessarily have to cancel your other submission; you could have asked for it to be delayed while you worked on improvements, then had the movie file replaced. But there's no issues with canceling and doing another submission, if that's what you prefer.
Anyways, this is very good work. You've definitely put a lot of effort into it, and you even continued to optimize and find timesaves after submitting it. The goal choice of "no major glitches" is clearly defined and appropriate for Standard.
Accepting to Standard.

despoa: Processing...
feos: While the glitches avoided in this run greatly affect the nature of gameplay, they still don't quite fit our definition of a major skip glitch, because each of those glitches skips a certain mechanic but not most of gameplay itself. Which makes those glitches similar to mechanics avoided in these movies:
As such, this movie matches Alternative class goals more neatly, because it looks the most appealing of all other possible branches of this game. Even if it gets little to no feedback, it makes the most sense to have it as the entertaining branch, and the ones with more glitches are speed focused.
Branch label itself if probably fine because it's about several glitches. Whether we can define their nature better, we'll see... Until then it should be fine to publish as is.
feos: Changing the branch because enemy clipping is the nature of all the glitches avoided in this branch, as confirmed by the author.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14873
Location: 127.0.0.1
Player (197)
Joined: 12/12/2022
Posts: 9
The platform is wrong. I uploaded a file with Platform: Flash in the annotations so hopefully somebody can replace it. https://tasvideos.org/UserFiles/Info/638072802473443879
Editor, Publisher, Player (46)
Joined: 10/15/2021
Posts: 370
How much time would have been saved if the pause glitch were to be used?
Player (197)
Joined: 12/12/2022
Posts: 9
despoa wrote:
How much time would have been saved if the pause glitch were to be used?
Since pause spamming is pretty much equal to invincibility, it might take off around two minutes from the run. You could ignore time restrictions of cycles or even quickly skip a few levels that have walls made of enemies. Though, pausing at maximum speed causes the screen to flash rapidly between brighter/darker screens, so I'm not sure if anybody would enjoy watching a run of this which spams pausing whenever useful. The noise made by pause spamming sounds terrible when unmuted.
Editor, Publisher, Player (46)
Joined: 10/15/2021
Posts: 370
Those are fair reasons. I was asking because you didn't mention in the submission text why you chose not to do that glitch.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11267
Location: RU
Automanager wrote:
Since pause spamming is pretty much equal to invincibility, it might take off around two minutes from the run. You could ignore time restrictions of cycles or even quickly skip a few levels that have walls made of enemies. Though, pausing at maximum speed causes the screen to flash rapidly between brighter/darker screens, so I'm not sure if anybody would enjoy watching a run of this which spams pausing whenever useful. The noise made by pause spamming sounds terrible when unmuted.
We use to publish those branches separately, to showcase both pure speed and actual gameplay. How much time would enemy clipping save?
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.
Player (197)
Joined: 12/12/2022
Posts: 9
Since the RTA sum of best for TWHG2 is around 20 seconds faster than this, a TAS with enemy clipping would be that much faster at least, or maybe at most a minute if you're really optimistic. Along with an emulator which supports enemy clipping, there would also have to be a tool that would allow recording window size change in movies, which is what enemy clips depend on. And with window size changing, there would also need to be guidelines about acceptable window sizes because you can go a lot faster when the window is tiny. https://www.youtube.com/watch?v=kB4Z84f6by8
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11267
Location: RU
Would it be accurate to say that this run only avoids all enemy collision glitches, and all other glitches are used (like BG collisions)?
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.
Player (197)
Joined: 12/12/2022
Posts: 9
Yes, the glitches avoided all have to do with enemy collisions. If you want to change the branch name, the previous "no enemy clipping" would work well.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14873
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. ---- [5039] Flash The World's Hardest Game 2 "no enemy clipping" by Automanager in 09:50.40