Submission #7928: Automanager's Flash Karoshi: Suicide Salaryman in 02:50.11

Adobe Flash
baseline
(Submitted: karoshi-suicide-sala-2407.swf unknown)
libTAS v1.4.4 + ruffle-nightly-2022_12_21
12758
75
856
PowerOn
Submitted by Automanager on 1/3/2023 3:51 AM
Submission Comments
Karoshi: Suicide Salaryman is a Flash game puzzle-platformer released in 2008. Contrary to most other games of similar genre where you have to reach an end point, the objective in each level is to kill the salaryman through whatever means possible. This game directly references the Japanese term Karoshi, which translates to "death by overworking." This tool-assisted run completes the game as fast as possible while exploiting a few oversights with the game's mechanics.

Emulation

  • Operating system: Ubuntu 22.04.1
  • Emulators: libTAS v1.4.4 with ruffle-nightly-2022_12_21
  • MD5 hash: a775215e7ef22205ad1475b8e3521661
  • FPS: 75 (why this high for this old of a game)
  • The game is site locked, so add --spoof-url https://cache.armorgames.com in the command line arguments.

Objective

  • Complete all of the main levels as fast as possible
    • A post-credits level is ignored. It simply requires walking towards spikes to the right, and completing it sends you to the first main level.
  • Exploits oversights to save time
  • Dies to make progress 😃

Comments

Credit goes to the RTA runners of this game for discovering most of the oversights in this game. Here they are, listed (names are unofficial and made by me):
  • Spring Assist: You can quickly kill the salaryman with his own gun by shooting it towards a bullet spring and jumping up into the bullet. The salaryman runs slower than a bullet, but jumps faster than one.
  • Explosive Kill: Being nearby a stationary explosive box when it explodes only repels the salaryman. However, being near it when it explodes while falling kills the salaryman, likely because the game thinks he's being crushed by it's enlarged hitbox.
  • Lever Pull: Electricity levers are supposed to only switch based on which direction the salaryman moves through it. However, due to the game's extremely high quality, you can keep the lever switched on by moving away from it after the frame you move towards it.
  • Safe-bonking: The salaryman can push a box slightly from underneath while it's hanging over a ledge, allowing for box fall kills. This is only done with safes in the run, since explosive boxes are in levels with guns which allow for explosion kills.
  • Wood Jump: Wood blocks temporarily have a larger collidable hitbox when destroyed, which lets the salaryman jump on them.

Level-specific commentary

Note that the only indication of what level you're on is the life count at the bottom. This is how I will refer to specific levels. Additionally, I won't be writing commentary for most levels where an aforementioned technique is performed or a faster route is used. I will leave the intended route of those levels as an exercise to the reader
  • 36 lives left: To save time, the salaryman pushes the safe and jumps under it after exploding the box underneath it. You can see that the salaryman jumps above the underside of the safe and somehow moves under it despite him and the safe both not moving downwards. I don't know how this works out, but it reduces time so whatever.
  • 26 lives left: This is the only level where a safe bonk occurs when the safe is on the block above the salaryman, making it look as if he suddenly explodes when running under the safe.
  • 23 lives left: A strange technique is performed here. The salaryman jumps behind the safe and shoots it, sending it towards a ledge. He also pushes the safe for one frame which temporarily freezes the knockback force from the bullet, giving him time to jump and land on the safe as it falls, counting as a kill. This is certainly the most technical trick in the run.
  • 14 lives left: Weirdly, a lever pull is impossible in this level, so the intended route must be used. Perhaps the developer found out about it after making other lever levels and patched it in this one specific level, which is the last level to have a lever pull that would save time.
  • 13 lives left: The level must be reset each time a button is pressed to be teleported to the next area. (I'm pretty sure Loss was hidden in this level.)
  • 11 lives left: The salaryman's jump power increases after every jump up to a specific amount. So, jumps are spammed under a low roof to gain jump power faster.
  • 10 lives left: Beyond the red square, the salaryman cannot move for too long in a row, otherwise a wall appears and the walk must be retried.
  • 8 lives left: To go faster, two wood blocks below the highest explosive box are shot to prepare for an explosive kill. However, the large hitbox of the destroyed wooden blocks prevent the salaryman from being close enough to the explosive box for a kill as it falls. This problem is solved by firing an extra shot at a wood block to the right. This makes the explosive box in question temporarily stop falling from landing on the third destroyed block's bigger hitbox, giving time for the other destroyed wood blocks to disappear, creating an opportunity for an explosion kill.
  • 7 lives left: Pressing K summons a safe from the sky.
  • 6 lives left: Doing nothing is the solution to the level.
  • 5 lives left: The left and right arrow keys swap functions.
  • 4 lives left: Clicking creates a block at that location. Blocks are created above the salaryman so that he can land sooner, allowing more jumps with high initial speed.
  • 3 lives left: Hovering the mouse anywhere creates an invisible block at that location. Similar technique from 4 lives left is used.
  • 2 lives left: Clicking the Return to menu button kills the salaryman. The click is the final input in the movie.
  • 1 life left: The last main level of this game is a mini boss fight. The girl above creates hearts that give the salaryman more lives, which obviously isn't wanted in this game. The method of dying in the level is to get crushed by the pig square, which jumps up and falls down at a random location. This needed slight RNG manipulation so that the pig landed on the salaryman before he hits any hearts while staying still, and luckily I only needed to perform two jumps at specific times moments earlier to have sufficient RNG.
Speaking of RNG, this game is difficult to fully optimize.

More optimization?

A faster safe crush in 36 lives left that was done in 30 FPS is likely possible, I just couldn't replicate it with the correct FPS.
Karoshi also has subtle RNG involved. The time it takes for the next level to start after dying is slightly randomized each time, and RNG is influenced by the salaryman's movements. So, hypothetically, you could create an even better, slightly faster run than this by trying various actions at random times to minimize the waiting time between levels. Which would be highly time consuming.
This TAS was also done on 30 FPS, and it would probably be slightly faster to use 75 FPS instead. I completely forgot about frame rate because almost every old flash game runs at 30 frames per second. It is indeed slightly faster.

Info Teddy: File replaced with a movie with the correct framerate (75 FPS).

Samsara: Claiming for judging.
Samsara: YouTube's might not like this one too much, but I do! There were quite a number of inventive solutions displayed here which made it a very fun watch, and it all looks optimal to me. Accepting!

despoa: Processing...
Last Edited by despoa on 2/4/2023 7:11 AM
Page History Latest diff List referrers