Super Bat Puncher is a homebrew game for the NES by Morphcat, with music composed by Dave Harris. This TAS aims to complete two loops of the demo, using a bonus item that can only be obtained after the game has been completed once.

Game objectives

  • Emulator used: BizHawk 2.1.0, NEShawk core
  • Completes two loops
  • Genre: Platformer
  • Punches a bat

About the Game

Super Bat Puncher is an excellent NES homebrew game by Julius Riecke. This is the Demo ROM, released all the way back in 2011. It contains two stages, along with a bonus level and a few easter eggs. Since then however, very little has been heard from the game. The developers have since moved to other projects, and there's little indication that the full version of Super Bat Puncher will ever be released. With nothing else to go on, I think that the Demo can be considered the proper release of the game for the purposes of the site.

About the Goal Choice

The demo contains two levels. On defeating the second boss, a credits sequence plays, after which you are booted back to the hub room. A bonus stage is unlocked which you can complete to obtain the Developer's Jetpack. At this point, the game starts back from the beginning, but with the jetpack in your inventory. You can then complete it as normal to get a slightly different credits screen.
I wanted to include the bonus stage and the second runthrough of the game into the run, as they are quite different in terms of gameplay and feature some entertaining tricks and strategies. It significantly increases the overall length of the movie, but since it's a short game overall, I believe showing off as much as possible is a decent choice. In addition, after the second boss, the credits change to a "To be Continued" screen. At this point, no input will be able to resume the game. Compared to all other potential stopping points I've considered, this is the single most clear and unambiguous moment where the game is over. If only the first loop of the game is desired, the movie can be trivially cut down by ending input after frame 18876! The final completion time then is 05:14.08.
I chose to label the submission as "2 loops" because I believe it most accurately reflects the actual contents of the run. 100% might be somewhat more quickly understood by the viewer, but its definition within the game is vague, as for example not all coins are collected. Additionally, "2 loops" makes it clear why there's a credits sequence in the middle of the movie. Nethertheless, I'm open for better suggestions for the label if you have any.

Comments

This is Super Bat Puncher. You take control of Captain Roast of the Bat Excommunication and Eradication Force (or BEEF), who travels to Planet BAT to punch some bats. You get a boxing glove for that which can also be used to boost yourself off of walls, inviting various speed tricks. You also get a little bird companion called Sir Loin who can be controlled by the second player. He's used occasionally in order to manipulate bats or kill out of the way enemies. Further details are outlined in the Tricks below.

Tricks

General Movement Optimization

Captain Roast's base movement speed while moving on the ground is 2.1875 px/frame, and 2.0 px/frame in midair. If you accelerate above that, your speed is reset to the cap on the next frame. By letting go of Right when your speed is above the cap however, you can preserve your momentum and keep it above the speed cap for a few more frames. By pushing Right in the correct rhythm, it is possible to sustain a higher average speed than you would go normally. The top speeds then become 2.25 px/frame on the ground and 2.14375 px/frame in the air. This only works going to the right.

Wallboosting

Using the boxing glove, Roast can push himself off a wall at a top speed of 4 px/frame. It is important to let the speed decay naturally to ride out the boost, as pushing left or right destroys the speed (see above). It is often possible to boost twice from the same wall, which generally saves a few frames over a single boost. Throughout the game, you get powerups which significantly increase the boxing glove's ability.

Fast Vine Climbing

By pushing up and jumping off a vine, your climbing speed is added to your jumping speed, allowing you to go higher. Alternating between Up+A and nothing pressed every frame, vines can be climbed very fast.

Screen Transition Pausing

By pausing on the exact frame Roast enters a door or a screen transition, the fadeout starts while the game is paused. For some reason, this can save between no and 12 frames each time it's done. Roast also spawns a few pixels in the air, which may or may not be helpful.
It is also worth noting that the game has subpixel carryover for basically everything. Because of this, every screen transition needs to be carefully approached to maximize subpixels.

Lag Management

The game can become quite laggy when there's multiple enemies on the screen. Boosting off walls produces sparks, which can significantly increase lag. Most lag can generally be avoided with only minimal impact on speed, with a few exceptions. Scrolling, enemies, the player's actions and the music and sound all have an influence on lag.

Stage by stage comments

Beginning

I start off by jumping to set up the optimal movement speed cycle. Roast also accelerates faster in the air.
I've tried everything possible to make the jump from the Sir Loin cage to the red button, to no avail. Even with absolutely optimal positioning, Roast falls barely short. Because of this, we get to be subjected to a whole bunch of annoying textboxes. I jump into Sir Loin's textbox triggers at top speed to get as far as possible before the dialogue starts.
I also only later realized that you could double boost from walls to save some frames, so I had to hex a whole bunch of this stage back in.

Stage I

I can just barely make the platform cycle with all the tricks that I know... Or knew, as double boosting probably would've made the cycle trivial. I didn't bother hexing this though, as the platform cycle is fixed from when you enter the screen anyway. I use Sir Loin to kill a bat while running to the platform. This wakes up another bat, which sets me up for a damage boost later on. It is needed to clear the the gap up to the next platform.
In the next screen, there's a big sequence break. By using the extra height from a vine jump and a boost, it is possible to clear the ledge to the door early. This saves a few seconds.
Fun fact: It is theoretically possible to skip the Wall Boost by using a damage boost from a bat, but it takes way too long to set up. You can just go on as normal, there's nothing in the stage that really requires the Wall Boost.
Sir Loin makes very short work of the boss.

Stage II

I use a damage boost from one of the spikes to get into the bubble at a higher position. Setting up the timing and positioning while avoiding lag was very tough. You can get wildly different heights in damage boosts, depending on what your Y speed's subpixel component is on the frame you take damage.
The bubble ride itself is awful. Way too slow, and nothing I can do to increase entertainment. Using the boxing glove breaks the bubble.
The final screen is quite involved. To begin with, I use Sir Loin to collect a couple of coins that would otherwise create lag later. I jump into the bubble from a higher ledge to save some time. I tried using a damage boost from the spiky guys here as well, but couldn't actually get it to save time.
What follows next is the most awful platform cycle in the game. I've tried everything possible to make it, including damage boosting up a ledge, but to no avail. The platform spwans a bit above where the three slimes are, so the only thing I really can do is to spawn it as early as possible by jumping on the middle slime. After that's done, the boss is again dispatched efficiently, and the credits begin.

Stage I and Bonus Stage

The Bowling Ball makes optimization a fair bit simpler in the approach to the bonus stage. In the bonus stage, I needed to carefully plan out damage. In the end, going through the spikes at the beginning is the best choice. Some other shortcuts also save time.
After that, there's the only real notable instance of lag. All the bats are simply too much for the game to handle. By keeping to the left while dropping down, I can avoid some of the lag, but there's more unavoidable lag later.
The next screen forces you to wait for a platform for a while. It would theoretically be possible to skip that platform using damage boosts, but the setup would take way too long, and you need the HP later. By spawning in Sir Loin at the right time, it is possible to prevent one of the bunny guys from spawning, which saves lag.
Fun fact: You can use the platform to go out of bounds and get below the level. It is useless for the TAS though.
After that, you come across a spike tunnel in which you're supposed to take damage three times to clear it. The spikes are an instant kill normally, but by using the damage invulnerability from enemies, you can briefly walk in them. With enough speed, I can avoid one of the forced damages and clear the section with only 2 HP. I didn't expect to have enough room to start the roll animation, but I just barely do, which makes me happy.
After this, I pick up the secret item and the game starts anew.

Loop 2 Beginning

The jetpack allows me to avoid all of those annoying Sir Loin sequences. It also enables me to get much closer to more walls allowing for more damage boosts, making optimization a whole lot trickier. The jetpack itself has a lot of inertia to it, which can make controlling it tricky. Other than that, it mostly goes like before.
Vertical speed with the jetpack is quite straightforward: When you push A for a frame, your Y speed increases by 40 subpixels, when you let go, it decreases by 40 subpixels. When Roast's Y speed increases above 4 px/frame however, it is reduced by 1 px/frame. Therefore, the most optimal strategy for rising is to bring Roast's Y speed as high as possible and then pressing A on alternating frames to keep the speed from rolling over.
The jetpack generates a spark sprite every four frames. The spark can be avoided by letting go of A on that specific frame. This is needed a couple of times to avoid lag.

Loop 2 Stage II

The jetpack significantly speeds up all the climbing sections and the slow bubble rising sections. Getting the Bowling Ball is still required though.
The slimes can be used to get a minor vertical boost, which saves a frame total. Care needs to be taken in the final section to avoid lag.
Finally, I enter the boss room for the second time. With the jetpack, Roast can reach all flunkies instantly, making Sir Loin unnecessary for this fight. Another text box, and the game is finally over.

Other comments

Well, here's a project that unexpectedly ballooned in complexity. I wasn't intending to do the second loop originally, so between this and no longer having the free time to TAS I once used to, this run took significantly longer to complete than I anticipated.
I'd like to thank Morphcat for making this incredible game. It really inspired me to get my feet wet with NESDev myself back in the day. I wanted to make a TAS of this game ever since I first saw it, and I'm glad to finally having gotten around to do it. I'd also like to thank RaijinXBlade, who made a testrun of the game way back then, showing me what the game could be like in a TAS setting. Special thanks also go to FerretWarlord for being a bro on IRC.
The run is not perfect. By using double boosting in a few more places, it would be possible to save a few more frames. I had an attempt that saved 4 extra frames in Stage 1, but it would desync later on in the run. I am also not entirely sure if the damage boosts are actually worth it, due the forced health refill after every stage.
The run was mostly done with standard input, but TAStudio was used occasionally for multitracking Sir Loin. It was a new experience for me trying out a completely new tool, and while I couldn't completely use it to do the whole run, it certainly proved its worth to me.
Ultimately, I hope that you enjoy watching the movie as much as I enjoyed making it. I hope to be back with another TAS at some point in the future, but currently I don't really have any other game lined up. If you have any questions about the run, be sure to ask them and I'll be happy to answer.
-scrimpeh

ThunderAxe31: Judging.
ThunderAxe31: We have additional rules for movies made with homebrew games. The game used for this submission in particular, has to pass through these requirements:
  • The game must be of high quality and have good notability.
  • The version of the game must be a finished release version, except in case the author has officially abandoned the development.
There are no doubts that this game represent a good example of NES homebrew, even though it's relatively short, and while the game is a demo version, it must be noted that the author has officially dropped the development (more details in this post).
For what concerns the goal of this run, it meets standard game completion, since the game itself requires the player to beat the game a second time after getting the in-game item Developer's Jetpack, after which the game shows the "real" credits roll and prevents further play, unless the player reboots the console.
The run itself is very optimized and entertaining, and the audience reception was good. Accepting for Moons.
feos: Pub.
feos: Moved "Demo" to game version.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
This topic is for the purpose of discussing #5982: scrimpeh's NES Super Bat Puncher in 09:53.34
EZGames69
He/They
Expert player, Publisher, Reviewer (3942)
Joined: 5/29/2017
Posts: 2701
Location: Michigan
This game is pretty cute I have to say. The punch boosts provide some nice entertainment throughout. Especially when you get those powerups later. Will I vote yes? Ok. ->fine.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Judge, Skilled player (1275)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Very entertaining! Yes vote. By the way, this game is a demo, but on the other hand the developer seems to be not interested in finishing it:
Morphcat Games wrote:
I know people are sad/still hoping for Super Bat Puncher to be released, but with the state of the code base and addition of a new team member, we decided to move on to other things. Sorry.
Source (in the comments)
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Joined: 1/19/2010
Posts: 146
This is very entertaining. It's really cool to see a proper TAS of this. The secret area was really interesting. Didn't know you could do it that way without taking a death, but I guess your invincibility period lasts long enough after all. Great job! Voted yes.
Active player (372)
Joined: 9/25/2011
Posts: 652
Great TAS! I really enjoyed watching this. One question: Why choose "Fine" over "OK"? It appears it takes a few frames to switch options?
Editor, Skilled player (1402)
Joined: 3/31/2010
Posts: 2081
Hey, thanks for the great response so far, everyone. I'm glad the submission is doing well.
c-square wrote:
One question: Why choose "Fine" over "OK"? It appears it takes a few frames to switch options?
Both options are equally fast. You can control the cursor one frame before you can select an option, so you don't lose time by chosing "Fine".
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
I think this still had enough interesting content after the first run to warrant a second playthrough with the jetpack. The jetpack stage alone is cool enough that it should be shown in a TAS. Short and sweet game, shame it didn't get developed more.
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, Expert player, Judge (2037)
Joined: 8/21/2016
Posts: 1009
Location: US
Yes vote. I understand that the jetpack makes the 2nd run faster (by introducing more movement freedom) but it didn't appear to add any other new content. Couldn't the game be considered complete without replaying the game using the jetpack, but calling the obtaining of the jetpack the end of new content? Or is the 2nd playthrough utilizing the jetpack required? (A judge would probably be the determining factor on the necessity of the 2nd run).
Judge, Skilled player (1275)
Joined: 9/12/2016
Posts: 1645
Location: Italy
DrD2k9 wrote:
I understand that the jetpack makes the 2nd run faster (by introducing more movement freedom) but it didn't appear to add any other new content.
While the introduction of the jetpack is the only difference, it causes the 2nd loop to be very different from the 1st one. It's not just faster.
DrD2k9 wrote:
Couldn't the game be considered complete without replaying the game using the jetpack, but calling the obtaining of the jetpack the end of new content? Or is the 2nd playthrough utilizing the jetpack required? (A judge would probably be the determining factor on the necessity of the 2nd run).
In my opinion the 2nd loop should be required for considering the game as beaten. Apart from what I've said above, it must also be noted that the 2nd credits roll features a different last line, as well as not taking the player back to play, which makes it a more objective game end point. So, beating the game a 2nd time with the jetpack does not only give a better sense of completion, but it's also technically complete. By the way, due to the reasons I've just expressed, I'm wondering if this run shouldn't be made labelless. I'd like to hear thoughts.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
The dedicated page for this game doesn't tell anything about its end goals, so we can't rely on official requirements regarding game end here. Which options do we have then? Splitting this into 2 movies doesn't make much sense, because the game has no SRAM, therefore no newgame+ kinda branch. So we either use an emulator savestate, which is outright banned, or play the game twice. Or refuse the second quest altogether, just like with Gosts'n'Goblins. But unlike in GnG, this game features significant gameplay difference, so beating it the second time showcases more of what it has to offer. Even if the levels are the same, main mechanic is still different. And yes, since the game explicitly recognizes your second completion by stopping itself, we can say that it's an intended stopping point for this game. Some games allow SRAM or passwords to be used to reach the second quest easier, and maybe the original plan for this game was indeed to provide such a method, but as it is right now, there's no other way to reach the full stop. So we just have to play the game twice. And drop the branch label.
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.
DrD2k9
He/Him
Editor, Expert player, Judge (2037)
Joined: 8/21/2016
Posts: 1009
Location: US
feos wrote:
...this game features significant gameplay difference, so beating it the second time showcases more of what it has to offer. Even if the levels are the same, main mechanic is still different.
(Emphasis mine) This makes the most sense to me for requiring the 2nd playthrough.
Editor, Skilled player (1402)
Joined: 3/31/2010
Posts: 2081
DrD2k9 wrote:
feos wrote:
...this game features significant gameplay difference, so beating it the second time showcases more of what it has to offer. Even if the levels are the same, main mechanic is still different.
(Emphasis mine) This makes the most sense to me for requiring the 2nd playthrough.
Another thing I should mention about this is that if you just go to the second boss again without getting the jetpack first, the boss doesn't appear and you just get booted back to the hub again. The only way to get the "To be continued" message is to actually start from the beginning, with the jetpack.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
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. ---- [3724] NES Super Bat Puncher by scrimpeh in 09:53.34