Submission #2915: IsraeliRD's DOS Hocus Pocus "Episode 1" in 15:09.62

DOS
Episode 1
JPC-rr 11.2
54577
60
1646
Unknown
Submitted by IsraeliRD on 11/20/2010 10:17:21 PM
Submission Comments
Hocus Pocus, published by Apogee Software (developed by Moonlight Software) in 1994 sees a puny dropout wizard setting on a quest to collect crystals which will make him powerful. On his way, Hocus is ignoring important information given to him by Terexin (It took me 67 years to grow this beard.) while defeating enemies and bosses so that Land of Lattice will become more safe to travel. By completing four tests, he will also be accepted into the Council of Wizards and marry Popopa, daughter of Terexin who leads the Council.
This is Episode 1, called Time Tripping, of 4 available in the game. You can download the shareware version of Hocus Pocus (has entire Episode 1 unlocked for play) on 3DRealms's website.
[dead link removed]

Game objectives

  • Uses hardest difficulty and fast speed settings
  • Any%
  • Manipulates Luck
  • Takes damage to save time
  • Genre: Platform
  • Kills penguins and monks

Emulator/game info:

I used JPC-RR 11.2 and I also used the REGISTERED version of the game, not the shareware! When playing back the movie, press on Debug -> Hacks -> NO_FPU, else game will not run.
The BIOS/OS versions are identical to #2649: sgrunt's DOS Commander Keen: Episode 5 - The Armageddon Machine "glitched" in 02:42.43
Additional diskinfo about the game image used:
FieldValue
TypeHDD
Tracks16
Sectors63
Sides16
NameSizeMD5
HOCUS.DAT610152529a3892df3cb212cfcd5dca4b1e1362a
HOCUS.EXE1826566773e61cb5e53b6880cdd3aa93152632
SETUP.EXE181760ab84e271656e37d38001c4d0bd5e911

About the run

General information

The run has no deaths and I aim for fastest time. Other objectives are listed above and explained below. Note that the rerecord count is innaccurate because of restarting run and redoing entire levels. It should be around 2100s, if not higher.
The game's hardest difficulty, compared to others, means that Hocus takes more damage per hit (16% damage, vs 4% damage on easy and 12% on moderate) and enemies take a lot more to kill (for example, crocodiles take 2 shots to kill in easy, but 6 on hard). Because of this, it means there's a lot more into damage abusing and there is a requirement to kill more enemies and manage your health with the available health potions (the green potions). Normally after getting hit, you get a temporary invicible period. This period is the same whenever you get his by enemies, bosses or spikes (metal or ice). Lava gives a much shorter invicibility period. Because of this, this run takes damage to save time because you can run through enemy packs while only getting hit once.
The game offers 3 powerups (only 2 are found in episode 1), and these are:
- Increased firepower (the immobile lightning bolt found in most levels) which increase amount of bolts you can have on the screen at the same time
- Rapid fire (the white potion) which gives you up to 9 bolts on the screen at the same time.
- Fireball Laser shots (the grey potion), which gives you 3 laser shots. These babies can rip through enemies (insta-kill) without disappearing (they do disappear once they're off-screen), so you can kill many enemies in one shot with those. Furthermore, they can stack (so you can have even 9 in your inventory) and their only downside is that they act like regular bolts when it comes to destroying blocks, so one shot = one block removed.
Enemies have hitboxes, and these differ per enemy. The crocodile's hitbox is large because of the tail, yet you can get up close to the lightning demon. Some enemies can spit out fire, lightning bolts, brown balls (let's call them 'flying poop'), throw rocks downwards and other things while others just run or roll at you instead, and they are pretty fast. As such, enemy manipulation is important and more about it later.

Any% vs. 100%

Any% is naturally faster but is also giving you a set route and you cannot really deviate from it. 100% means you have to collect all treasures (gives you a bonus in the score screen) which is a lot harder due to several factors: more enemies to fight, more route-planning and therefore more health management. However 100% is also a ton more boring as you have to backtrack many times, take warps to hidden rooms (where you rarely have enemies) and thus wait to get to and from the secret rooms (some of them can take 20 seconds travel time, plus say half a minute to complete the room, that's easily 1:10 minutes of no entertainment). As such, this run is the any%. I will however look forwards to the day someone will do a 100% TAS of the game.

Movement

Hocus is moving horizontally at a speed of 8px per frame, and has a vertical speed of 16px per frame. It takes Hocus 9 frames to reach maximum height (he goes up, per frame, with the following amount of pixels: 16, 8, 8, 8, 4, 4, 2, 2, 1) before falling down for 9 frames (same amount of pixels per frame as before, just in reverse).
Warp potions move Hocus at a speed of 8px per frame horizontally and 16px per frame vertically.

The game has priorities with regards as to what Hocus will do first:
- Shooting will always be done, regardless of what else is being pressed
- Moving horizontally is second priority, followed by jumping.
- Looking up/down will be executed if arrow keys are held down for long enough, unless Hocus is jumping or falling, in which case it will wait to do so until landing and the screen focuses on Hocus again. Trying to jump afterwards will not happen until the up/down looking animation is complete.
- Jumping will occur a bit after walking up or down the stairs, not instantly.

Glitches

Corner clipping
If you time your jump just right, you can hit corner of blocks. This will thrust Hocus down (if hitting from above) by 16 pixels. This is not always faster (sometimes slower) and depends on the situation.
Clipping into stairs or floors
The corner clipping trick can push Hocus inside stairs or floors. An example is in Episode 1 Level 1. After getting the gold key, Hocus needs to cross a gap in order to get to where the gold key 'door' is. If Hocus's jump is timed badly, Hocus will clip the floor and be thrust down instead of landing on the floor where the 'door' is.
This run utilises both glitches in levels 1-1 and 1-6.

Random Bonus Glitch

No idea how to call this glitch. Due to reasons unknown (and lack of memory watch does not help), the game randomly gives the player a random powerup. The player can receive any of the following: a silver or gold keys or both, the rapid fire powerup or the triple laser shots. I have a savestate (please request it from me through a personal message on either forums or IRC) where you need to shoot a few more times before the game randomly gives you both keys (or not at all if you do not shoot).
If anyone can figure how to get those consistently, please let me know. The laser shots are the best, but anything works. Getting keys means less sidetracking and thus a faster time. At current state, it's too incosistent to be put to practical use.

Luck manipulation

Manipulation is done via jumping and shooting.
Enemies can be manipulated into moving to certain directions, whether they will run or to determine whether they shoot or not. Likewise, disappearing blocks can be manipulated into instantly disappear or not disappear for some time.
It should be noted that if on one frame you shoot you get one pattern of enemies/disppearing block, and if on that frame you decide to not shoot instead, you get a completely different pattern. Because of this, I inserted random jumps/shots to manipulate enemies (even ones that did not spawn yet) and disappearing blocks to give more favorable patterns.

Spawning enemies

It is possible to cause enemies to spawn later than normal or not at all based on where Hocus is or what he does. Best examples are 1-6 and 1-7, where many enemies are not spawned on platforms because Hocus is jumping on the very edge of platforms, and stays there for one or two frames before jumping to the next one. As Hocus is making his way back from a crystal in 1-6, all enemies spawn behind him.

Level comments

1-1:

A basic level. I've manipulated the first lightning demon spawn by not having the middle demon spawning as it spawns at the lowest point (in your face). I've also did not trigger the 3 enemies after 4th crystal on the way back by not stepping on the purple floor next to them. The level utilises a corner glitch followed by a stair glitch after the silver key room. My top time non tool-assisted is 48 seconds in-game.

1-2:

The start is ugly, I could not manipulate the lightning demons so I got damaged twice instead of once. I had to delay the triggering of the crocodiles after the triple health potions later by doing a jump after the first set. This means I get stuck on a platform, but nothing I can do about it. The ending is pretty hard to do with a single hit since the lightning demons spawn in your face or just fly down. The crocodiles were annoying due to the hitbox.

1-3:

This is the first long level and is a bit boring. I tried to make it more entertaining with some shootings the first time around I'm going through the long corridor and then let the music play the second time. I've also kept shooting at the end jumps, trying various combinations of the triple shot while the enemies were spawning. Manipulations: bears on the start to not come after me, disappearing blocks throughout the level, triggering enemies to appear later or de-spawn the green lizards in the 5th/6th crystals. Note: I purposely jumped into the lava after 4th crystal rather than the platform next to it, and after 6th crystal I jumped into lava before the platform. In both cases it is faster than going on the platform first and then jumping to the next one.

1-4:

Interestingly enough, taking the upper crystal first and the lower one second is slightly faster than the other way around. Later on after 6th crystal I've had to jump on the very edge of platforms so that the bears do not spawn (you can see they do spawn on the way back). Manipulation points: because upper crystal is taken first, the left-spawning bear does not de-spawn, so I have to manipulate it to be far away enough to kill it. Manipulated the green flying lizards not to come down or shoot at me, as well as manipulated the disappearing blocks by shooting a lot.

1-5:

I hate this level, don't know why.
I've had to shoot a lot in the middle of the level to kill some enemies and manipulate others because I needed high health on the way back. The reasoning is that taking the warp is a lot slower than doing the way back myself (it sends you to where the 5 green potions were). Manipulation starts from the third crystal (eskimos not being in my way) until the level's end. I've manipulated the disappearing blocks where the three switches are to NOT disappear so I get a lowered jump, thus get through the section a lot faster. At the end, my invicibility period ends a frame or two after the second eskimo (manipulated to appear later than normal). Most disappointing part of this level was the ending, where I could not get an eskimo to shoot a stick after me that was last through the long stretch with all the lightning demons.

1-6:

This level turned out a lot harder than I hoped for. I lost 4 frames by jumping a frame later than usual in the rooms with lightning demons, but that way I did not lose 64% health. From then on there's a lot of enemies and disappearing blocks manipulations. On 5th crystal, I managed to get the second health potion and the crystal and turn back without losing any time as opposed to a single health potion and crystal. More enemy and disappearing block manipulation until the end. Best part is having the last penguin on the 6th crystal spawning first so I could kill him and thus did not get damaged.

1-7:

A simple level. I've prevented the green flying lizards from appearing during the lava platform jumps by being on the platforms' edges and being there for a maximum to two steps before jumping (a third one causes the enemies to spawn). I also manipulated the four bears after the lava jumps at the end to spawn later than normal.

1-8:

Loads of enemy manipulations (sometimes I didn't even need to do anything) so I do not get hit (or if I do, I can use the health potions) and those large-winged enemies usually shoot down a ton of rocks. It's worth to note that killing all 4 bears after 4th crystal or taking damage and instead killing another set of bears at the end are both slower methods than the one shown in the video.

1-9:

The reason for this whole test. The Mad Monks of MellenWah are guarding some of the Magic Paths and charge a toll for those who wish to travel in their territory. This is annoying because they guard some of the most heavily travelled paths in the Land of Lattice, including the one to the Beautiful Amazon Tribes Before the Time of Clothes era. The Council wants these monks removed so they could get on with their Amazon studies.
Hocus does not like fighting due to his lazy nature (he prefers to draw doodles down the sides of his spellbook), so he skips three of the Monks but kills the rest. Apparently this is enough to pass the test.
Enemy manipulation was used (up to 4th crystal) and both disappearing blocks and Monks cooperated very nicely. After the silver key 'door' opens, going left first is 40 frames faster than going right first. The penultimate Monk's health bar was not glitching (it is there but you can't see it), it's simply the skipped Monk's health bar (he did not de-spawn), but it does look pretty awesome.
Movie input ends by quitting the program back to DOS through the game's main menu.

Special thanks

Ilari, for helping me a lot on setuping the emulator, how to do WIP encodes and answering my many questions, as well as finding the corner and stair glitches.

Closing comments

For my first TAS ever, I'm really happy with the end result. The movie can definitely be improved but I redid levels and parts many times to keep shaving off frames, but I'm pretty sure I missed things. Possible improvements include better luck with the disappearing blocks (5 frames), better menu movement (5 frames) and perhaps 1-2 has a possibility to floor glitch at the end of the fall after 2nd crystal (frame faster?), but I was unable to do so.

Suggested screenshot

Actual suggested screenshots:

On the bottom left corner of the emulator, the following timecodes:
127424, 211792, 220181, 247091, 331444, 390671, 577726 or 577812, 746946, 751641, 834224, 896005
If anyone has other suggestions, feel free to say. 211792, 577726/577812 and 896005 are my favorites.

Nach: A very nice well executed run. Accepting as first run for this game.
GabCM: I'll use Ilari's encode for publication.
Last Edited by adelikat on 9/20/2023 11:42 PM
Page History Latest diff List referrers