(Link to video)
Submission Text Full Submission Page
This is an unlicensed demake of Donkey Kong Country (1994), ported to the NES called "Donkey Kong Country 4" by Hummer Team. The game is mainly based off of the base game, with visuals being hand drawn to lower quality and music reproduced by ear. Amusingly, it bears a copyright symbol in the opening credits, irony notwithstanding.
The movie consists of optimizing platforming, keeping in mind that all enemies with the exception of bosses, are all on local cycles from when they are spawned.

Game objectives

  • Emulator used: FCEUX 2.2.3
  • From wikipedia: The game follows the gorilla Donkey Kong and his nephew Diddy Kong as they set out to recover their stolen banana hoard from King K. Rool and the Kremlings

Comments

Some emulators set the dipswitches of this game to "either", on FCEUX 2.2.3 it defaults to DKC4, so make sure that you set the dip switch correctly if using a different ROM or emulator. Otherwise the file will instantly desync.
Running is the fastest method of movement, and all optimization is to ensure that the kongs are running most of the time. Jumps are cut to the shortest amount they can be without missing, jumping on enemies is put to a minimum and barrels are thrown away immediately.
Slopes misbehave in the game, sending the kong a pixel forward or back when jumping, and can easily be a source of wasted frames. Hopefully in this submission that is reduced to nil.
Barrels shoot you out according to where you entered. If you entered slightly to the left, the barrel will shoot you out slightly to the left, this is used in some of the barrel sections.
Diddy appears to have faster base speed on land and Donkey in water. Different Kong water speeds is used to optimize pathing in water levels.
There is little lag in the game, but where it does exist, such snakes in industry levels, it has been attempted to be minimized by killing snakes as fast as possible and picking up bananas to reduce the sprite count.

Other comments

At the end of the movie I spell out crazyjesse using morse code in my downtime.
The best comment I received about this game was doing a speedrun event when someone in the chat said something along the lines of "Why does Jesse know how to speedrun this game and not the regular game? Does he hate 16 bit colours?".

Samsara: Expand Judge.
Samsara: I'd ask you to pull out your Samsara judgement bingo cards to mark off the "Samsara calls judgement 'interesting'" square but at this point you've all marked that square so much that I don't know if the square is even readable anymore. The next version of the bingo cards will just have that square free as well. Also, it'll ensure Samsara finishes her jokes in her submission texts, instead of leaving them completely open and not noticing for several hours.
The issue here lies in optimization this time. Most of this run looks optimized, however there are two stages that stand out: The swimming stages. There is a zip used in the second swimming stage that, upon my investigation, can be used far more effectively throughout both of these stages to save a solid chunk of time. After a little more investigation, alongside being clued in to a clip discovered after the creation of the run, I discovered that these can be used in tandem to save nearly 1000 frames on the second swimming section alone.
This makes things... Well, interesting. By itself, the clip may not even save any time, but combined with the ceiling zip that was known at the time of this run's creation it turns into a single massive improvement, so it ends up being kind of a weird choice to make regarding whether or not the run as a whole should be rejected for suboptimal play. Without the clip (which, again, was discovered after the creation of this run), the improvements from zipping would be much less substantial, likely only a handful of seconds per stage as opposed to that nearly 17 second improvement. Given the rest of the run's optimization, I wouldn't consider that reject-worthy, but there was something else brought up that's leading me to the decision I'm making here. According to the linked VOD with the floor clip in the swimming stage, this run is a couple years old (clip is dated from early 2019 and this TAS predates it), and it was apparently not originally intended to be submitted. That leads me to believe that there's likely more improvements hiding around the run that just aren't obvious on plain viewing, something that a future improvement can take more advantage of. Given that, and given that there's now an estimated 20 seconds of known improvement just in the swimming stages, I'm rejecting this for now. It's INCREDIBLY close to acceptable, to the point where I'm not even convinced I'm making the right decision here. It could possibly be given a second look in the future, but right now it's hard to overlook the fact that known tricks weren't used to their fullest potential.
...Alright, let me check my bingo card... AW HELL YEAH, BINGO

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14909
Location: 127.0.0.1
This topic is for the purpose of discussing #6957: crazyjesse's NES Donkey Kong Country 4 in 13:35.34
Editor, Player (182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Very nice run! It's unfortunate that rolling and jumping slows you down, bootlegs ¯\_(ツ)_/¯ Just one thing: why the Kong swap in that water level? I don't know how they differ there.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math. My things: YouTube, GitHub, Pastebin, Twitter
crazyjesse
He/Him
Player (95)
Joined: 3/3/2019
Posts: 13
brunovalads wrote:
Very nice run! It's unfortunate that rolling and jumping slows you down, bootlegs ¯\_(ツ)_/¯
¯\_(ツ)_/¯
brunovalads wrote:
Just one thing: why the Kong swap in that water level? I don't know how they differ there.
Yeah I wrote this in the notes because it's not obvious. The Kongs have different movement speeds, Diddy runs faster and Donk swims faster. So we'd use him as much as possible in water. However, because the fish have particular movement patterns, if you switch to Diddy you can "full speed" through them as Diddy, whereas DK's speed/hitbox would have you get bopped and therefore require you to slow down and wait for a cycle. I hope that explains it. Happy to answer any other questions.
xxezrabxxx
He/Him
Joined: 7/15/2017
Posts: 199
Location: Kentucky
The sound for collecting banana's sound like the select sound from Link's Awakening
I like to comment on submissions and look around the site. You have probably seen me before (if you have been around for a while) either on the site, Discord, or any other social media. I recently took up making temporary encodes for new submissions. Also, I never forget to greet Tompa wherever I find him! "when resyncing stuff sucks it's called Resuccing" - EZGames69 “If an emulator stops being accepted to the site it should be called an emuLAMEr” - EZGames69 "oh no discord, everything I say will now be logged forever, sdfsdf, time to hide" - Masterjun "just had to give therapy to a taxi with daddy issues" - psx Current Projects: Mother 3 (75% complete)
Samsara
She/They
Senior Judge, Site Admin, Expert player (2123)
Joined: 11/13/2006
Posts: 2794
Location: Northern California
Were the swimming sections done in real time? The input looks noticeably less clean in comparison to the rest of the run, and taking a quick scan through the second one in particular (starting at 5:36 in the encode), I can see a lot of places that look a bit odd, particularly the 10 second stretch between 5:55 and 6:05 that starts with taking the long way around that shark (requiring more time spent swimming upward) and ending with what looks like an unnecessary slowdown right before exiting that little tunnel. I played around with the swimming section and found that the ceiling zipping used at 5:46 can be applied in many other places, anywhere you can get into the ceiling in fact. Using it effectively also means you don't have to switch to Diddy at all since you have more room to avoid enemies even with Donk's bigger donk. I made a quick test of what this would look like and saved over 90 frames (changed input starts around frame 21300): User movie #68190864367937085 I imagine much more careful usage of the zipping across all the swimming stages can save several seconds overall. There's a frame rule in effect, too: At one point I ended up with a file where the stage ended on the exact same frame even if I switched to Diddy, but even with that there's still a lot of potential time saves.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
crazyjesse
He/Him
Player (95)
Joined: 3/3/2019
Posts: 13
Samsara wrote:
Were the swimming sections done in real time? The input looks noticeably less clean in comparison to the rest of the run
Not done in real time, I was just not as good, this was my first tas and it was done on a potato by a potato.
Samsara wrote:
taking a quick scan through the second one in particular (starting at 5:36 in the encode), I can see a lot of places that look a bit odd, particularly the 10 second stretch between 5:55 and 6:05 that starts with taking the long way around that shark (requiring more time spent swimming upward) and ending with what looks like an unnecessary slowdown right before exiting that little tunnel.
I didn't realise you could go the other way around that shark, but yes the end of the tunnel was a blunder that I didn't want to fix because it'd require me to redo the TAS. Originally I made this TAS just for myself to see how good my record was and to give a benchmark for runners but I was encouraged by several users to submit it with the mistake.
Samsara wrote:
I played around with the swimming section and found that the ceiling zipping used at 5:46 can be applied in many other places, anywhere you can get into the ceiling in fact. Using it effectively also means you don't have to switch to Diddy at all since you have more room to avoid enemies even with Donk's bigger donk. I made a quick test of what this would look like and saved over 90 frames (changed input starts around frame 21300): User movie #68190864367937085 I imagine much more careful usage of the zipping across all the swimming stages can save several seconds overall. There's a frame rule in effect, too: At one point I ended up with a file where the stage ended on the exact same frame even if I switched to Diddy, but even with that there's still a lot of potential time saves.
This is awesome. I really had trouble getting the ceiling zipping to work consistently, and was a pure coincidence to find, in RTA we just clip in and don't zip, ans I couldn't exactly work out the magic behind it so I'd love to get some input from you on correcting these water levels. I also discovered a glitch after finishing the TAS that when timed RTA didn't seem to save time versus clipping, but zipping is probably better. Seen here: https://www.twitch.tv/videos/408927904?t=00h05m54s
Samsara
She/They
Senior Judge, Site Admin, Expert player (2123)
Joined: 11/13/2006
Posts: 2794
Location: Northern California
Getting into a ceiling looks like it's all about positioning as soon as you find one that's compatible: In theory it should be possible in every location like the above (this is in the first swimming section, around frame 3400 in the submission), though for an optimized TAS I would check every single ceiling along the route even if it doesn't look like you'd be able to get in. It might not work immediately: You'll probably have to adjust when you press A to swim upward alongside holding Up or Down to further fine tune the position. Once you're in the ceiling proper, you'll want to hold Up the entire time, and find the frame where pressing A zips you forward. If you can't find that frame, go back to adjusting your position: There may be a frame where you get zipped downward out of the ceiling entirely, repositioning a bit can fix that. Once you can zip, A can be pressed every 4 frames from there to continue zipping at top speed, it should look like this in TAS Editor when done optimally (hyperlinked to image because it's a bit tall). I've got so many other projects at the moment on top of the December submission rush, otherwise I'd look deeper into both that and the floor clip, but hopefully that should be a good start for an improvement! oops i broke it User movie #68199453342958203 Decided to look into the floor clip. I held Down + Left until going as far down as I could. Holding Right from there and then tapping A a few times will complete the clip and put you under the level... Which is essentially a giant ceiling. Zips all day. That userfile is a 1000 frame improvement by itself and it likely could be improved further, I was admittedly rushing it just to get the knowledge back to you. The slowdowns are to avoid swimming back up into the level (or into weirdly placed "holes" in the floor ceiling, that sure was a set of words I just typed and meant). Turns out you might not need to hold Up for ceiling zipping, though I'd imagine it never hurts to do it anyway.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
crazyjesse
He/Him
Player (95)
Joined: 3/3/2019
Posts: 13
Samsara wrote:
for an optimized TAS I would check every single ceiling along the route even if it doesn't look like you'd be able to get in. It might not work immediately: You'll probably have to adjust when you press A to swim upward alongside holding Up or Down to further fine tune the position. Once you're in the ceiling proper, you'll want to hold Up the entire time, and find the frame where pressing A zips you forward. If you can't find that frame, go back to adjusting your position: There may be a frame where you get zipped downward out of the ceiling entirely, repositioning a bit can fix that. Once you can zip, A can be pressed every 4 frames from there to continue zipping at top speed, it should look like this in TAS Editor when done optimally (hyperlinked to image because it's a bit tall).
This is awesome but right now I lack the motivation to do it. I'll look at seeing what it takes to resync your current improvements, but I don't know if I have the patience to do all that. I'm not very good with TASing as it is.
Samsara wrote:
oops i broke it
Fantastic work! Truly incredible that you could zip on the floorceiling.
Samsara wrote:
Decided to look into the floor clip. I held Down + Left until going as far down as I could. Holding Right from there and then tapping A a few times will complete the clip and put you under the level...
Sorry, I should have said I already knew how to do this and told you how but I'm glad it didn't take you long to work out.
Samsara wrote:
Which is essentially a giant ceiling. Zips all day. That userfile is a 1000 frame improvement by itself and it likely could be improved further, I was admittedly rushing it just to get the knowledge back to you. The slowdowns are to avoid swimming back up into the level (or into weirdly placed "holes" in the floor ceiling, that sure was a set of words I just typed and meant). Turns out you might not need to hold Up for ceiling zipping, though I'd imagine it never hurts to do it anyway.
1000 frame :O. Yeah those voids are pretty funny. One-way. Softlocks up the wazoo. To be avoided in marathon runs.
TASVideosGrue
They/Them
Joined: 10/1/2008
Posts: 2739
Location: The dark corners of the TASVideos server
om, nom, nom... blech, bitter!
crazyjesse
He/Him
Player (95)
Joined: 3/3/2019
Posts: 13
Well, when I said "Originally I made this TAS just for myself to see how good my record was and to give a benchmark for runners but I was encouraged by several users to submit it with the mistake." I didn't mean I put no effort into it, just that the one mistake was there. Disappointing result.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11275
Location: RU
It's why optimization is so important: while testing the combinations you can think of, you can accidentally hit some condition that never happened before, that could save a lot of time, and even be applied in segments that were already considered finished. This is why people keep improving existing runs too: you never know when new qualities of your work emerge from the amount of things you try. But the more you try, the more you find! New discoveries inspire new effort, which leads to newer discoveries, that's the production cycle.
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.
Judge, Skilled player (1289)
Joined: 9/12/2016
Posts: 1645
Location: Italy
crazyjesse wrote:
Well, when I said "Originally I made this TAS just for myself to see how good my record was and to give a benchmark for runners but I was encouraged by several users to submit it with the mistake." I didn't mean I put no effort into it, just that the one mistake was there. Disappointing result.
I'm sorry, but judgements can't always be predicted. After all, if we could know always know the outcome in advance, we wouldn't need to actually perform the judgement process itself. When I suggested you to submit this movie, I was taking in account only the known optimization issues that you already knew about. However, Samsara found out a bit more than that, which did add up. In the end, it turned out a borderline situation, as Samsara noted, which means that this isn't a blatant mistake, so you can't really be blamed. Unexpected rejections can happen to anyone, but in my opinion there is nothing to worry about. I consider it just as a formality, and I hope that everyone else could feel it the same way. I got quite a lot of unexpected rejections myself, but I don't regret even one bit submitting those TASes! Actually, I'm pretty proud of them, and as such I display them openly in my personal page. Have a look: Wiki: ThunderAxe31 With all that said, don't feel discouraged, and feel free to ask for anything, we're all here to help!
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"