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.
Files:
HDD, 16 tracks, 63 sectors, 16 sides.
Timestamp | MD5 | Size | Filename |
---|
19900101000000 | eeca13109c381afef6584d78daaccab2 | 7976 | ADL.DRV |
19900101000000 | 57a3da77af2b48851cf048e5752695fb | 2049 | CGA320M.DRV |
19900101000000 | 4b5bd8739e73f44ce5562b93b2723287 | 3734 | CMS.DRV |
19900101000000 | d80d8207b80d8d108c749a2d5629cb15 | 3273 | EGA320.DRV |
19900101000000 | 61f35eec8998802abe2118b26e0c9cfa | 574 | EXISTS.COM |
19900101000000 | 4ff2dc339352972581da584cc0a8d2f1 | 1782 | FONT.000 |
19900101000000 | 28d7efe8c850bfb52231fc58567e25cc | 507 | GODIR.COM |
19900101000000 | 2bc97203eb593636d0271569e3c01f92 | 2212 | HERCMONO.DRV |
19900101000000 | fdf344726b857a44934eb14dd0d37c59 | 449 | IBMKBD.DRV |
19900101000000 | 121983ae1b4df7c47986bd32f5790ab3 | 4354 | IBMPS1.DRV |
19900101000000 | 7271fb1d6430c1807584021e8d01dc58 | 13355 | INST.EXE |
19900101000000 | 20aeb5df74627a17202ff290925f5f1c | 2169 | INSTALL.BAT |
19900101000000 | e152f2bce8445fa4fba255d1668b8416 | 6464 | INSTALL.HLP |
19900101000000 | 549c24a94d6a602591909039f4bd9ac7 | 727 | INSTGAME.BAT |
19900101000000 | c75b73974160ff652a909a0d01f97214 | 607 | JOYSTICK.DRV |
19900101000000 | 3a24c298a2d77b07d9459ba89d9bf375 | 2745 | MCGA320.DRV |
19900101000000 | 1216bb30f321c652909aa1c2239dd7d4 | 1989 | MT32.DRV |
19900101000000 | fe18a816a08c89f245f9143642bf84eb | 212119 | RESOURCE.000 |
19900101000000 | 733686eea71255794a9762f683ac789f | 867866 | RESOURCE.001 |
19900101000000 | 3d5223fd488fb04025ba3199485a0756 | 790750 | RESOURCE.002 |
19900101000000 | f0544e220e3a5b66df2070d9638527b4 | 972804 | RESOURCE.003 |
19900101000000 | 7cb86c2af9399b81a1f796a6b07aeeb3 | 983617 | RESOURCE.004 |
19900101000000 | f961b3028d27f36b778e10bfd78e3da0 | 79 | RESOURCE.CFG |
19900101000000 | 06d0cb2c9496d7d4494b0f37f2c6c4c2 | 6906 | RESOURCE.MAP |
19900101000000 | 2a20c5077e59902e84f26982b502c10a | 59150 | SCIV.EXE |
19900101000000 | 48e6faeb6af8e540fed0523f17ec4c0d | 538 | SIERRA.COM |
19900101000000 | 7ed06259b381a75fe4e761e4bbeb963d | 9672 | SNDBLAST.DRV |
19900101000000 | c645587408e33998e9fc6f51be4ee639 | 500 | SPACE.COM |
19900101000000 | 380f442686174ae0282b851ac4c1e765 | 1448 | STD.DRV |
19900101000000 | f70edf481b1a320fd10190fe041c29cc | 4429 | TANDY.DRV |
19900101000000 | 3e0716270e0953a5a64c95a9765b9c9f | 2999 | TANDY320.DRV |
19900101000000 | bf2856d43f4bc063fe20820651dc1657 | 3893 | TANDY3V.DRV |
19900101000000 | da0e7a40996a64224d918069ef8adea9 | 476 | TANDYKBD.DRV |
19900101000000 | 04a413f79a5e15bcad59ae5d39824694 | 10 | TRIAL.BAT |
19900101000000 | d4129050848dc8628e43b64ac751a28e | 900 | TSTDRIVE.EXE |
19900101000000 | 26913b564c71d9fb7f83e0f4f165d999 | 7 | VERSION |
19900101000000 | 5511c133471681cab70295d860be96c4 | 2449 | VOCAB.913 |
19900101000000 | 1d3beaac41d0d09790a47c8dc1cadf85 | 112 | VOCAB.994 |
19900101000000 | b99b2ceac1a672c6e4785b48d6dc11be | 609 | VOCAB.995 |
19900101000000 | f230096194cc9791737b634b36ac7980 | 590 | VOCAB.996 |
19900101000000 | e501f7de3c7a3b68d6d11f0b965b6697 | 8339 | VOCAB.997 |
19900101000000 | 0ef7f63b24dfe1bbeea28e2f8ede90d6 | 1229 | VOCAB.998 |
19900101000000 | df638320d85ee4029e6c3d62b86f7043 | 1148 | VOCAB.999 |
19900101000000 | e6a4bd8b2f3391791797d4a372c0a7ab | 27 | _HDTRIAL.BAT |
19900101000000 | d7d2d88a7695db8e0f39bd81cd7eec9f | 1071 | __INSTH.BAT |
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.