Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
"All Levels" might be a better descriptor of this submission when compared against the criteria you list, if using the OoB glitch would still qualify as any%. It's definitely not full completion for the reasons DrD2k9 already listed. I will also agree that the same note would belong on my submission for volume 1.
Unrelated directly to this submission, I think the Perfect Health score bonus would be required for a 100% Completion TAS despite it not being part of the recommended RTA strategy.
I don't really have an opinion on which category it would be published to. I wasn't even expecting to get the first one accepted, so if the judges would rather put this in the Vault I certainly won't complain.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
Alright, stepping through the setup to run HIMEM and skip autoexec does let me run the game, and saves a lot of startup frames. Problem one solved, 10 points to house slamo.
Running the SET BLAST in the JPC guide shows the correct settings in the GoT setblast.exe testing tool (unfortunately a separate executable, not part of the in game tools), but it doesn't actually detect the card. I'll have to put some time into testing it starting from different frames, or jiggling the I/O Delay Emulation to see if it makes any difference.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
Thanks for the tips!
Any way to catch if it detects besides dumping a video? I don't mind if that's the case, but the game has a pointlessly long intro sequence, so it'll be moderately tedious.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I've been troubleshooting my config to get started on this, and I need some guidance from those of you more knowledgeable about the inner workings of this stuff. I have two issues I want to work out before I engage with the actual TAS work.
1. Memory
With Crystal Caves, I was able to skip the config.sys and autoexec.bat and jump straight into the game. With God of Thunder, if I do this I get a message saying I need an additional 2K of memory. If I let both run, I can launch the game, but the current FreeDOS image runs the installer, so I'm guessing I should either use a different floppy image or figure out how to tweak the existing one. I tried extracting the image to edit the config.sys and autoexec.bat, but for some reason when I tried recompiling the image using 7zip it was slightly larger than a floppy image. (Also, yes, I tried just adding more memory in the JPC parameters.)
Essentially, I need some guidance on whether I should compile my own disc image (and if so, if there's a good guide on making one), or if there's more to editing the aforementioned files than extracting the image and tweaking them in a text editor before re-inserting them. If there's no alternative to just letting them run, that's fine, but obviously saving the boot frames would be nice.
2. Soundblaster compatibility
There's an old thread about SoundBlaster for GoT, but the only takeaway I got is that the game is pretty unreliable about detecting it. I noticed that the new FreeDOS image has "rem SET BLASTER=A220 I5 D1 H5 P330" in the autoexec, but even if I manually run the "set BLASTER=A220 I5 D1 H5 T6" recommended by the JPC guide, the game doesn't seem to detect it. It's bundled with a soundblaster testing tool which seems to detect it OK, but obviously if the game doesn't, then it doesn't do me much good.
Am I being sabotaged by the autoexec, or should manually running SET BLASTER correct that? Is there anything else I should do besides running multiple attempts and simply hoping that it eventually detects the card when I try to record?
I realize that you don't need sound cues in a TAS, but this game has such a great soundtrack and SFX that I consider them must-haves.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
So, this thread hasn't updated in a couple years, but having recently finished my second DOS TAS, this game was next on my wishlist of games to TAS. Should I start my own thread, or start making replies here?
I have downloaded the game, and am currently troubleshooting how to get it running, because I get a message saying I need 2K more memory (even after trying to up the memory in the JPC parameters), or I can run it without SoundBlaster emulation, which is a travesty because the in-game sounds are *hilarious*.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
The crazy thing is that while gravity is reversed, you literally cannot jump back down from those passages. It's really easy to get into that pocket and collect everything, but once you collect all the crystals, you're stuck with the Eyehopper until the power-up runs out, then you have no way to collect the ones in the middle.
Beyond that, the floating platforms have a tremendous amount of dead time where they're milling about underneath the floor, and they're never in sync or well positioned to reach a new area irrespective of what order you do the branches in. Had I been more scientific about it, there *might* be a route that saves more frames than the one I decided on, but there are enough possibilities that wouldn't be noticeably faster in casual experimentation that I settled on the path in the recording.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I'm not dead!
I had to take a break from finishing this because I was getting incredibly frustrated by this level. Then the usual day-to-day life intervened, but I decided to come back to the project with fresh eyes and finish the run.
My final product is complete!
Link to video
I'm not sure I want to submit this, though, because I'm not incredibly confident of the routing for the aforementioned level, and it might be more efficient to do the last 3 levels in reverse order from the way that I did in this recording. Whether or not it could be done better, I'd rather channel my efforts into another project than rebuild the pieces of this that could conceivably be improved.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I meant to get from the mid level up to the red level. When you jump from the platform, you don't have enough time to get to the lever, open the red door, and get back out to jump on the platform to get up to that level. If you try to catch the platform to jump up to the red level at the first opportunity, you still lose time by backtracking.
Is that clearer?
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I tried! The time spent waiting for the platform to come back up is longer than the wait for it to come down and make the jump, or the time spent repeating the run back into the corridor. Platform timing is definitely the most frustrating part of levels that include them!
The level after this one has the potential for a lot of backtracking as well, and I made a whole bunch of manual attempts to figure out the most effective route that minimized the need to go back and forth like that.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
Just a few more levels to go in volume 2, but here's my progress so far:
Link to video
This set is a lot more entertaining than the first episode; I've got a dinosaur chase sequence, rubbing noses with falling boulders, gentle nudges on deadly spikes, and... a few periods of waiting motionless for a moving platform because this game was clearly not intended for speedrunning.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
From what I can tell Crystal Caves doesn't use subpixels, but that did get me looking more closely at just pixels!
I did a little more experimentation to try out some different hypotheses. Every jump on my initial test assumed a running start; I made a save state, tried the jump, reloaded, moved forward one frame, saved, jumped, reloaded, moved, saved, jumped, etc. Using this method, I ascertained that frames from that starting position at that velocity will fail.
Next, I tried the jump from a standing position at various pixels and lacked the velocity to succeed.
So now I tested to see what exactly the rules of Mylo's velocity are. From a standing position, I continuously held the arrow key and moved 3 frames (12 F-presses) and took a snapshot of his position. Next, I reloaded the same starting position, moved one frame, released the key, passed one frame still, moved a frame, rested a frame, and moved a frame: 3 frames of movement separated by pausing. I took a snapshot. Finally, I reloaded, moved 2 frames continuously, stopped, moved one frame, and stopped. Positions 2 and 3 ended in the same spot, but position 1 stopped 2 pixels ahead.
Conclusion? My original trial testing each frame didn't test every pixel, because Mylo's full-speed movement advances more than one pixel at a time. So now I tried a series of different starting pixels, tested every frame from a running start, and finally found a frame with a successful jump.
This jump is going to be a pain in the neck if anyone wants to RTA this level. This single jump has probably tripled my re-record count.
Current progress: 5/16 levels run.
Link to video
I'm not entirely certain that the first damage boost in level 4 is the correct choice, but I'm not really sure what the most efficient method of measurement is without way more testing time than I can devote, and I can at least assess necessary damage boosts (e.g. walking through the eye beast at the end of level 4 or jumping on the spike in level 2).
Now to figure out the best routing between main map rooms, then finish the remaining levels!
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I've re-done those 2 levels (with your improvements, thanks for the feedback!) and am now trying to crack a mystery.
This is level 16 (by the game's internal numbering system).
See that platform midway up the screen on the far left? The blue one with the yellow crystal on it?
I ran the game in DOSBox and had a little difficulty jumping onto it from the green hill, but got it on the 3rd try or so. The weird part is that now I'm trying to do it in JPC-RR, I... can't do it. At all.
There's a Let's Play I found that shows about how tricky this jump is; I've linked it here with a relevant timestamp. (Some cursing, if that's a concern for any reason)
Link to video
Generally, when Mylo is walking, I hit F 4 times before he advances a frame (probably not the right term, because the fade-in animation when entering a level does advance incrementally with a single F press, but I don't know the term to distinguish between a frame and and increment of movement). To find the optimal spot to jump from (most of the time) I'll advance 4 F-taps and try a jump, load the save state and try again 4 frames later.
But I've tested every single frame that can jump there. If it jumps too early, Mylo hits his head on the block with the hidden crystal, loses his momentum, and falls back onto the platform below. There are a few frames where he hits the next block, but falls before finding footing on the other platform. Normally, at this point, one increment of progress forward would be enough to get footing, but I hit a really strange point where now he hits right before the platform, but then falls straight down as if he goes one frame down before he goes one frame left.
I tried testing in-between frames by sending the jump command during each of the 4 frames before the animation changes, all the way from way too early to falling off the ledge, and none of the jumps succeed. I'm wondering if it also requires some kind of serendipitous alignment of animation frames? Could it be a problem with the emulation? Is there any way for me to do finer frame advancement?
I'm gonna sleep on it and see if I come up with any ideas, but for now, I'm stumped.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I misread this at first because I thought you meant doing the right half of the level, but I see that you meant the right set of crystals on the second reverse gravity section. I just tested it playing casually in DOSBox, and you are indeed correct that that route is also workable. I'll adopt that method for the TAS route, I think.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I tried that would each of them, and the timing on their walk cycle works out such that I actually take two hits trying to walk through them. If I didn't have to stop for the jumps, it might be possible, and since I'll be recording this level anyway to make the change I proposed in level 2, I'll try again and see if there is an opportunity with the slightly modified timing. I agree that it's kind of painful to watch, especially since that level has extreme low gravity recoil.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I need a little feedback. I did two more levels, and after reviewing the recording a few times, I have some gnawing questions about methodology.
First, here's the video for reference:
Link to video
In level 2, starting at 2:44, I jump across the room to collect ammunition purely for entertainment value, otherwise, I'd be moonwalking in place for a really long time getting nothing accomplished. But after watching it a few times, I think if I avoid jumping back for the gem at 2:32, I can get that gem during the cross-over, and the frames saved avoiding that initial jump can instead be used to reach the block underneath the blue lever, meaning I can end the gravity reversal jumping from a 'higher' position.
Making this change will save negligible time, but in TAS there's no such thing as negligible time. The real problem is this means I'll need to completely re-record that section and the level afterward. Since I've done the routing already it won't take as long, but the prospect is still not appetizing. I assume that this is just part of the learning process, but is there any way to pragmatically maintain multiple drafts of a run? If I start re-recording from the breakpoint, I assume that I will lose all subsequent inputs and have to redo them? As far as I've seen there's no way to splice in a few different keystrokes to an existing run and shift the timestamps for subsequent input back a few milliseconds.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
Preview of coming attractions: here's the first level of Crystal Caves 2! This episode is significantly harder than the first one, which hopefully will make it a much more interesting TAS.
Link to video
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
Regarding the reverse gravity jump, it would be a better jump if I timed it a little earlier, but since there's a brief window of waiting for the platform in the next room, it doesn't actually save any time. Most of my frustrations with the TAS are in that category; there are a lot of optimizations to be found in the jumps, but there are enough obstacles or platforms that induce delays that perfect execution doesn't always reflect on the actual timer.
I'll definitely be more cognizant of it in my next TAS, though, because leaving in a jump like that is an artifact of sloth.
Experienced Forum User, Published Author, Player
(56)
Joined: 3/16/2018
Posts: 34
Location: KC
I realize I let this thread sit for a long time without updates, but I had to spend a week with my 18-month old in the hospital after he had a terrible allergic reaction and I put this on the back burner while catching up with other lifely duties in the aftermath. He's all back to his adorable normal self now, and I've finally had a little time to get back to this.
Link to video
This is my final result. I think this could be improved if I can find some RNG manipulation to change the seed for the dropping rocks, and on the very last level I might be able to figure out a path that avoids the wait for the platform and heads back over the robots and spikes since there aren't any crystals up there, but the movement cycles and starting positions aren't something I've figured out in the time I've been able to give the project.
I'll submit the JRSR file through the appropriate channel before too long, but I thought I'd revive this thread to share my work! This includes clicking through the closing dialogue screen and entering a high score. Total time for the run from boot is ~20:15, 50 seconds under the current human world record is 21:05, so there's definitely some time saved in being able to make perfect jumps and narrowly avoid collisions.