Summary

It's one small step for a DOS TAS, one giant leap for DOS TASsing.

Introduction

This submission is a 9.7 second improvement to my previous submission, mostly from some optimized inputs and better choice of character class. More importantly, however, this TAS was done entirely using TASScript 2.0, a new custom upgrade I made to JPC-rr which finally provides reasonable refactoring functionality to the emulator, among other significant advantages.

Encodes

There are two encodes. The first one cuts out two long and boring waits in Raseir. Probably the one to watch unless you're really interested in details of the screen transition time nudges.
The second is the full encode, for those who want to manage the waits themselves (or just watch them).
Also, I've added a HUD to each to show what's going on with the game clock, where it's important.


Game objectives

  • To become a Hero! (again)
  • Plays on Hardest Difficulty
  • Aims for fastest time
  • Contains Speed/Entertainment Trade-offs
  • Emulator used: JPC-rr 11.2 (Modified with TASScript 2.0)
  • Game Version 1.102

TAS Details

My previous submission text has all the major details of the tricks used to skip the elementals, manipulate in-game time, as well as the speed/entertainment trade-off in the run. I won't repeat those here and just list the improvements.

Improvements

Choosing the Right Character Class

In my previous run, I wasted time by choosing a thief and giving him magic, whereas a basic wizard's stats are more than enough to finish the game. This was probably the most embarrassing mistake in my first run and I'm glad to have it fixed, saving 0.3 seconds.

Noun Stacking

A nice feature of this version of the Sierra Creative Interpreter is that it only reads the first verb and the last noun you enter. This allows you to use the same verb more than once for different nouns by stacking the nouns. For example, you can "Buy Lamp" to purchase the lamp and then hit <F3> to bring up "Buy Lamp" again and add "Map" to the end of it to purchase the Map. If you wanted to, you could then "Buy Lamp Map Incense" to get the incense and so forth. Seeing as any time you type a key costs 0.1 seconds, eliminating unnecessary typing can add up to big savings fast.

Click to Submit

Speaking of eliminating unnecessary typing, you can submit your command by clicking on the text input box instead of typing Enter. Since clicking is instantaneous compared to the 0.1 seconds to hit enter, it made for a big time saver.

Command Buffering

There are three places in the run where we are just waiting for the clock to tick down. Each time, I pre-entered my next command so that I could then recall it later with a single <F3> key-hit. The trick is that the clock doesn't tick when the text input box is open, so the commands I want to buffer have to be typed in the 1 second between clock ticks.

Early Fragmentation Error

In my last run, I encountered a fragmentation error after the final boss was defeated, preventing me from ending input early. This time I sell two beards at the start of the run to trigger the error early, meaning the joke message doesn't appear when the fragmentation error happens a second time at the end of the run. Thus, I can end input a little earlier. As a side benefit, this also gives me enough money to noun-stack my purchases.

Subframe Improvements

Each frame at JPC-rr's default CPU speed is 14 milliseconds long and all the inputs in my previous submission were limited by that frame rate. The TASScript 2.0 enhancement (see below) allows for extremely precise control of inputs, down to the sub-millisecond, and I took advantage of that to optimize many of my inputs within the 14 ms frame window. There are certainly many more inputs that could be improved, however I think if I tried to sub-frame optimize every single input in this nine-minute TAS, it would never get submitted.

TASScript 2.0

I have been working on this submission for over a year in my spare time, and the majority of that time has been writing the TASScript enhancement to JPC-rr. I won't go into the details, as I have created a separate thread for that, but it feels great to submit this as proof that the refactoring limitations of JPC-rr have finally been solved. I hope that this opens up new possibilities for current DOS TASsers and lowers the complexity barrier of the emulator for new ones. If you've ever considered doing a DOS TAS, but have been concerned about the usability of the JPC-rr emulator, now is a great time to give it a try with the TASScript enhancement.
In case you're interested, here's the TASScript for this run.

Files:

HDD, 16 tracks, 63 sectors, 16 sides.
TimestampMD5SizeFilename
19900101000000eeca13109c381afef6584d78daaccab27976ADL.DRV
1990010100000057a3da77af2b48851cf048e5752695fb2049CGA320M.DRV
199001010000004b5bd8739e73f44ce5562b93b27232873734CMS.DRV
19900101000000d80d8207b80d8d108c749a2d5629cb153273EGA320.DRV
1990010100000061f35eec8998802abe2118b26e0c9cfa574EXISTS.COM
199001010000004ff2dc339352972581da584cc0a8d2f11782FONT.000
1990010100000028d7efe8c850bfb52231fc58567e25cc507GODIR.COM
199001010000002bc97203eb593636d0271569e3c01f922212HERCMONO.DRV
19900101000000fdf344726b857a44934eb14dd0d37c59449IBMKBD.DRV
19900101000000121983ae1b4df7c47986bd32f5790ab34354IBMPS1.DRV
199001010000007271fb1d6430c1807584021e8d01dc5813355INST.EXE
1990010100000020aeb5df74627a17202ff290925f5f1c2169INSTALL.BAT
19900101000000e152f2bce8445fa4fba255d1668b84166464INSTALL.HLP
19900101000000549c24a94d6a602591909039f4bd9ac7727INSTGAME.BAT
19900101000000c75b73974160ff652a909a0d01f97214607JOYSTICK.DRV
199001010000003a24c298a2d77b07d9459ba89d9bf3752745MCGA320.DRV
199001010000001216bb30f321c652909aa1c2239dd7d41989MT32.DRV
19900101000000fe18a816a08c89f245f9143642bf84eb212119RESOURCE.000
19900101000000733686eea71255794a9762f683ac789f867866RESOURCE.001
199001010000003d5223fd488fb04025ba3199485a0756790750RESOURCE.002
19900101000000f0544e220e3a5b66df2070d9638527b4972804RESOURCE.003
199001010000007cb86c2af9399b81a1f796a6b07aeeb3983617RESOURCE.004
19900101000000f961b3028d27f36b778e10bfd78e3da079RESOURCE.CFG
1990010100000006d0cb2c9496d7d4494b0f37f2c6c4c26906RESOURCE.MAP
199001010000002a20c5077e59902e84f26982b502c10a59150SCIV.EXE
1990010100000048e6faeb6af8e540fed0523f17ec4c0d538SIERRA.COM
199001010000007ed06259b381a75fe4e761e4bbeb963d9672SNDBLAST.DRV
19900101000000c645587408e33998e9fc6f51be4ee639500SPACE.COM
19900101000000380f442686174ae0282b851ac4c1e7651448STD.DRV
19900101000000f70edf481b1a320fd10190fe041c29cc4429TANDY.DRV
199001010000003e0716270e0953a5a64c95a9765b9c9f2999TANDY320.DRV
19900101000000bf2856d43f4bc063fe20820651dc16573893TANDY3V.DRV
19900101000000da0e7a40996a64224d918069ef8adea9476TANDYKBD.DRV
1990010100000004a413f79a5e15bcad59ae5d3982469410TRIAL.BAT
19900101000000d4129050848dc8628e43b64ac751a28e900TSTDRIVE.EXE
1990010100000026913b564c71d9fb7f83e0f4f165d9997VERSION
199001010000005511c133471681cab70295d860be96c42449VOCAB.913
199001010000001d3beaac41d0d09790a47c8dc1cadf85112VOCAB.994
19900101000000b99b2ceac1a672c6e4785b48d6dc11be609VOCAB.995
19900101000000f230096194cc9791737b634b36ac7980590VOCAB.996
19900101000000e501f7de3c7a3b68d6d11f0b965b66978339VOCAB.997
199001010000000ef7f63b24dfe1bbeea28e2f8ede90d61229VOCAB.998
19900101000000df638320d85ee4029e6c3d62b86f70431148VOCAB.999
19900101000000e6a4bd8b2f3391791797d4a372c0a7ab27_HDTRIAL.BAT
19900101000000d7d2d88a7695db8e0f39bd81cd7eec9f1071__INSTH.BAT

feos: Nice job with the improvements. Accepting to obsolete [3551] DOS Quest for Glory II: Trial by Fire by c-square in 09:08.70.
As for tier, it seems DOS games that we've published just don't get too high entertainment rating in general. But the current QfG2 publication is far from the bottom, so it makes sense to inherit the tier for this update.
fsvgm777: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15539
Location: 127.0.0.1
This topic is for the purpose of discussing #6134: c-square's DOS Quest for Glory II: Trial by Fire in 08:58.98
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
Well done with the improvements. I may be picking your brain on subframe inputs in the future.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
Tas By Fire!
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
Any plans to eventually do a full series run with a single character?
Previous Name: boct1584
Active player (377)
Joined: 9/25/2011
Posts: 652
boct1584 wrote:
Any plans to eventually do a full series run with a single character?
Maybe some day. First we have to finish each game individually to see how each ticks. Also, the marathon run would have to be different enough that it wouldn't look just like staking each individual TAS back-to-back. Hopefully there are some glitches in the export/import processes to exploit. :)
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
c-square wrote:
Hopefully there are some glitches in the export/import processes to exploit. :)
Yes, there are. But from a TAS perspective, you'll be finishing each game with WAY lower stats than a normal player would, which may cause problems in the next game. If any of the games have mandatory combats then you're pretty much hosed (but I think that for a wizard or thief, most or all combats are skippable).
EZGames69
He/They
Publisher, Reviewer, Expert player (4453)
Joined: 5/29/2017
Posts: 2761
Does the clock halt when you go into different rooms like back and forth into the lounge area?
[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
Active player (377)
Joined: 9/25/2011
Posts: 652
EZGames69 wrote:
Does the clock halt when you go into different rooms like back and forth into the lounge area?
Interestingly, it's actually the opposite. Every time you do a room transition, the game nudges the clock counter forward or backwards by 1 unit(=24 seconds in-game time). What determines the direction of the nudge is the current value of the clock counter. If the counter is even, it adds one to make it odd. If the counter is odd, it subtracts one to make it even. By doing room transitions when the clock counter is even, I keep nudging the clock forward towards nightfall, which ends up saving about 70 seconds over just waiting around. Of course, you can also exploit the same trick to make time stand still, by always transitioning on the odd counter numbers.
Active player (377)
Joined: 9/25/2011
Posts: 652
Radiant wrote:
If any of the games have mandatory combats then you're pretty much hosed (but I think that for a wizard or thief, most or all combats are skippable).
QFGs 1 and 2 you can get away without combat. QFG 3 has two combats that would be mandatory in a TAS. One of them you want to lose anyway, so there's no issue there, but the other one is quite a tough one, and the only way around it is to take the time to get a dispel potion (which would be way out of the way). A QFG 3 run will take some time because that combat will require substantial RNG manipulation. Until a shortcut is found in QFG 4, I think there's at least one combat that's mandatory there too.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
I'm not even sure if it's possible to RNG-manipulate those; I haven't checked the scripts but knowing Sierra the attacks are probably on a timer. It's an interesting challenge, then. I'm not sure what fight you refer to that you want to lose? We should really convince the judges that starting with the character from the previous game is a valid category for QFG (and possibly a handful of other DOS RPGs) because that's how people commonly play them.[/spoiler]
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
I could be mistaken, but I remember the QFG4 combat not relying much on the RNG*. I think the better question is if the wraith can be dealt with before it kills you from being near it without protection. *Contrast with QFG1, which I am playing through; the combat in that game (the EGA one at least) is awful
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Active player (377)
Joined: 9/25/2011
Posts: 652
Radiant wrote:
I'm not even sure if it's possible to RNG-manipulate those; I haven't checked the scripts but knowing Sierra the attacks are probably on a timer.
I hope so. That would certainly make things a lot easier.
Radiant wrote:
I'm not sure what fight you refer to that you want to lose?
The fight against your doppelganger. In that one, having super low stats would actually be a benefit, allowing you to lose faster.
Radiant wrote:
We should really convince the judges that starting with the character from the previous game is a valid category for QFG (and possibly a handful of other DOS RPGs) because that's how people commonly play them.
I agree, this is a special case where starting with the character from the previous game is a valid, and even encouraged, entry point to the game. As with any save game start TAS, it would require a verification movie. The bigger trick is somehow extracting the save file from the verification movie so you can use it (not an issue for a marathon run).
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
c-square wrote:
I agree, this is a special case where starting with the character from the previous game is a valid, and even encouraged, entry point to the game. As with any save game start TAS, it would require a verification movie. The bigger trick is somehow extracting the save file from the verification movie so you can use it (not an issue for a marathon run).
It's possible to dump a JPC drive's current status to a new disk image. So steps to extract the saved character to use in a TAS of the sequel game would be as follows. 1) Create a disk image for the first game. 2) Create a different disk image for the second game. 3) Mount both images in JPC at the same time. 4) Play through the first game to both get the saved character you want to export and create your verification movie. 5) Exit the game back to DOS within JPC 6) Copy the saved character file from game 1 drive to game 2 drive. 7) Dump game 2 drive into a new image that will now contain game 2 and the saved character from the game 1 verification movie. 8) Re-Assemble JPC mounting only the newly dumped game 2 image with the saved character and TAS as you would any game from scratch. This should work for any game that stores the save information in a separate file. Specifically for QFG: If you're wanting to continue this character all the way through the series, you have to repeat the above steps for each game; where the newly created game 2 image becomes the next game 1 image for each game transition. Where this becomes difficult is for submitting movie files. For submissions, only the game image needed for the run should be mounted. Which means a verification movie shouldn't be submitted as a run because it's got multiple disk images mounted; one of which isn't necessary for the game being played (which is against rules/guidelines that say to only have necessary files).
Active player (377)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
It's possible to dump a JPC drive's current status to a new disk image. So steps to extract the saved character to use in a TAS of the sequel game would be as follows.
That's really cool, I didn't know you could do that. You’re right, submission would be tricky. There might be differences between the verification movies and the actual runs because of the extra image being attached. Probably a marathon run is the best way to go with all four games loaded onto one image.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
With regard to stats in a marathon run, what if such a run set was a high-completion-rate goal, like "maximum points?" Would that result in enough work being done to boost stats to acceptable levels?
Previous Name: boct1584
DrD2k9
He/Him
Editor, Judge, Expert player (2210)
Joined: 8/21/2016
Posts: 1086
Location: US
The bigger question is 'can a marathon run include enough novelty to warrant a separate publication than individual runs of each game?' It may.. given that in latter games have the paladin class character possibilities. But I don't know how much the gameplay differs with the different classes. EDIT: Also, any marathon run or single game run which uses a saved character from a previous game will need to garner enough audience support for moon tier publication. Neither of those scenarios would be vault eligible.
Active player (377)
Joined: 9/25/2011
Posts: 652
A marathon 100% run would be very interesting, IMO, as there would have to be a lot of careful stat planning to avoid any grinding.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
boct1584 wrote:
With regard to stats in a marathon run, what if such a run set was a high-completion-rate goal, like "maximum points?" Would that result in enough work being done to boost stats to acceptable levels?
Probably not. Then again, a marathon run is effectively full completion of a series of games, so it would fit well with going for maximum points in each game.
DrD2k9 wrote:
But I don't know how much the gameplay differs with the different classes.
Quite a lot actually. If you go for low% then not so much, but if you go for 100% then every class has their own sidequests in addition to different approaches to a number of puzzles. For instance, in QFG2, the endgame for the wizard is a magical duel with the big bad as it tries to summon the evil djinn; the fighter's is a one-on-one combat with the big bad's enforcer, who is the finest warrior in the lands; and the rogue's is a stealth sequence that ends with assassinating the big bad from the rooftops.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15539
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [3818] DOS Quest for Glory II: Trial by Fire by c-square in 08:58.98
Joined: 2/21/2008
Posts: 255
Publication for new run's description points to an obsoleted run of Hero's Quest. There is a newer run of Hero's Quest at http://tasvideos.org/3639M.html .
"The guy was fatally injured and wants to be covered by God's tears (rain) before he dies. God is too busy to bother because it wastes frames." Frames 16:26