Submission #7239: keylie's Windows Unworthy in 24:05.40

Windows
baseline
(Submitted: unknown)
libTAS 1.4.2
43362
30
5601
PowerOn
! Version info: 

libTAS version: 1.4.2

! Annotation info: 

{{OS: Debian 11 amd64 with Linux kernel 5.10.13-1, libTAS v1.4.2
Game: Unworthy, Steam version (Windows)

Unworthy does not have a native Linux version. However, as a GameMaker Studio game, data files are common to all platforms, so we can import a Linux runner binary from another game of the same version. The method is as followed:

- Download the Windows version of Unworthy through Steam while using the "speedrunner_spirit" beta branch (right-clic on game > Betas > speedrunner_spirit)
- In the game directory, create an "assets" directory and move "audiogroup1.dat", "audiogroup2.dat" and "game_credits.ini" inside
- Rename "data.win" into "game.unx" and move it to "assets" directory
- Download the Linux version of Ryuku: Extinction (https://ambiguous-games.itch.io/ryuku), rename the executable "Ryuku_png" into "runner" and move it to the game directory
- Find a 64-bit libsteam_api.so library from any Linux Steam game and move it into game directory
- Launch libTAS using `~/.steam/bin/steam-runtime/run.sh libTAS` so that it loads the old `libcrypto.so.1.0.0` and `libssl.so.1.0.0` libraries (alternatively, copy those libraries into the game directory)

The following libTAS settings are needed:
- "Runtime > Virtual Steam client"
- "File > Executable options > Library path" to game directory
- "Runtime > Time-tracking > clock_gettime()"
- For convenience, "Input > Prevent games from warping the mouse cursor" can be checked}}
			
Submitted by keylie on 10/29/2021 1:58 PM
Submission Comments
Unworthy is a 2D game inspired by Dark Souls and released in 2018.
Video has commentaires as subtitles

Game objectives

  • Emulator used: libTAS v1.4.2

Tricks

Weapon switch

When switching our weapon from the menu during the attack, the game instantly starts the recovery animation of the new equipped weapon. This is used in this run to attack with the hammer, then switch to the sword recovery which is shorter.

Spirit bow quickshot

When you charge a shot with the spirit bow, the damage output of the arrow is computed based on the charge magnitude. Then, the velocity of the arrow is computed from the damage output and the charge magnitude (which is usually redundant). However, if you release the arrow frame-perfectly when the charge just started, then the damage output is not initialized, so it is using the leftover value from a previous shot.
Because of this, it is possible to fire arrows very quickly at maximum damage output. Those arrows will only have half of the maximum velocity possible, because the charge time is zero.
Another benefit of quickshots is the stamina cost. Normal shots cost stamina on startup, charge-dependent stamina then stamina again on release. For a quickshot the startup stamina cost is skipped, so only the release cost is applied.

Arrows through doors

For arrows with enough velocity, they can go through doors because collision is only computed each frame. This has been patched in the current version, but all speedruns are done with the old "speedrunner_spirit" version (Steam beta), as well as the present TAS.

Suggested screenshot

Framecount 39050

feos: Nice opportunity to challenge rules! Judging...
feos: As seen in the thread, fsvgm777 and I have problems with getting this movie to replay. So this needs more info from the author.
feos: Temporarily setting to delayed until we move to the new site.
feos: Restoring Needs more info until I get this to sync with the software renderer.
feos: Synced, judging...
feos: Added sync info to annotations, changed the platform to Windows, because it's the version used.
Outside modification of a game or a system BIOS is not allowed. This includes Game Genie and Action Replay cheats as well as direct modification of game files, such as on a PC game. If modification is the only way of being able to TAS your game, ask a Judge if it can be allowed.
"Porting" this game to Linux manually is the only way to TAS this game, but we're not touching files that affect gameplay. So it's similar to using an unofficial game port in [4496] Windows Backyard Baseball "Pick-Up Game" by TiKevin83 in 04:45.05. There's an issue with this game that a certain time saving technique stops working after porting, but the author did elaborate research and was unable to determine why that happens, and we don't want to count it against this movie (this is an explicit staff agreement about self-ports).
It's also true that we require everything to be a stable release for libTAS. But as long as sync instructions are reproducible, it should be okay to make an exception for manual ports, just like we allow patches that make a game playable.
The run itself is great as always, much better than the fastest human record due to superhuman arrow management. Accepting.
fsvgm777: Processing.
Last Edited by fsvgm777 on 1/29/2022 8:06 PM
Page History Latest diff List referrers