I've had a couple of questions regarding Hourglass TASes that I assume I can post here:
I've just finished a "Score Attack" TAS of Touhou Kaikidan ~ Mystic Square that I would like to submit. I've read through the movie rules, but there's a couple of things I haven't been able to confirm.
My TAS uses Hourglass r81 to record and play back inputs from another emulator (Neko Project 21). This is because the game runs on the NEC PC-98 for which (to my knowledge) there's no emulators that support TAS recording tools. Now I don't know how this site treats TAS submissions like this, where you use a TAS program to record another emulator. And for that matter, is this allowed? This site also doesn't seem to have any console section or existing TASes for the PC-98.
Since the game in question runs on a PC-98, the framerate is also somewhat unusual. The game runs at 56.4 frames per second. I'm not sure if this would in any way be problematic for the judging/encoding process.
I do have a couple more technical things about my TAS I want to ask/mention, but I'll save those for when I'm relatively sure this TAS is allowed to be submitted.
I hope someone can shed some light on this for me. The TAS in question does have a video here, for reference:
Link to video
Joined: 7/15/2021
Posts: 112
Location: United States
Have you considered using libTAS + WINE instead? (That is, run Neko Project in libTAS, and libTAS will automatically run it through WINE so it can run on Linux). Hourglass is one of those tools that are 'Accepted but not preferred' due to various reasons. (And yes, libTAS + WINE is not listed as being officially supported, but just like libTAS + Ruffle before the first published Flash movie, if it syncs and can be reproduced reliably then there's no reason to not accept it.)
Yes, this is allowed. We have [4634] Flash Super Smash Flash "Adventure Mode" by ikuyo in 02:28.87, which runs a Flash game inside Ruffle (a Flash emulator) being TASed by libTAS (a Linux TAS tool). Not to mention other cases like PCem being TASed in libTAS.
This isn't a problem at all. We have several different games with odd framerates like that. [4588] Linux VVVVVV "game end glitch" by InfoTeddy in 02:55.81 is a game that runs at 1000/34 FPS ≈ 29.4117 FPS.
I’m not a judge, but I’m pretty sure the biggest question is if it syncs consistently enough on other people’s computers.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
I did realize that libTAS is a thing during the making of this TAS, but I honestly don't have the faintest idea about how this tool works. I don't have a Linux device either, so I dismissed trying to do anything with it. When I use Hourglass with Neko Project, not once did I run into desyncing issues, so on that end it should be fine. There are a couple of little things that may require some editing to whoever would encode the TAS recording. If there is a problem there, I may wanna try to figure out what I can do with libTAS (provided it's compatible with Hourglass' file format because I'm not redoing the TAS itself).
Joined: 4/17/2010
Posts: 11477
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
The run looks well done, and the idea to TAS an emulator using Hourglass is very unexpected, but it's what we do with libTAS officially, so adding support for PC98 should not become a problem I guess?
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.
OH MY GOD YES! ABSOLUTELY YES!
...ahem, now that I got that out of my way...
Considering this is essentially what we do for libTAS and certain emulators (PCem, Ruffle) as well as ScummVM, I'd say it's fair game here as well. The only thing is that the emulator settings should be provided, as Neko Project 21 allows for multiple configurations (e.g. sound module, RAM size, CPU speed, etc.).
Joined: 7/15/2021
Posts: 112
Location: United States
It works just like Hourglass, except it runs on Linux and it's much, much more reliable.
It sounds like you think Linux devices are some sort of special sub-category of desktop computers, but they aren't. You can just install Linux on your computer. It's an operating system just like Windows (except better).
But you don't even need to install and boot into it natively. You can install it in a virtual machine, or better yet, install Windows Subsystem for Linux (WSL), which basically lets you run Linux applications on your Windows machine without even needing a VM. There's even a guide to use libTAS with WSL, it's a pretty popular option.
If I remember correctly, the problems with Hourglass are that it's prone to crashing and has audio dumping issues. Oh, and that you need to run it on Windows XP (i.e. an outdated, unsupported, insecure operating system). But I digress. Really the biggest problem is that it's running on an operating system actively hostile to debugging of the caliber Hourglass needs and intentionally lies to userspace, whereas Linux doesn't have this handicap from the get-go.
Depending on what you're talking about, this might not even require editing the movie in any way. But you would need to be more specific here.
Well, .wtf (Windows TAS file) and .ltm (Linux TAS movie) are two completely different file formats. But in theory it should be possible to write a converter between the two (though it will be a bit annoying because Hourglass made the sub-par decision to be a binary file format, whereas libTAS uses plaintext which is better).
I thought it's best for a forum post to not get into the specific potential issues until I make a submission, but the short of it is that when I play back the recording, there's some stuttering going on which may just be on my end. And then there's one specific frame where the menu bar of the emulator activates and freezes the game until you click the window of the emulator. This was accidentally left in and from my attempts to tinker with the wtf-file I couldn't remove this freeze without either desyncing the TAS or Hourglass failing to read the file at all.
Sadly I'm no programmer, so I think for the time being I will just try to prepare a submission and see if it can be processed. It seems the syncing is most of what matters, judging by what others have said so far.
Joined: 5/22/2020
Posts: 197
Location: Chennai, India
Assuming libTAS + wine require the exact same inputs frame by frame, it shouldn't be hard to write a converter at all! Sounds like a useful script to have in general as well.
Edit:
So I created this - https://github.com/GMPranav/wtf2ltm
The keycode formats are a mess, so some of the keycodes might been missed, but I am pretty sure I accounted for atleast all the keys I can see on my laptop keyboard.