Posts for keylie


1 2
15 16
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I forgot to specify that I was quoting a rule from the Standard class. Movies with assist mode would still be publishable under Alternative class.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Cheat codes and passwords are only allowed to access harder difficulties and/or bonus content, including cosmetic improvements. Arcade continues are considered cheats.
Recently, games have included what in called in Celeste an "Assist Mode". It is extra options that change some game parameters (invulnerability, game speed, etc.) aimed at making the game accessible to more people. I think this should be considered a cheat. Optimal runs with assist mode would often result in more trivial gameplay. As opposed to debug mode, assist mode is immediately accessible from menu, and is sometimes not even distinguishable from other options (see Disc Room in-game options and here), so I don't know if it's already covered.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
You need to set `File > Executable Options > Library path` to the `lib64` subdirectory in your game directory.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
As described in the script that launches the game, you need to launch libTAS with the following env variable:
MONO_IOMAP=all libTAS
. Also, if it still softlocks, you need to set in the Settings
Runtime > Wait timeouts: Finite waits
.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Probably found the issue, look at file `~/.lexaloffle/pico-8/config.txt` and look for parameter `foreground_sleep_ms`. Mine is set to 5. Setting this value should make the TAS to sync.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
It syncs for me. I am getting a lag frame at 672, also in the author movie (libtas movies store lag frames). It is caused by the game calling SDL_Delay(5) seven times, which makes it sleep for 35 ms. This exceeds the frame length (33 ms), so a lag frame is triggered. Could you check if you are getting the lag frame, and also if you are getting the sleeps calls (enable logging for Sleep category)?
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I didn't consider submitting a new movie. I was thinking if it would be relevant to replace the published movie with this one, given that the published one has spurious lag frames that artificially increase the movie duration. Also, with the exact same game version the published movie was done on, all lag frames could be removed if the framerate is set to a slightly lower value (59.999 fps) to overcome the game bug that does not enforce correctly the intended framerate. All of this has low importance because the final product is not affected much by this. Having a clean movie is much convenient to work on improvements, that is why I wanted to post is somewhere.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Not sure how to handle this, but I updated this movie (User movie #637787978063843404) to a newer version of the game that don't feature any lag frame anymore. Gameplay is unchanged. It saves ~ 10 seconds
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I tried finding the game on itch.io which has the closest release date from Unworthy. The MOBrio was released 3 months after Unworthy, has a runner executable which is only 9 bytes bigger than Unworthy's one, but still does not feature the glitch.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I checked on three different versions of the runner file, and all three show the same behavior (no clipping through the statue). It is still possible that one specific version of the linux runner features this behavior, but then it may be considered as an engine bug? I'll try doing the opposite on Windows: using the Windows runner file from Ryuku in place of the originial runner file to see if I'm still getting the clipping. Edit : I checked using Ryuku's executable on Windows, and I actually couldn't reproduce the bug! So it should mean that there's a specific version of the GM:S runtime shipped with the game that has a some sort of flaw?
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
feos wrote:
keylie wrote:
The skip to go past the statue that is used by RTA runners is not possible on the Linux version of the game.
But we're using the Windows version. Do you mean the launcher from Ryuku: Extinction makes it not work?
I don't know if it's specific to this version of the launcher, I honestly didn't investigate when I made the run. It could all linux compatible runner files that have this difference with the Windows version. If you think that this needs to be answered, I can try other runner files and see if I can replicate the glitch.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
feos wrote:
keylie, why do you take the detour to Catacombs of Ur (and to the thorns area) in the middle of the run? The RTA record goes straight to Cradle of Death, and counting from that point you only kill the final boss 5 seconds sooner. Judging by how quickly you navigate, is it really worth it to go to that other area? The movie is overall still shorter than RTA of course, but still.
Sorry, I thought I mentioned this in the submission notes. The skip to go past the statue that is used by RTA runners is not possible on the Linux version of the game. I tried to understand how it works, I explored the game data files using UndertaleModTool, which is an awesome tool to browse and modify all the maps, scripts, objects, etc. of the game. I came to the conclusion that this is not an overlook of the game level design or the game scripts, so I guess it is about gamemaker studio engine and collisions?
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
fsvgm777 wrote:
I tried downloading the older version via Depot Downloader....but it seems you can no longer download previous versions through that method. I get the following error:
Downloading depot manifest...Got CDN auth token for steamcontent.com result: Fail (expires 01/01/1970 00:00:00)
keylie, can you verify if it syncs with another libsteam_api.so from a different game (preferably latest version)?
I can do that when I'll have some time
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I got my steam api library from a previous version of Axiom Verge
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Same except for the steam_api. I don't have Baba on Steam. I tried the one from Axiom Verge, which has hash
74b93a8111fc19af999459a5c230c498047cfda7
and it does not work, probably because the version is too recent, and Steam likes to update their API with interfaces incompatible with previous versions (they add methods in Steam class in between old methods, instead of appending them at the end). I started working on versioned interfaces, but it's a lot of work, and there are a lot of classes. Regarding the crashes at random and desync, this is weird, I don't know why. Yes, the game is very slow with software rendering, and one of the reasons is that the audio thread is taking 100% of one CPU because it queries for free buffers with no yielding at all.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
feos wrote:
Is there no way to get the version that works?
I don't know if there's a reliable way to pick the version that works. One could determine the version of the Windows runtime and get the Linux counterpart (from official Yoyo website if they have an account).
feos wrote:
This also sounds like it will only (probably) work for a short period of time. Using a beta version is questionable in itself, and without info on what exact version it's known to work on, this may be a future problem to get this movie to replay (provided it still works).
Using the Steam beta feature is a convenience, but it actually refers to a previous released version of the game. You can look at the manifest id 2435903942916489485 in the speedrunner_spirit branch which corresponds to the version released on june 11 in the main branch. This is still a problem if Steam decides to prevent people from getting previous versions in the future.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Not all runner executable work. Recent ones from 2019/2020/2021 that I tested instantly crashed the game. The one that I used to make the TAS came from the same game that was used for Deltarune chapter 1, see this post and the game in question. Unfortunately this game has been updated since, so the runner executable does not work anymore. I still have this executable, whose md5 is
f121671f73bfaf965ed2f0bfdda263b4
The md5 of the game I found for the submission is
597d991811097a58080f09c09f522c0b
Furthermore, while I browsed through itch.io Unity games to find a good one, some games that were slightly more recent than the correct ones did not crash, but I was getting a desync in the middle of the run.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
feos wrote:
1) Consistent-ish loads sounds like something upstream would want indeed?
The changes made are specific to Unity engine, and are the following: * Specific threads are identified as coming from the Unity thread pool that does async stuff (used by Unity's coroutines). The main thread is paused as long as one of those threads are still processing. One of the current problem is that libtas cannot identify those threads easily, because Unity is in C#, so code is JIT and internals are inaccessible. The solution I found to detect those threads is comparing their identifier (defined as pointer-to-thread-routine - pointer-to-caller) to a known list of identifiers (those are constant across instances and computer, but change for each version of the Unity engine used). This is very hacky, but addressed the issue. That's how it looks like in libtas code:
bool isWaitThread = (thread->routine_id == -12625) || (thread->routine_id == -12493) || (thread->routine_id == 1236) ||
                        (thread->routine_id == -9535) || (thread->routine_id == -9456) || (thread->routine_id == 801) || (thread->routine_id == 777);
* Sleep calls with a specific value of 2000 us are discarded as they occur on some situations when main thread is waiting for another thread. I could merge those into libtas main branch, but they would still look hacky unless I could figure out how to better get into Unity's internals.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Version 1.4.2 is out. Lua support was added, and input editor was improved. See the full changelog.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
libTAS does not support using a joystick as an input device. Only keyboard/mouse is supported, and you can bind keys to joystick inputs in the input mapping window.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
fsvgm777 wrote:
EDIT: So....I can't get it to sync at all. clock_gettime() gets set again if I run the movie file, even if I uncheck it. Running with it unchecked causes it to not run at all. Doesn't matter if the game's on windowed or fullscreen. It desyncs around the third stage. I'm running libTAS with the "~/.steam/bin/steam-runtime/run.sh libTAS" command, as a note.
Did you remove all files created by the game (in "~/.config/FlywrenchStudio/") ?
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
Hotkeys seem like a much better solution, if it is fine modifying PCem even more for TASing
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I could try fixing libTAS to allow right click to be used on PCem. However, that will look a bit awkward. Until then, using libTAS + PCem was equivalent to bringing TAS tools to PCem. but with CD swap, you would need to make mouse inputs to bring up the contextual menu and browse through it to change the cd. It means it takes some actual frames to do that. So it becomes TASing an emulator and not TASing an emulated game, which has some consequences with TAS length I guess (does PCem pauses when the contextual menu is opened?) There could also be some desyncs regarding where the contextual menu will appear, and I guess the contextual menu won't be part of the encode. So that raises several issues actually.
keylie
He/Him
Editor, Emulator Coder, Experienced Forum User, Published Author, Expert player (2826)
Joined: 3/17/2013
Posts: 391
I'm not sure I'll work on it tbh
1 2
15 16