Submission #6134: c-square's DOS Quest for Glory II: Trial by Fire in 08:58.98

DOS
baseline
JPC-rr 11.2
32339
60
6518
Unknown
Sierra.com
Submitted by c-square on 10/28/2018 6:24:27 AM
Submission Comments

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.
Last Edited by on 1/1/2022 6:13 PM
Page History Latest diff List referrers