Posts for Pooter

Experienced Forum User
Joined: 8/18/2020
Posts: 7
DrD2k9 wrote:
Something else to consider with TASing a DOS game for TASvideos.org is that some DOS games need to be run at native CPU speeds in order to be eligible for publication. Here is the pertinent rule. In the youtube video linked above, DOSBox is set to Maximum 100% cycles for CPU speed. This means that the emulated CPU may be running faster than a CPU that was actually available at the time of the game's release. This could potentially be allowing for faster movement/actions in-game than could have been done on a proper era CPU. All that said, it's possible that a JPC-rr TAS could match or even be faster than the video posted. Primarily, the RNG would be knowable and the inputs could be planned in order to eliminate any time loss from unknown RNG events. Also, it may be possible to manipulate the RNG; either through altered input or possibly by altering the emulated real time clock settings (as has been done in other DOS games published here). Further, JPC-rr (with TAScript) allows for sub-millisecond precision with inputs, which may provide opportunity for an even faster run. Sadly, I don't know of a way to convert what you have to a JPC-rr movie/input file. To TAS this game in a way that would be publishable using JPC-rr would likely require a complete redo.
I don't see a frequency divider in dosbox, and even if I did, since I'm not currently competing against anyone I'm only really interested in getting the absolute number lower. I was mostly interested in the technical aspects of making the TAS. Just recording one using someone else's program didn't really interest me much. Even now most of what I'm doing to cut down on time is improvements to the software rather than the script. I suppose I could argue that I'm actually TASing the GoG version of the game that comes from the publisher on Dosbox instead of the original game.
Experienced Forum User
Joined: 8/18/2020
Posts: 7
CoolHandMike wrote:
Pooter wrote:
Turns out, if you turn off sound, the game plays significantly faster. Between that and speeding up timings around the bomb, arming the drones, and a few other small places. This results in a 4:58.150 world record. I could probably cut it down a few more seconds, but will be in a few days. https://www.youtube.com/watch?v=UkwTuL4IETg
Hello. DOS runs are pretty rare so started reading. One thing you may want to consider is to ask a judge about whether to have the sound on or off. If you intend on tasing it that is.
I did it with an ingame option rather than a dosbox config, I would generally consider that to be allowable just like lowering the graphics settings in a windows game.
Experienced Forum User
Joined: 8/18/2020
Posts: 7
The problem with that is rng. There's 3 points where I have to account for some randomness in the game. At several points I'm watching the screen waiting for the result of the combat to be over. I don't know exactly when it would happen, but instead I'm reacting to it happening. There's also a place where I don't know the exact location of an item on the screen, there's a special command that searches the screen for the target in order to click on it. Finally at the bomb part I wait until the bomb goes off, which depends on how long the earlier parts of the run took. If I was able to deal with the rng then it could be done.
Experienced Forum User
Joined: 8/18/2020
Posts: 7
Turns out, if you turn off sound, the game plays significantly faster. Between that and speeding up timings around the bomb, arming the drones, and a few other small places. This results in a 4:58.150 world record. I could probably cut it down a few more seconds, but will be in a few days. https://www.youtube.com/watch?v=UkwTuL4IETg
Post subject: Mission Critical
Experienced Forum User
Joined: 8/18/2020
Posts: 7
Mission Critical was a 1995 DOS puzzle game, with gameplay similar to Myst, but with a sci-fi setting. It has a special place in my heart, since I played it sitting on my father's lap. Two years ago I wrote a tool to TAS it and then I kinda forgot about it. My TAS isn't a traditional frame based TAS, since I didn't know that frame tools existed for DOS. It waits a fixed number of milliseconds between different types of actions (usually between 20 and 100) and has the ability to pause waiting for the screen to match a picture taking during recording. These images can also have sections that are ignored (there's some animations that won't match between runs). It also has control over the mouse. Recording for it isn't the most elegant, since you have to move the mouse using the keyboard, but can take the images it needs to match against later. It's set to run against the GOG game version, since it doesn't have disc swapping. It also requires a special set of mappings from keyboard to DOSbox, but that can be done away with if needed. The mappings are because I needed controls for the TAS, and they conflicted with the controls for the game. https://github.com/Raptoer/HypeTas is the repository, and includes the input files (.dat files) and the image files it uses. https://www.youtube.com/watch?v=8Muz4attuQE is an example video running with the tool showing what it's doing in the background. https://www.youtube.com/watch?v=aqZBM5Dxd3w is currently my best run, at 5:48.50. https://www.youtube.com/watch?v=BbSNQHGxSbM is a bit of a commentary on it as it runs. This one will especially spoil the game, and it's a darn good game. Sadly it doesn't use any TAS only tricks, nor any glitches. It just plays it very quick. For improvement I see a few possible areas 1) Technical improvements to the tool, making the screen checking faster. Currently it takes 17ms to take the image from the game and compare it to the reference image. It checks ~1300 images, so each ms removed could be ~20 seconds off the time. 2) Make the timings tighter. There's fixed timings in a number of places. This increases the chances of the game not registering an input. These add up to about 45 seconds total. 3) Routing improvements. I can't think of any way to do any part faster, or else I would have done it. I've tried sequence breaking in a few places, only for the game to be too smart for that. 4) Random chance. For the combat section there's a bit of RNG that I don't really control. 5) Figuring out how to remove the 2 inexplicable pauses (see commentary) 6) Removing image checks. I think there's places that I use image checks that are unnecessary. Removing these could cause a minor speed up. Let me know what you guys think! Thanks, Pooter
Experienced Forum User
Joined: 8/18/2020
Posts: 7
I suppose that partially answers my questions, though it's not exactly applicable since I actually do have an input file. (now granted it's actually like 10 input files and ~400 images, but the point stands).
Post subject: A few questions about using a non-traditional TAS
Experienced Forum User
Joined: 8/18/2020
Posts: 7
So two years ago I wrote my own tool to TAS a DOS game which was an old favorite of mine, Mission Critical. Not knowing that TAS tools existed for DOS games I wrote my own and TASed the game. I then read that there were rules here for the videos that get posted here and lost interest. Recently I've regained interest and want to see what changes I have to make in order to get it possibly accepted. Since I didn't know about frame systems for DOS I instead used a combination of timings and screen reading to issue commands at the right time (and place, since there are some random elements). Considering it was originally a CD based game I wasn't sure that a frame system would work anyways. https://github.com/Raptoer/HypeTas is the code, though it's not exactly simple to run. Right now it runs on windows with the GOG version of the game https://www.gog.com/game/mission_critical . The GOG version removes the need for disc changes and comes with DOSbox bundled in. It needs some custom bindings in dosbox, but that could be removed (my controls for controlling the TAS tool overlapped with controls that I needed for the game, so I remapped the controls the game needed). https://www.youtube.com/watch?v=8Muz4attuQE is an example of it running with the commands being issued alongside, though it is not my fastest run. (warning, it's a puzzle game, if you like 90's puzzle games somewhat similar to myst, go play it first) Considering I wrote my own tool, is there anything special I need to do for my submission? I might be able to convert it to use JPC-RR, but none of the tools it provides are useful to me since I don't use frame timings and I don't have the original discs anymore to get images for JPC-RR to use. Any suggestions or questions would be welcome Thanks