eien86
He/Him
Judge, Skilled player (1881)
Joined: 3/21/2021
Posts: 262
Location: Switzerland
Through the last few years I found there are a lot of ports/emus/vm/source to allow you to play specific games (not a console) if you provide the copy-protected files/ROMs. Here are a few examples:
  • SDLPoP, an open-source disassembly of the Apple II and DOS Prince of Persia binaries. I used this one to produce [5206] DOS Prince of Persia by eien86 in 13:59.15 on LibTAS+PCem so I know it's a faithful representation of the original game.
  • NEO-RAW, an open source implementation of the Another World virtual machine. This VM allowed the game being ported to so many system. I used this VM to produce [5296] DOS Out of This World by eien86 in 09:56.54 on LibTAS+PCem
  • C++ Mario. A disassembly of the SMB NES code into C++ for native emulation of this game in particular. I've been experimenting with this one and it's pretty much faithful to the emulated game.
  • Plethora of Doom Ports which reproduce vanilla Doom demos 1:1
I'm pretty sure there are many many more. After my recent (brief) experience working on updating/adding emulators to BizHawk, I know for sure I can port SDLPoP and NEO-RAW into it without a problem. So I wonder if adding these type of emulators could ever be considered for submission or simply to enable glitch-hunters use re-record capabilities to route a specific game. Opening a poll for opinions. Also written feedback is highly appreciated.
CoolHandMike
He/Him
Editor, Judge, Experienced player (897)
Joined: 3/9/2019
Posts: 729
How can we make sure each of them is accurate? Also bringing game specific ones into Bizhawk sounds interesting, because then it would have all the tas tools.
discord: CoolHandMike#0352
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
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.
Dimon12321
He/Him
Editor, Reviewer, Experienced player (597)
Joined: 4/5/2014
Posts: 1228
Location: Romania
CoolHandMike wrote:
How can we make sure each of them is accurate?
The topic is definitely related to enhancing the possibility to TAS distinct games. My personal opinion: let's value the presence of TASes higher than possible inaccuracies of source ports, re-ports and disassembles. If some unofficial port of a game is TASed, then OK, why not? Then, an official version of the game is TASed - great, it can definitely obsolete the previous submission or the former TAS can be moved to alternative publications. What about Bizhawk. Since it already handles multiple emulators, its architecture, I'm sure, is quite complicated already. It makes sense to take the path of GBAHawk then, and have only special "cores" to launch individual games in the way you provide. Vanilla Doom source ports are already accepted. There are two main source ports to build actual frame-by-frame TAS demos: - XDRE - for Doom itself and some other "standartized" source ports (compatibilities), like Boom and MBF. - DSDA-Doom - for Doom, Heretic and Hexen games, and also Boom, MBF and MBF21. All this is thanks to Doom engine's native way of replay provision which technically never goes out of sync, unless you edit demo header. Vanilla Doom, Heretic and Hexen demos can be played back on real DOS machines and not rely on specific hardware.
TASing is like making a film: only the best takes are shown in the final movie.
YoshiRulz
Any
Editor, Emulator Coder
Joined: 8/30/2020
Posts: 111
Location: Sydney, Australia
I've always thought of Doom re-implementations (in the TASing context; obviously there are enhancements for modders) as incredibly sophisticated tools rather than as emulators, though that's just a semantic distinction. Consider the TTYD plane flight optimiser: it only covers 1 of the game's mechanics, whereas something like GZDoom covers every part of Doom, but in my mind they're analogous. If you take Prince of Persia for the Apple ][, then unless you have a virtual machine interpreting or otherwise translating 6502 instructions into host machine code, I wouldn't consider that emulation. So while I'm sure engine re-implementations would be useful for TASers, and can't think of a reason not to include them in BizHawk apart from bloat, I'm of the opinion that movies which only sync in them shouldn't be accepted. A movie ought to sync in a reasonably-accurate emulator for the relevant system, or better yet, on extant hardware.
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.