Space Monsters Meet the Hardy

Space Monsters Meet the Hardy was a submission to the Yandex Retro Games Battle in 2019. It won 2nd place in that competition.
Story (From the contest website)
Your task is to find and neutralize the head of space monsters, which is hidden in the mazes of numerous levels. To go between them there are special elevators, each of which you have to first find the key. But not everything is so simple: both of them are well guarded. And besides the monsters themselves, you will find many obstacles of varying degrees of difficulty: from completely harmless, but blocking the path of the bubbles to deadly drops that kill the first time. But the main enemy is time, inexorably decreasing every second ... In your arsenal there is only a laser pistol and faithful fast legs. Hurry up! Good luck!

TAS Notes

  • Emulator used: I started with BizHawk 2.3.2...then I used some dev builds due to an emulation bug with music in 2.3.2...then ultimately tested, tweaked for optimization , and exported to a .bk2 using BizHawk 2.4.0
  • This is an any% submission. Because enemies don't respawn, a 100% run could theoretically be submitted that included killing all the enemies (assuming there's enough in-game time to actually accomplish this feat). A Max-Score run could also be considered but would require balancing the number of enemies killed with end-stage bonus points for time remaining.
  • Due to this TAS aiming to finish as quickly as possible, no enemies were killed unless doing so was necessary for fastest completion.
    • Killing a non-exploding enemy (either by blaster or jumping on them) adds a lag frame. Killing an exploding enemy adds more as the explosion animation stops movement.
    • Most kills in this run were to avoid taking enough damage to kill Hardy or to yield a better movement option.
  • Takes some damage to save time.
  • Death warping is not an option -- Hardy loses the key card when he dies
  • (Likely) Abuses programming oversights (see below)

Movement optimization

The major challenge in this run is to optimize movement as each level's goal is essentially Get the key-card and exit the level.
Trick 1: Sometimes jumping on the first frame of movement allows for faster acceleration than just running. This was used in the first few levels where it helped.
Trick 2: When changing directions, Hardy's momentum will normally cause him to slide as he decelerates to change direction. However, the game mechanics allow him to stop on a dime with blank input. Thus a single frame of blank input before changing direction allowed for a much shorter (almost instant) direction change. The gifs below show the difference.
Both of these stop running right on the same frame:

Presses left the frame immediately after stopping pressing right resulting in a momentum slide toward the exit.

Contains 1 blank frame before left gets pressed resulting in an almost immediate direction change.
This presents an interesting curiosity from a development standpoint. Did the developers intend the sustained momentum but overlooked the instant stop caused by blank input...or did they intend for instantaneous change, but the coding unintentionally results in the momentum slide?
Either way, this could be looked at as abusing a programming oversight.
Trick 3: There is an instance where a pseudo wall-jump is used. In level 6, there is a part of the wall that is likely not intended to be used as a floor, but due to the sprite positions/shapes it is indeed possible to jump off this ledge even though it's not possible to stand still on this ledge without falling off.

It is possible to stay on this ledge while holding right, but letting go of right will cause Hardy to fall off. In the TAS this ledge is jumped off before Hardy can fall off. Again, this is likely a programming oversight and jumping from the walls was unintentional.
Trick 4: Air Jumping. When Hardy walks off a platform instead of jumping off...he can jump during the fall while still in mid-air. This is utilized a few times for better jumping positions and to make jumps that wouldn't otherwise be possible. Again, likely a programming oversight.

Potential Improvements

This is a fast paced platformer...it's completely possible that someone could find better movement optimization patters. The only specific I can think of would be finding a way to actively kill fewer exploding enemies while still maintaining enough health to complete the game; this could decrease lag frames and yield a slightly faster run.

Note to potential publishers:

The loading portion of this TAS contains the typical screeching data sound associated with loading from tape on ZX Spectrum. BizHawk's audio settings within the ZX Spectrum core contain an option to alter the tape audio volume. Reducing this to the lowest setting will allow for the loading portion of the TAS to be done silently instead of with the screeching data sound. I don't believe changing this setting would affect the sync of the submitted .bk2; but if it did, copying the input and pasting into a new tasproj file that is initialized with the tape volume minimized should work.

feos: Nice movie. Watching it in real time made it hard to figure out what's going on, so I watched it at 25% speed and gameplay appeared really simple, as you would expect from a dev competition like this. Optimization looked solid, I didn't have any suspicions.
Constant blinking coupled with sheer speed of the character probably reduce the overall enjoyment, on the other hand, the quality of the game is rather impressive, and the soundtrack rocks, so it got good feedback. Even if it was a pure Vault movie, the game is still notable enough in its quality to be published: the fact that it almost won the competition (which was in no way some lame one, go check out other games) proves it.
Accepting to Moons.
Spikestuff: Publishing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This topic is for the purpose of discussing #6602: DrD2k9's ZXS Space Monsters Meet the Hardy in 10:30.43
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Trick 4: Air Jumping. When Hardy walks off a platform instead of jumping off...he can jump during the fall while still in mid-air. This is utilized a few times for better jumping positions and to make jumps that wouldn't otherwise be possible. Again, likely a programming oversight.
This is a common mechanic in platformers, introduced whenever the game designer wants jumping to have more lenient windows, and it's called 'coyote time'. (Although using it to make otherwise impossible jumps could be an oversight, especially if it sequence breaks.) Another mechanic like this is called 'jump buffering', which allows for jump to be inputted before you land, and to execute on the first possible frame.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
nymx
He/Him
Editor, Judge, Expert player (2230)
Joined: 11/14/2014
Posts: 929
Location: South Pole, True Land Down Under
Wow! To start off...Yes vote. I was surprised by this. DrD2k9 with another fine submission. I wondered about some of the slow downs, but I finally figured them out to be "hold ups" from other actions on the screen...correct?
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
DrD2k9
He/Him
Editor, Judge, Expert player (2212)
Joined: 8/21/2016
Posts: 1086
Location: US
nymx wrote:
Wow! To start off...Yes vote. I was surprised by this. DrD2k9 with another fine submission. I wondered about some of the slow downs, but I finally figured them out to be "hold ups" from other actions on the screen...correct?
Most visual slowdowns are due to lag from explosions, delaying motion to not take death dealing damage, or motion alterations to make sure the target location on screen is reached. Even still, there are few slowdowns and constant motion is maintained as much as possible.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
Nice chiptune. The time limit looks pretty harsh in non-TAS conditions, you clear the last level with only 13 seconds on the clock? What's with the screen after the boss that you killed the wrong monster? Also: yes vote.
Patashu wrote:
This is a common mechanic in platformers, introduced whenever the game designer wants jumping to have more lenient windows, and it's called 'coyote time'.
This doesn't look like coyote time. Judged by the last GIF, you can 'air jump' at any time between walking off the platform and hitting the floor. Coyote time would allow a jump only for a few frames after walking off.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
This was surprisingly entertaining. The game's design is really hilarious to me, with the name "The Hardy", that amazing blond head of hair, and the idea that you are unapologetically the greatest killer in the universe at the end credits. Good run too. The movement is quite fluid. It's good to see another game with that air-jump gimmick that Metroid also had (at least when the morph ball was used). The rerecord tally only says 3, though? Has Bizhawk had rerecord bugs lately?
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
DrD2k9
He/Him
Editor, Judge, Expert player (2212)
Joined: 8/21/2016
Posts: 1086
Location: US
Radiant wrote:
What's with the screen after the boss that you killed the wrong monster?
I believe this is simply an intended joke by the devs.
mklip2001 wrote:
The rerecord tally only says 3, though? Has Bizhawk had rerecord bugs lately?
As this run was created over the course of multiple BizHawk releases including dev builds, the final .bk2 was created with a copy/paste of those final inputs. The actual rerecord count is unknown and I really have no way to estimate.
Post subject: Re: #6602: DrD2k9's ZXS Space Monsters Meet the Hardy in 10:30.43
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1213
Location: Luxembourg
TASVideoAgent wrote:
The loading portion of this TAS contains the typical screeching data sound associated with loading from tape on ZX Spectrum. BizHawk's audio settings within the ZX Spectrum core contain an option to alter the tape audio volume. Reducing this to the lowest setting will allow for the loading portion of the TAS to be done silently instead of with the screeching data sound. I don't believe changing this setting would affect the sync of the submitted .bk2; but if it did, copying the input and pasting into a new tasproj file that is initialized with the tape volume minimized should work.
I personally disagree that the tape loading sounds should be muted, because it's part of what an actual ZX Spectrum outputs. IMHO, the encodes should be accurate to the console/computer, so to me, muting the tape loading audio is no longer accurate to what an actual ZX Spectrum outputs.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Agreed.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4107] ZXS Space Monsters Meet the Hardy by DrD2k9 in 10:30.43
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
I'm surprised to see this much color variety from the Speccy.
i imgur com/QiCaaH8 png