Posts for c-square


Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
I've been looking forward to this submission for quite a while. What an amazingly high quality TAS, especially considering it's your first one here! One "Hell yes!" vote from me. :)
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Personman wrote:
I am extremely entertained by this on many levels. Seeing the minutiae of the parser explored to this level is very interesting to me, and even watching the fast encode was neat in that it gave me a sense of the fundamental size of a solution to the game.
Hurray! I'm always glad to know others find this kind of thing interesting.
Personman wrote:
One question I have is, what factors determine the speed of text output? Does it matter what CPU or display resources are available to the DOS VM? Given that tradeoffs are being made with input size, it would be nice to know the actual values too – how much time per input keystroke, and how much time per output character (or is it per output line?).
I'm sure changing the CPUDivider (increasing the CPU clock speed) would have a direct impact on the speed of entry and text display. I'm not quite sure what you mean by "display resources", but I doubt emulating a CGA monitor as opposed to a VGA monitor would make any difference. As for exact values, an input keystroke takes exactly 0.66666 ms to enter, or roughly 4.8% of a frame. Put another way, you can type a maximum of 21 keys per frame. Certain keystrokes (such as the arrow keys) take twice as long, so alternates should be used if possible when making a TAS. How long it takes for the game to register the keystroke depends on the game. In this game, each key takes 1.3 ms to register, meaning approximately 11 characters can be registered per frame. How fast the game outputs descriptions is variable. There seems to be a certain amount of time to process a command, followed by anywhere between 1 and 5 lines of output per frame. If you go past a full screen of descriptions, there's a one frame pause to clear the "[MORE]" message. Stopping to set up for the next input also takes up part of a frame. In the end, I can see an argument that saving a few lines of descriptions may be worth a few more input letters, but there doesn't seem to be an exact measurement as to where that boundary lies.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Ah. A broken game gets even more broken. Yes vote!
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
When creating a TAS aimed at the vault, does spending frames to enter a character name count against the "fastest completion" criteria? Or to put it another way, can a vaulted run be obsoleted by a faster run wherein the only savings are not spending time entering a name?
Post subject: Re: Second-draft TAS (77 frames saved)
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Wow! Well done. I'm really impressed with all the work you've put into this, and how you're squeezing every last frame from it. Your lua-fu is especially strong, and puts mine to shame. I think I'm going to copy some of your code for runs in the future. ;)
Sand wrote:
So at frame X−2 you might insert some padding inputs at the start of the frame before the input you want: Up Up Up Up Up Up Up Up Up Up Right, and sometimes this works.
At the normal CPU divider, frames are roughly 14 ms long. However, inputs often register at many intervals during those 14 ms. I had to do the same thing with the cd-man TAS, often padding input with space bar to try and position my directional input exactly where I wanted it. TASScript allows you to precisely define your input down to the sub-millisecond, avoiding the need for padding inputs. However, since you only need to do this at the start of a few stages, it may not be worth switching emulator versions just for that. On the other hand, if you want to avoid having to redo the entire TAS all over again, it may well be worth giving it a try. Another thing to keep in mind is that the directional arrows take twice as long to register in JPC-rr than other keys. There may be some tiny savings by using the number pad or other key input instead of the arrow keys. Still eagerly awaiting the submission!
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
FractalFusion wrote:
Personally, I'd just dump the contents of the entire console input/output as text.
Is that doable? If someone tells me how, I'll export the console and post it.
On the other hand, if we look at, say, CD-Man, I don't see this kind of complexity; the only thing I am left admiring is the author's apparent masochism.
Ha ha ha! Yes, that was certainly a painful exercise. But even that would now be a lot easier with TASScript. :)
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Warp wrote:
If there was an award for the least entertaining TAS, this might be a major contender. (Of course it's not the author's fault. It's the game's fault. Text-based adventure games, with zero pictures, don't make for entertaining TASes.)
I agree that, for those with no experience with the game, this has zero entertainment value (and I’ve been pleasantly surprised at how many yes votes this TAS has actually received). That said, there have been many submissions over the years that have had negative entertainment value, or have been painfully sub-optimal, and I think those would be better contenders for the award.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Hopper262 wrote:
In the versions I've played, including the online one, only the first six letters of a word are examined by the parser. This means you can type "satche" instead of "satchel", for instance. 11 keystrokes are used on words longer than this limit. EDIT: Nope, this trick doesn't work on this submission's executable. It does mean an earlier release might be faster, depending on luck manipulation.
Yup, you beat me to it. I tried that and it didn't work for the version I had, but someone could possibly obsolete this run using an earlier version. Also, at least one other version mixes up the second verse of the poem, making the shortest word "thou" instead of "Bleem", saving a keystroke there too.
Hopper262 wrote:
I'm curious about the time needed to type vs. waiting for lines. Playing along with the TAS, I notice you "get gown" instead of "get all" which spends one character to save several lines of output, so you presumably didn't go strictly for minimum character count.
Good catch. Yes, in this case it's clear it's worth spending the extra character to type "gown". Get all has you try to get the screwdriver, the toothbrush and the telephone, each with a description about how you can't get them.
Hopper262 wrote:
In the pub area, you could sacrifice two keystrokes to skip one wait turn, which might be worth it depending on the time and how luck manipulation works. (You can buy the sandwich instead of "z" before "sip", but you have to type "cheese" instead of "it" at the dog.)
That was a conscious choice to avoid having to type out "cheese" again, but I didn't take into account the extra two characters for the wait. You're right, it's possible typing the two extra characters may be faster than the extra turn waiting.
Hopper262 wrote:
EDIT: If turns are instead faster than typing, you can wait twice to automatically ask Ford about your home.
For this one, I think we can certainly say yours is faster. For some reason I was under the impression you got points for asking about your home, but it turns out that's not the case.
Hopper262 wrote:
Perhaps these fall under "too many of these situations to test out", but I wonder what routing improvements may be lurking.
I have a feeling there are a bunch of small improvements to be found in here. Unfortunately, I don't have time currently to hunt them out or make the updates. However, TASScript makes it pretty easy to make the updates, so you or anyone else is very welcome to take the existing script and make improvements! I'll be happy to give pointers.
Hopper262 wrote:
Thanks for making and sharing this!
You're quite welcome! I'm hoping this is just the first of more to come.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
I also compared a few levels of this with the existing publication, and this one just isn't up to par with the existing one. Still, I appreciate the work that went in to this, and I hope you can take that experience and apply it to another game.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
I love pacifist runs, and this one didn't disappoint. Yes vote all the way!
Post subject: Rise from the grave, thread.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Small correction: Quest for Glory II VGA remake in (0:11:33) is a windows game, not a DOS game.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Added a link to the TASScript for those who want to see the inputs. Thanks for the comments and votes, everyone!
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Fun run, thanks for making it. LOL'ed at the water "fall", and boating backwards. Yes vote!
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
You're quite welcome, Svimmer. I tried running the demo in JPC-rr and got an Missing Operation IllegalStateException. That's using JPC-rr 11.2, it's possible it's supported in a later version. I hope someone more knowledgeable about these sorts of things can help figure this out, and make your wish for an AitD TAS a reality!
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
I tried running the Alone in the Dark demo in JPC-rr and got the following error:
Object in invalid state for operation (Missing Operation: 0xfeb)
writeOperation of org.jpc.emulator.memory.codeblock.optimised.RealModeUDecoder <RealModeUDecoder>
decodeOpcode of org.jpc.emulator.memory.codeblock.optimised.RealModeUDecoder <RealModeUDecoder>
decode of org.jpc.emulator.memory.codeblock.optimised.RealModeUDecoder <RealModeUDecoder>
getNext of org.jpc.emulator.memory.codeblock.optimised.RealModeUDecoder <RealModeUDecoder>
buildCodeBlockBuffers of org.jpc.emulator.memory.codeblock.optimised.OptimisedCompiler <OptimisedCompiler>
getRealModeCodeBlock of org.jpc.emulator.memory.codeblock.optimised.OptimisedCompiler <OptimisedCompiler>
getRealModeCodeBlock of org.jpc.emulator.memory.codeblock.DefaultCodeBlockFactory <DefaultCodeBlockFactory>
tryRealModeFactory of org.jpc.emulator.memory.codeblock.CodeBlockManager <CodeBlockManager>
getRealModeCodeBlockAt of org.jpc.emulator.memory.codeblock.CodeBlockManager <CodeBlockManager>
executeReal of org.jpc.emulator.memory.LazyCodeBlockMemory <LazyCodeBlockMemory>
executeReal of org.jpc.emulator.memory.PhysicalAddressSpace <PhysicalAddressSpace>
executeReal of org.jpc.emulator.PC <PC>
execute of org.jpc.emulator.PC <PC>
main of org.jpc.plugins.PCControl <PCControl>
run of org.jpc.pluginsbase.Plugins$PluginThread <Plugins>
It runs fine in DosBox. More investigation is needed to figure out why JPC-rr is throwing the error, but this at least gives someone a place to start from.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
FYI, just updated the download link with a new version that fixes a few null pointer bugs and an export bug.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
Typing 'N W' will go north then west. (it may require a comma between commands 'N, W' )
I can confirm this works (with commas)
DrD2k9 wrote:
I believe you can even do room actions within a stream of direction commands. 'N W Pickup X E E S'
This only works up to the pickup part. For example, the first commands in the game chain like this "N,N,U,GET EGG" and that works. But this gives an error: "N,N,U, GET EGG,D"
DrD2k9 wrote:
EDIT 2: I'd be willing to help if you want to collaborate.
Sounds great! FYI, if we have to do much RNG digging, my part may have to wait until the new year, as my free time is very limited right now.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
Happy to have the help! It looks like I might have bitten off more than I can chew. There’s a bunch of things that have to go just right on the run (killing the Troll in one hit, getting the egg stolen early, not getting hurt by the thief x2, having candles blown out on one particular move) that it’s going to take a lot of work finding the right starting clock time to set the RNG properly.
Post subject: Rise from the grave, Zork thread.
Active player, Experienced Forum User, Published Author (372)
Joined: 9/25/2011
Posts: 652
I'm doing a Zork I run (yes, really!), specifically a 100% run aiming for vault. One big question I have, though is: What's the end screen for this game? I could pull up the score screen after hitting a score of 350 to show that I've achieved 100%, but that still leaves a few screens untraversed in the game. Since they don't count for score, one could argue that they aren't really needed to "beat" the game. Alternatively, I could end after it dumps you to the command prompt, but it would make for a very confusing and even less entertaining run, and there'd be no easy way for viewers to verify that 100% was actually reached. On a separate topic, I don't see any specific glitches that will help me out in this run, though feel free to suggest.
Active player, Experienced Forum User, Published Author (372)
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.
Active player, Experienced Forum User, Published Author (372)
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.
Active player, Experienced Forum User, Published Author (372)
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).
Active player, Experienced Forum User, Published Author (372)
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.
Active player, Experienced Forum User, Published Author (372)
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, Experienced Forum User, Published Author (372)
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. :)