Donkey Kong Forum

Donkey Kong Strategy => Basic Donkey Kong Strategy => Topic started by: up2ng on August 02, 2013, 09:50:46 pm

Title: Efficiency -- Some Basic Techniques
Post by: up2ng on August 02, 2013, 09:50:46 pm
I decided that the Basic Strategy section of these forums needs some love, so I wanted to try to write about something basic, yet useful, and seldom discussed.  This is what I came up with, which I feel is sort of somewhere between basic and advanced -- it's the sort of thing that players begin paying more attention to when they get to an intermediate level with the game (or at least they should be!).  Feel free to discuss.

Because of the nature of how the scoring works in Donkey Kong, including points gained between screens from the Bonus Timer, a player's scoring pace is derived from two simple sources:  The Bonus Timer, and "beating the clock" techniques, tactics and strategies.  These two concepts are somewhat complimentary -- in both cases, improving your scoring pace means playing the game with more urgency.  You are either trying to rack up points as quickly as possible by beating the clock by as much as possible, or you are trying to "conserve" as much Bonus Timer as possible while scoring the same amount of points.  There is a word that often describes the attitude of the player who pushes the envelope in these areas -- aggressive.  But, to me, there is another word that often better describes the level of execution of the player, not just in terms of tactics and strategies, but in terms of basic techniques as well . . .

-- Efficiency --

In simplistic terms, efficiency means that you are covering more ground in less time, or scoring more points with less effort (a smaller number of moves) and so on.  In a shooting game, for example, we might think in terms of hit percentages.  But, in a platformer like Donkey Kong, efficiency can be somewhat less obvious -- but make no mistake, being more efficient with your movements results in a better scoring rate, and it happens in ways that are not always clear.  These are the "hidden points" that can be more and more elusive as you try for higher and higher scores.  I'll talk about a few techniques that people should think more about when working on their games while trying to stick to the basic / intermediate levels of play.  I'm sure there are plenty of other examples which range from very basic to highly advanced, but here are a few to get the ball rolling:

Cornering

I almost never see "cornering" in DK discussed explicity.  It seems to be something that experienced players "just do" after a while without thinking about it.  What does this mean?  Just what it sounds like.  It's moving around corners within the game.  More specifically, it's moving onto and off of ladders -- the only way to make a 90 degree change in direction in the game.

As many Pac-Man players know, good cornering is essential to moving through the game efficiently -- in fact, even on levels where a ghost moves significantly faster than Pac-Man, if Pac-Man moves through a tight section of the maze and travels around a lot of corners as efficiently as possible, he can actually outrun the ghost in that section because Pac-Man is capable of moving around the corners much more efficiently than the ghosts.  Basically, several pixels along the pathway are "skipped" while moving around the corner, essentially "speeding up" the character.  Of course, in Pac-Man, moving around a corner efficiently is somewhat easy since the character moves forward on his own and the player can "lead" into the corner by changing the direction of the input way in advance so that the character will take the corner at the earliest opportunity.  We have no such luck in Donkey Kong -- and yet, there is a similar concept at play when climbing onto a ladder.

When climbing onto a ladder in Donkey Kong, we do not have to be located on the exact pixel horizontally which contains the ladder.  This is by design -- think about how frustrated a player would be if you had to turn your joystick upwards ONLY if you were standing exactly on the correct pixel!  Think about how difficult it is to unplug a rivet while reversing directions without dying.  This is what we would be going through constantly every time we wanted to climb up a ladder.  So, the programmers allowed for some leeway, a range of possible locations which would result in climbing up the ladder if the player used the upward input.

As strong players, we can take advantage of this by consistantly turning up a ladder slightly before actually arriving at the ladder.  This can save us several frames EVERY time we successfully perform this technique.  It doesn't seem like much, but it DOES add up over time -- it adds up to saved Bonus Time on some screen types, and just generally more efficient play on other screen types.  For example, on a barrel screen, we might turn up a ladder efficiently and just barely make it to the top in time to jump over an oncoming barrel -- otherwise we would have waited and the delay would cause us to miss the barrel completely for a loss in points.  Or, we might corner our way DOWN a ladder JUST as a barrel is moving over the edge of our girder -- efficient cornering means that the barrel stays on the structure and we can rejump it for extra points, if we are a bit late with our cornering the barrel rolls off the structure and is lost.  On a Pie Factory, good cornering might enable us to finish the screen with 6800 Bonus whereas it's much more common to finish with 6700.  Really good cornering on the final turn up onto the adjustable ladder enables us to worry MUCH less about getting hit in the foot by a pie entering the screen a short distance away.  On the elevator screens, this becomes absolutely essential in getting a "good jump" up Pauline's ladder, enabling us to outrun a much wider range of trailing springs than we otherwise would if we are turning this corner poorly.

Beware, however, that although the programmers clearly allowed for some flexibility when climbing onto a ladder, they failed quite miserably in doing the same when exiting a ladder -- especially at the top of a ladder.  Many players who are used to other platformer games and begin to play Donkey Kong will lose lots and lots of lives due to "getting stuck on the ladder".  This is due to a player's natural tendency to try to corner this turn efficiently and the game simply does not allow it.  You need to be completely off of a ladder before trying to run along the next platform.  Learning to do this consistantly with the best possible efficiency is just as important as good cornering -- every time you get stuck and then have to make the extra inputs required to "get unstuck" before moving on, you are costing yourself frames, and ultimately points.

Pay closer attention when turning corners and watch your scores rise.


. . . . .

This post is already getting much longer than I thought it would so I'll have to break this topic into multiple posts.  More basic techniques to discuss include:

early jumping
hammer grabbing
claiming points
jump steering
starting up a ladder


Stay tuned.
Title: Re: Efficiency -- Some Basic Techniques
Post by: hchien on August 03, 2013, 08:44:07 am
This is a great and very overlooked topic.  I find that my pace often improves without me changing anything in my game.  I also attribute it to "efficiency" although I honestly have not put in as much thought to exactly how I'm being more efficient as you have. 

When I first started grabbing the bottom hammer (no grouping), my pace was around 980-990K.  After a few months, it was 1.02-1.03M and now it's about 1.05-1.06M.  Most of that was just by being efficient.

Anyhow another topic to consider is:

jump NO steer

Sometimes what you don't steer is just as important as what you do steer. 
Title: Re: Efficiency -- Some Basic Techniques
Post by: corey.chambers on August 03, 2013, 10:19:28 am
Wow! Very nice Hank. I am around 995K with my pace. Just have to unlock this efficiency stuff and I won't have to worry about falling short ever again. :)
Title: Re: Efficiency -- Some Basic Techniques
Post by: stella_blue on August 03, 2013, 03:50:40 pm

The only situation I can think of where efficient cornering can backfire is the collection of prizes on the rivet board.  There have been many occasions where, if my execution is too "tight", I miss the umbrella and/or hat completely, and have to go back for them.

I'm interested to learn what "claiming points" is all about.

Title: Re: Efficiency -- Some Basic Techniques
Post by: VON on August 03, 2013, 04:08:06 pm
"Claiming points" refers to pressing left or right midair to ensure you are awarded the proper points for jumping over or near objects.  It may seem like an elementary concept, but the truth is, it's not good to just hit directional inputs all willy-nilly and sometimes it's better to perform a "clean jump" than having to "claim" and inadvertently steer barrels.
Title: Re: Efficiency -- Some Basic Techniques
Post by: stella_blue on August 03, 2013, 04:47:05 pm
"Claiming points" refers to pressing left or right midair to ensure you are awarded the proper points for jumping over or near objects.

Oh, I see.  It's another example of being familiar with an element of gameplay, but oblivious to the generally accepted phrase that describes it (much like "Matrix Smash" a while back).  I suspect I'll encounter a few more down the road.

Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on August 19, 2013, 03:31:12 pm
Early Jumping

Somewhere along the way I made a conscious decision to execute all of my jumps earlier.  Now it has become second nature for me, but there was a time while I was improving my game that I decided to try making this small, often overlooked adjustment and it has made a huge difference.  When I watch other people play these days, this is a pretty big factor for me in subjectively determining how good of a player someone is at this game.  It's one of those things you can see by watching that you can't quite put your finger on even though it's apparent that "there's a difference between people".

There are quite a few places in the game where jumping early becomes useful and/or important.  Many of those are on barrel screens, but it comes up in other places as well.  For example, on elevator screens, understanding how to jump earlier onto and off of the elevators will improve efficiency in completing the screen and will help you avoid errors that can lead to death which can be easily avoided through crisper technique.  On the up elevator, there is no need to wait until the elevator is level with the umbrella platform before jumping out to get this prize -- and if you are efficient enough you can go get the prize and then continue across the top on the very next elevator, but if you miss that one and have to wait for the next one, the fireball might come into play and cause further delays.  These add up to lost points due to nothing but a lack of efficiency and technique.  When jumping across the top, you should be jumping ONTO the up elevator early as well (which requires additional consideration of horizontal positioning so you don't hit your head on the elevator above you).  If you are too late getting onto the elevator, you run the risk of hitting your head on the ceiling or dying from too long of a fall on the decent.  At the bottom left corner, if you abort going for the middle prize, early jumping will make it MUCH easier for you to circle around to the bottom and back onto the elevator with maximum efficiency.  Jumping too late onto the down elevator can lead to a long fall death or it can make the resulting shortcut jump much more difficult and awkward.  Early jumping onto this elevator makes the top shelf jump possible.

When it comes to the barrel screen, early jumping over barrels can range from mildly useful to absolutely critical.  It's also almost always more efficient AND safer.  All barrels roll at the same, consistent rate.  There is a relatively wide range of possibilities for being able to safely clear a single barrel, from right next to it where you barely make it over upon takeoff to quite a good distance away from it where you barely clear it before landing. Remember, in DK, once Jumpman executes a broad jump, you no longer have any control over the character until he lands (unlike the same character's skills in the NES game Super Mario Bros. in which you can swerve his trajectory while he is in the air).  For most players, this is the main cause of death -- something unexpected happens in front of you and you try desperately to turn and retreat the other way ... but your character is already in the air and careening headlong right into the hazard. 

You can often tell a beginning player by the fact that he will often execute broad jumps late -- from right next to the barrel and landing with miles of room to spare on the other side of it.  This is a natural tendency -- the immediate obstacle is the oncoming barrel and the player wants to REALLY make sure that he is able to clear it so he performs the jump late.  Also, when you watch Jumpman's trajectory, it looks like he doesn't cover much distance in the air so it seems like you need to be near a barrel before jumping -- but that player is not taking into account that the barrel is also moving towards Jumpman (at an even faster rate), making the "effective distance" for clearance of a barrel nearly 250% longer than the distance that Jumpman can jump.

Even many intermediate and advanced players will have as their default a jumping technique over a single barrel where the barrel is rolling exactly underneath Jumpman when he reaches the apex of his jump -- meaning, the distance from the barrel upon takeoff is approximately equal to the distance from the barrel upon landing.  THIS IS STILL POOR TECHNIQUE!  It would seem logical that the "safest" way to jump over a single barrel is to maximize the amount of clearance both in front and behind, thereby giving yourself the most "room for error".  This is a fallacy.  For all but the complete novice players, the main danger posed by a single barrel is NOT the barrel itself -- it's the fact that you commit yourself to being in the air when OTHER, often unexpected dangers behind that barrel quickly present themselves while you are getting yourself further and further out of position to be able to deal with them.  So, it turns out that the SAFEST way to jump over a single barrel is to maximize the distance TO the barrel while in the air and to MINIMIZE the distance BEHIND the barrel before landing.  This gives you to most time and space to prepare yourself for the NEXT obstacle.

There are other situations where the next obstacle is KNOWN, and NOT unexpected where early jumping becomes necessary.  Suppose you have a single oncoming barrel followed by a small gap followed by a spaced pair of barrels which will require a broad jump.  Now suppose that if you perform a back jump over the lead barrel you might be crossing over a ladder with traffic over your head that might come down the ladder and kill you.  Instead, perform an early jump over the lead barrel to shorten the distance lost behind it, giving yourself enough room to execute a quick broad jump over the next obstacle.

It's important to understand that early jumping applies not just to broad jumping, but standing jumping as well, as the above example illustrates.  It's critically important to learn and practice how much spacing is necessary to clear a barrel BOTH when broad jumping AND when performing a standing jump.  In addition (and somewhat related), it's important to really understand the maximum width spacing of multiple barrels that you can clear with a broad jump AND with a standing jump.  When in tight situations, look for opportunities to perform standing jumps over multiple barrels as this will naturally minimize the distance BEHIND the jumped objects, usually giving yourself better position and spacing to tackle the NEXT obstacle. 

In addition to safety concerns, there are also many efficiency advantages to routinely early jumping barrels.  For example, an early broad jump of a barrel might land you right at the bottom of a ladder that you can quickly corner and climb just before the next oncoming barrel approaches.  If you had performed a late broad jump, you would have landed beyond the ladder, requiring you to backtrack slightly and by that time the opportunity to climb up that ladder has closed, causing a delay (and costing you points).  Even if the "position" were adjusted by pausing and then late jumping just to the bottom of the ladder, there is just enough lost TIME where ALL objects on the screen have continued moving where you might STILL lose the opportunity to climb that ladder in that situation.  This is just one simple example.  There are MANY MANY ways that early jumping on barrel screens increases efficiency which leads directly or indirectly to gaining more points on that screen.  Just a small amount of points here and there on each screen can add up to quite a lot of points by the end of the game.

Start paying attention to WHEN, WHERE, and HOW you are performing your jumps and watch your scores increase.
Title: Re: Efficiency -- Some Basic Techniques
Post by: mikegmi2 on August 20, 2013, 05:45:11 am
The first time I instinctively backjumped 3 tightly spaced barrels in a row was when I realized how important 'early jumping' was.  The closer you can land behind a barrel after jumping it, the better = more time = more real estate to work with on upcomming obstacles.  Great write up Dean.
Title: Re: Efficiency -- Some Basic Techniques
Post by: LMDAVE on August 20, 2013, 07:08:40 am
Good topic. Efficiency is a big part of my game. Keep moving forward. More running jumps. less standing jumps.
Title: Re: Efficiency -- Some Basic Techniques
Post by: marinomitch13 on August 21, 2013, 12:25:26 am
Good topic. Efficiency is a big part of my game. Keep moving forward. More running jumps. less standing jumps.

More running jumps is not necessarily the most efficient in terms of pressing for more points. Obviously, there are places in which each type of jump would be more efficient, but, in general, running jumps are actually more risky, and (assuming you don't constantly execute running jumps while either 1) not steering, or 2) steering often in the opposite direct of your jump) will cause inefficient steering of barrels. At the very least, in general, running jumps complexify many situations where standing/back jumps would be more preferable or simpler.

Context will ultimately be key. Since pressing boards efficiently is not always correlated with scaling the board quickly, and since running jumps are actually not always the best way to even scale boards quickly, it does not follow that more running jumps entails more efficiency with respect to pressing.
Title: Re: Efficiency -- Some Basic Techniques
Post by: stella_blue on August 21, 2013, 07:49:43 am
Obviously, there are places in which each type of jump would be more efficient, but, in general, running jumps are actually more risky ...

As I read Dave's post, one situation immediately came to mind:

You're on the 4th girder, running left toward the 2 ladders.  You decide to clear an oncoming, rolling barrel with a running jump.  As soon as you've committed, a wild barrel is released.  You're in the air, completely vulnerable, and no evasive maneuver is possible.  I've lost quite a few lives in that predicament, where a standing jump (or two) would have been a safer alternative.

Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on August 21, 2013, 08:46:44 am
You're on the 4th girder, running left toward the 2 ladders.  You decide to clear an oncoming, rolling barrel with a running jump.  As soon as you've committed, a wild barrel is released.  You're in the air, completely vulnerable, and no evasive maneuver is possible.

Unless you're watching Kong's cycle during this time and performing broad jumps here only when it's safe!  But that's definitely not a topic for the basic strategy forum . . .   ;-)
Title: Re: Efficiency -- Some Basic Techniques
Post by: stella_blue on August 21, 2013, 10:02:07 am
Unless you're watching Kong's cycle during this time and performing broad jumps here only when it's safe!  But that's definitely not a topic for the basic strategy forum . . .   ;-)

I'm generally more aware of Kong's animation when I'm watching someone else's stream (usually yours or Dave's).  In those cases, where I'm essentially "playing the game with my eyes", my overall board vision is much better than when I'm at the controls.

Title: Re: Efficiency -- Some Basic Techniques
Post by: mikegmi2 on August 21, 2013, 11:14:42 am
You're on the 4th girder, running left toward the 2 ladders.  You decide to clear an oncoming, rolling barrel with a running jump.  As soon as you've committed, a wild barrel is released.  You're in the air, completely vulnerable, and no evasive maneuver is possible.

Unless you're watching Kong's cycle during this time and performing broad jumps here only when it's safe!  But that's definitely not a topic for the basic strategy forum . . .   ;-)

I think that scenario was the final piece to my "Donkey Kong traps that will kill you but aren't actually traps if you look ahead for them and avoid them" puzzle.
Title: Re: Efficiency -- Some Basic Techniques
Post by: LMDAVE on August 21, 2013, 11:38:01 am
Good topic. Efficiency is a big part of my game. Keep moving forward. More running jumps. less standing jumps.

More running jumps is not necessarily the most efficient in terms of pressing for more points. Obviously, there are places in which each type of jump would be more efficient, but, in general, running jumps are actually more risky, and (assuming you don't constantly execute running jumps while either 1) not steering, or 2) steering often in the opposite direct of your jump) will cause inefficient steering of barrels. At the very least, in general, running jumps complexify many situations where standing/back jumps would be more preferable or simpler.

Context will ultimately be key. Since pressing boards efficiently is not always correlated with scaling the board quickly, and since running jumps are actually not always the best way to even scale boards quickly, it does not follow that more running jumps entails more efficiency with respect to pressing.

Well, I'm not saying every time do forward jump, but when you have the option it should always be forward running to keep moving. Unless you're in an extremely risky situation, taking risk is what gives the payout in this game. If you're going from point A to point B, if you stand jump certain barrels vs forward jump, when you get to you next destination you'll lose some unnecessary timer points. Another good example is, when you're climbing up a ladder and a barrel is approaching, most will just stand jump the barrel, and in some cases you have to, but if you do a left/right jump over it, you just added to your efficiency on the board.

True, the majority of what I speak is beneficial in speed running. But, even during normal pressing game, you can still do the same pressing while banking a few extra bonus pts.

If they actually tracked a speedrun killscreen, I'd like to go for it.
Title: Re: Efficiency -- Some Basic Techniques
Post by: marinomitch13 on August 21, 2013, 09:09:42 pm
You're on the 4th girder, running left toward the 2 ladders.  You decide to clear an oncoming, rolling barrel with a running jump.  As soon as you've committed, a wild barrel is released.  You're in the air, completely vulnerable, and no evasive maneuver is possible.

Unless you're watching Kong's cycle during this time and performing broad jumps here only when it's safe!  But that's definitely not a topic for the basic strategy forum . . .   ;-)

My preferred method! ^

If they actually tracked a speedrun killscreen, I'd like to go for it.

This should happen! We might as well start this track using Vince's first-man KS as the starting point. Hopefully Dean still has his speed-run KS INP somewhere too.
Title: Re: Efficiency -- Some Basic Techniques
Post by: tudose on August 21, 2013, 10:28:34 pm
speedrun kill screen sounds pretty cool. id definitely give that a shot. i have wsplit somewhere on this comp so i could even make splits...
Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on April 01, 2014, 09:37:59 am
Hammer Grabbing

A technique as simple and basic as grabbing the hammer can easily be taken for granted.  But, as a player improves his skill and knowledge of the game, it is important to explore and become familiar with the wide variety of WAYS that the hammer can be grabbed.  Once this array of techniques becomes mastered, you will then have a wider range of options available to you in order to increase your scoring efficiency and your safety.

In general, it is important to understand that your Jumpman sprite has a height and width of a certain number of pixels.  The hammer, before it is grabbed, also has a "hitbox" of a certain height and width in pixels.  When these two hitboxes overlap, Jumpman grabs the hammer.  So, Jumpman can perform a broad jump to the left, a broad jump to the right, or a straight up jump in order to grab the hammer.  Obviously, you should often choose the one that best takes you where you are already trying to go in order to improve your efficiency.  But, there's more to it than that.  Because of the collision detection between these two hitboxes, you have some flexibility as to HOW and/or WHERE you are performing these broad jumps or straight jumps.  For example, you can straight jump and grab the hammer from directly underneath it.  That should be obvious.  But, a more subtle maneuver is that you can inch yourself a couple of pixels to the left or to the right from this location and then jump straight up and you'll STILL grab the hammer!  That is because those hitboxes have dimension and they need only slightly overlap in order to grab the hammer.  Knowing and using this knowledge in a split second can often mean the difference between life and death.  It can also allow you to aggressively risk a hammer grab in a tight spot that otherwise
would be impossible and therefore would cause delays while waiting for a better opportunity.  That's increased efficiency, which means an increase in points.  Notice that this concept also applies to the broad jumps, which can be initiated from a small RANGE of horizontal positions, all of which will enable the hammer grab.

For example, on Level 5+ barrel screens the fireballs move very quickly.  A common point pressing tactic is to wait underneath the bottom hammer until the fireball begins to climb up the small lower right ladder.  As soon as the fireball begins climbing the ladder, the player jumps straight up and grabs the hammer and quickly smashes the fireball.  But, if the player is directly underneath the hammer or is accidentally a bit further to the right than this and if his reflexes are slow and/or is facing the wrong direction, this fast moving fireball can actually climb all the way up the ladder and kill Jumpman before he lands and smashes the fireball.  To compensate for this, simply move a couple of pixels to the left of center under the hammer and when the fireball climbs you will have created enough of a buffer for yourself to give yourself enough time to easily smash this fireball, and yet you are still close enough to the hammer to be able to perform a straight jump to grab it.  Becoming familiar with this positioning and taking advantage of this technique makes this portion of the game much easier and allows you to take increased risks in setting up better bottom hammer setups, which means increased efficiency and more points.

Another example of this technique is when grabbing the bottom hammer on the conveyor screen.  Imagine that you grab the bottom prize and climb up the right side bottom inner ladder to the conveyor level just before a pie closes this route off, moving from the right.  So now the conveyor is moving to the left and the pie is directly to your right.  At this moment a fireball begins decending the left side central ladder, down to the conveyor to your left.  A common mistake is to broad jump to the left to try to grab this bottom hammer, but the momentum carries you into the fireball, which quickly reversed back to the right, before you can smash it.  Somewhat counterintuitively, a better option is to quickly RUN to the left (WITH the grain of the conveyor), to provide yourself just enough seperation away from the pie and then perform a STRAIGHT jump along the RIGHT EDGE of the hammer to grab it.  When you land, you'll just barely avoid landing on the pie and you'll just barely provide yourself with enough of a buffer to land and smash the fireball before it crosses all the way over to the right side to kill you.  This is an aggressive play which is survivable only with the correct combination of techniques, but when successful it adds a lot of efficiency to this situation.

Similarly, on the rivet screen, when using the weave, you'll often be looking for a split second opportunity to run into the central area and grab the top hammer among 5 fast moving firefoxes.  If you remember that you only need to run far enough in to be able to jump STRAIGHT up along the LEFT EDGE of the hammer, you might be able to manufacture an opportunity to grab the hammer with just enough buffer to smash an oncoming firefox when you'd otherwise be forced to retreat and face considerable delays and lost points.  Another option in this particular situation might be to overrun the hammer slightly and then backwards jump back to the left (while still facing to the right if possible, but is usually unnecessary), attempting to grab the LEFT EDGE of the hammer while BROAD jumping back.  This has a similar benefit of creating some buffer away from an oncoming firefox, while also reducing the risk associated with "missing" the hammer grab.  Note that this option was unavailable in our specific conveyor example above due to the presence of the pie, and in this rivet situation if another firefox were to decend down the left side ladder this option would be closed as well.

Another point to remember is that if you are approaching this rivet top hammer from the ladder below (star pattern) and you immediately jump straight up for this hammer after climbing to the top of the ladder, you will always land facing the same direction (I believe you will be facing to the left), regardless of which direction you were last running before climbing up the ladder.  So, the time that it takes to turn around with the hammer in hand COULD be just enough to kill you if there is an oncoming firefox from the right (due, in part, to the annoying "feature" that certain frames within the animation occasionally cause Jumpman to make a "wide" turn with the hammer and enables objects to get "inside" the hammer and kill Jumpman which ordinarily would have been smashed).  To avoid the wide turn affect, many players attempt a technique of pulling a pixel or to away from the object with the hammer in hand and then quickly turning around for a smash, which seems to have less than 100% effectiveness.  Instead, in this specific situation, a tricky technique can be used where, at the top of the ladder, run just a couple of pixels to the RIGHT, towards the oncoming firefox, and then quickly reverse and BROAD jump backwards to the LEFT, grabbing the LEFT EDGE of the hammer, providing yourself a better buffer, and therefore generally
avoiding the wide turn death when smashing the firefox.

Note that a couple of the hammers in the game -- specifically the top hammer on barrel screens and the bottom hammer on rivet screens -- can be grabbed while wall jumping.  You can take off from slightly different locations to create different wall jumping angles while still grabbing the hammer, or, alternatively, there are places where you can initiate these wall jumps WITHOUT grabbing the hammer.  In general, wall jumping while grabbing these hammers should usually be avoided due to the increased safety and efficiency gained by performing a standing jump to grab these hammers.

Beyond this, there are several additional hammer grabbing techniques, particularly on the barrel screens, that aid in point pressing.  For example, when grabbing the bottom hammer, as a barrel is rolling towards you, instead of jumping up for the grab just before the barrel arrives, try waiting for the barrel to get very close to you and then perform a back jump over the barrel (jumping in the same direction as the barrel as it just barely rolls under you) while simultaneously grabbing the hammer, and then reach back and smash this barrel that you just jumped over!  This adds to your efficiency in multiple ways.  First, you are scoring 400 points from this barrel object instead of just 300 because you jumped over it for 100 points first, and then smashed it for another 300 points.  In addition, while you were performing this technique, you allowed ALL other barrels to roll another few girder sections and you allowed Kong to get about half way through another barrel release cycle before you grabbed the hammer as compared to jumping straight up and grabbing it
before this oncoming barrel arrives.  This will often translate into one additional object smash with your bottom hammer, creating an additional 300 point smash.  Even if you consider that this happens only about half of the time and most of the time you would have jumped over this last barrel for 100 points anyway, you are still creating about 100 additional points on the back end with this technique, for a total of about 200 points in added efficiency.  In addition, by back jumping, you will often be in a better position (closer to the right edge of the screen) to begin performing the complex barrel steering techniques with the bottom hammer, including possible jump steering while in the air while grabbing the hammer!  Wow, nice multitasking Jumpman!

There are additional variations on this technique.  For example, if two barrels are rolling right next to each other such that an easy standing jump can clear both barrels for 300 points, a great technique to master is jumping and grabbing the hammer in such a way as clear both of these barrels for a 300 point jump and also reaching back and smashing the trailing barrel for another 300 points.  At first, it would seem that this is the same as just grabbing the hammer earlier and getting two smashes for 300 points each.  BUT, any technique like this one that involves delaying your hammer grab without any lost points on the front end will often translate into an increase in points gained on the back end through additional hammer smashes as already mentioned.

On the top hammer, players can learn to master a riskier technique of performing an Early Jump forwards over an oncoming barrel while grabbing the hammer and then reaching back and smashing this barrel as it slowly rolls off of the edge of the girder.  The advantages are similar to the back jump technique for the bottom hammer in that you get an extra 100 points for jumping over this barrel, and you increase the chance for an extra hammer smash on the back end.

There are other subtle hammer grabbing techniques as well such as "Matrix smashing", pie
distribution timing, and the dreaded and contraversial fireball jumping (which I do not recommend except as a last resort) which begin to move beyond the scope of this Basic Techniques primer.  The point is, learning to master fundamental aspects of the game such as Hammer Grabbing to a high level can enable you to make more aggressive and efficient decisions throughout the game, which will lead to higher scores.
Title: Re: Efficiency -- Some Basic Techniques
Post by: marinomitch13 on April 01, 2014, 09:56:01 pm
Great post, Dean! One little thing I'll add is that when you are contemplating jumping over a barrel with a front jump while gabbing a hammer (with the intent on turning around to smash it), realize that this is actually much easier to smash the barrel you jumped with the top hammer than compared to when you try this with the bottom hammer. This is because you get a little more lee-way with how much wiggle room you have because of the barrels rolling over the edge off the 5th girder (they move left in the x-axis direction less when they are in the process of rolling off an edge) than you do on the 2nd girder when they are still rolling like normal on the top of the girder.
Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on November 22, 2014, 10:43:01 am
Ok, I'm going to finish this thread if it kills me!

Claiming Points

The way that the game of Donkey Kong determines how many points you have scored when you jump over an object is somewhat flawed.  Originally through careful observation and then later through code analysis, the algorithm by with the game awards points has been precisely determined.

This is how it works.  At the peak of Jumpman's jump, the game looks at a specific area under you (horizontally and vertically) to determine which objects are under you at that moment.  The game then assumes that you have jumped over these objects (and ONLY these objects!).  If the player is standing still and keeps the joystick neutral and simply presses the jump button, the game will check an area that includes just 5 pixels to the left and 5 pixels to the right of Jumpman's position for objects.  However, if the player is holding the joystick to the LEFT or the RIGHT at the peak of the jump, the game assumes that Jumpman is performing a running jump and will check an area that includes 19 pixels to the left and 19 pixels to the right of Jumpman's position for objects!

Because of this limitation, it is not uncommon for a player to jump over a barrel and not be awarded any points!  The reason is because the barrel has passed outside of this small scoring zone at the peak of Jumpman's jump.  Another common observation is that the player jumps over a group of two barrels, which should award 300 points, but the player only receives 100 points.  Again, this is because one of the two barrels is outside the scoring zone when the game is checking for object and awarding points.

The key to exploiting this algorithm and "claiming" your points is realizing that the game does not actually know if you are performing a standing jump or a running jump AND it does not actually know if the objects that it finds in your proximity have been jumped over or not!  Therefore, although it's somewhat awkward and counterintuitive at first, players should always press and hold to the right or to the left after jumping, regardless of whether they are performing a standing jump or a running jump!

When watching an expert play Donkey Kong, you will see that they perform lots of standing jumps during play.  What's a lot less clear from watching the gameplay is that this player is virtually always pressing and holding to the right or to the left immediately after performing all of these standing jumps.  Actively doing this on purpose throughout your gameplay is considered "claiming your points", because it's an extra (and somewhat awkward) action that the player must take that will increase his chances of scoring points.

Once a player understands how to claim their points while jumping and realizes that points are awarded based on their corresponding proximity to objects at a certain moment rather than whether or not the players has actually successfully jumped over an object, that player can now begin searching for additional and more creative ways to score "proximity points" when they have not even jumped over the object!  Many techniques which take advantage of this have become known as "leeching" an object (not to be confused with points leeching tactics on other games which consist of continuing to score points without ever advancing the game).  Leeching objects might be considered as an advanced technique and so is somewhat beyond the scope of this thread, but the idea is that you can score points from barrels that are moving down ladders, fireballs that move away from you, pies that move away from you, falling springs and even Donkey Kong's foot among many other possibilities WITHOUT actually jumping over these objects!  This is done with the same technique of "claiming" your points by pressing to the left or to the right at the peak of Jumpman's jump while in close proximity to these other objects.

Concentrate on actively claiming your points during gameplay and watch your scores increase!
Title: Re: Efficiency -- Some Basic Techniques
Post by: stella_blue on November 22, 2014, 11:55:23 am
At the peak of Jumpman's jump, the game looks at a specific area under you (horizontally and vertically) to determine which objects are under you at that moment.

Hey Dean,

Can you provide any details of how "vertical proximity" figures into the awarding of points, if at all?

Because of this limitation, it is not uncommon for a player to jump over a barrel and not be awarded any points!

These zero-point barrels are also referred to as "bagels" (or "donuts").

Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on November 22, 2014, 12:15:33 pm
At the peak of Jumpman's jump, the game looks at a specific area under you (horizontally and vertically) to determine which objects are under you at that moment.

Hey Dean,

Can you provide any details of how "vertical proximity" figures into the awarding of points, if at all?


The most common scenario where we see players take advantage of "vertical proximity" while point pressing is on the elevator screen when players will leech the right side fireball for 100 points per jump.  This fireball is located on a platform that is significantly higher than the one that Jumpman is standing on, so it would be impossible for Jumpman to actually jump over this fireball, and yet the game still awards 100 points for this leech because the fireball is still within the vertical scoring range that the game checks for objects while awarding points.  Along that same example, while that fireball is climbing up that ladder en route to this upper platform, the player can perform a leech while that fireball is significantly lower than jumpman's vertical position and will still be awarded points for the same reason.  This also comes into play when players leech barrels that are decending ladders when it would have been impossible for Jumpman to have actually jumped over this barrel due to its height on the ladder -- 100 points are still awarded if it falls within the vertical (and horizontal) proximity at the peak of the jump.
Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on November 22, 2014, 12:22:05 pm
Jump Steering

Jump steering is a technique that involves steering while jumping (duh!).  According to the code, the only object in the game that can be "steered" is the barrel.  Therefore, this section is only relevant to barrel screens.  However, since barrel screens make up nearly half of the game, it's worth discussing!

The technique of steering a barrel refers to actively pressing the joystick in the direction of a ladder (the top of which is at a higher platform than Jumpman's current position) at the same moment as a barrel is passing over the top of that ladder in an effort to increase the liklihood of that barrel decending that ladder.

The probabilities of successfully steering will change based on the current internal difficulty (loosely related to which Level the player is on).  On the highest internal difficulty (once the player reaches Level L = 5, the game will always run at its highest internal difficulty), barrels are "steerable" 75% of the time.  When steerable, if jumpman is located on or directly under the ladder or is actively steering the barrel as described above, the barrel will always decend the ladder.  If the player is NOT actively steering the barrel, the barrel will still decend the ladder 25% of these times that it was actually steerable.  So, overall, if a player attempts to steer the barrel, it will decend 75% of the time, and if the player is not attempting to steer the barrel, it will decend 18.75% of the time.  So, clearly steering can be a highly effective technique!

There are several reasons why a player might want to intentionally steer a barrel.  Common reasons include grouping (bringing two or more barrels closely together in order to increase the scoring potential of jumping over these barrels -- this advanced technique is beyond the scope of this thread), steering barrels out of harm's way (steering barrels down the broken ladders on the sides while climbing up the middle of the structure), creating openings to climb higher up on the structure, ungrouping a bad (unjumpable) group of barrels, and for efficiency reasons, among others.

Steering for efficiency reasons basically refers to the act of aggressively steering a barrel into your path so that you can jump over the barrel and continue progress through the rest of the screen earlier than you otherwise would have if you had simply waited for the barrel to reach you along its natural path.  If you can get the same number of points for jumping over the barrel while also reaching the next point of the structure earlier, you are essentially saving Bonus points while not losing out on any gameplay points.  This increase in efficiency improves the overall scoring rate.

The act of jump steering simply expands upon all of the advantages of steering while Jumpman is in the air in the midst of performing a jump.  Remember, steering is NOT based on Jumpman moving in the direction of the ladder, it is based on the PLAYER pressing the joystick in the direction of the ladder!  While Jumpman is running, these two events correspond.  If the player presses Left, Jumpman runs left.  However, while Jumpman is jumping, the player can be pressing left OR right OR allow the joystick to remain neutral while Jumpman is in the air.  Jumpman could be performing a standing jump or a broad jump in one direction or the other, and (unlike most other platformer video games), moving the joystick while Jumpman is in the air does NOT influence Jumpman's trajectory at all!  (This is part of the reason why Donkey Kong is so difficult for beginners, they often mistakenly assume that they can adjust Jumpman's trajectory once in the air like they can in many other games and end up jumping straight into danger that they are helpless to avoid once Jumpman leaves the ground.)  Experienced players can take advantage of this mechanic by intentionally steering (or intentionally NOT steering!) barrels while in the air. 

There are many combinations / situations where jump steering can be effective.  The most common (and often unintentional) is broad jumping a barrel and continuing to hold in the direction of the broad jump, thereby steering more barrels ahead of you down into your oncoming path.  Alternatively, we can choose NOT to steer this next barrel by letting go of the joystick during this broad jump (at the risk of losing the points awarded for jumping over the current barrel -- see "Claiming Points" earlier in this thread) or by quickly reversing the direction of the joystick while in the air.  In other words, we broad jump to the left and then quickly slam the joystick to the right while in the air!  This will intentionally avoid steering oncoming barrels while in the air.  Simultaneously, it is important to realize that this same action WILL actively steer barrels BEHIND you!  This is a second, often unrelated reason to perform this same exact maneuver.  You may wish to steer barrels behind you out of harm's way and/or clear an easier and faster route to climb up to the next platform of the structure more efficiently.  Again, this is done by reversing the direction of the joystick while broad jumping in order to jump steer these barrels behind you.

Other examples:

Perform a standing jump over a barrel while "claiming points" forward in order to aggressively move another barrel into your path quickly. 

Perform a standing jump over a barrel while "claiming points" backwards in order to AVOID steering an oncoming barrel OR in order to steer barrels behind you out of harm's way. 

Jump AWAY from an oncoming barrel while steering FORWARD towards a ladder in order to group another barrel with this one before jumping over it.

There are many other possibilities. 

Lastly, let's consider how jump steering effectively can actually add to our efficiency.  Let's think about a common example where we are on the 5th girder and have passed beyond Kong's Ladder and are running towards the top right ladder.  Kong has just released a barrel.  We can make a quick running motion back to the left and steer this barrel down Kong's ladder and out of harm's way.  However, if we are positioned too far to the left then as we continue to the right and Kong quickly releases ANOTHER barrel, we might not be able to make it to the top of the top right ladder before this second barrel reaches that part of the structure.  So, we might be forced to steer this additional barrel down Kong's ladder AGAIN before climbing up to the 6th girder.  However, if we had instead jump steered that first barrel by jumping to the right (over nothing, just jumping forward) and then steering to the left while in the air and forcing that first barrel down Kong's ladder, we have just covered a lot more ground in the same small amount of time than we did with the normal steering motion.  In this case, we might make it to the top of the top right ladder before that second barrel reaches that point and we can now jump over that barrel for 100 points. -- That 100 points is essentially points gained through simple efficiency in moving through the screen.  Efficiency gained in this case through jump steering.

Actively include jump steering into your game and watch your scores increase!
Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on November 22, 2014, 01:34:10 pm
Starting Up a Ladder

This simple efficiency technique is exactly what it sounds like -- it's the act of aggressively starting to climb a ladder (usually up although it could be down) when it's unclear whether or not you'll have to turn around and retreat.  Typically, the idea is to begin climbing up the ladder to a certain point and then stopping, waiting to see if some event occurs that will let us know if we should continue climbing up or if we should retreat back to our previous platform.

Like the other techniques in this thread, the idea here from an efficiency standpoint is to make as much progress in completing the screen as possible more quickly than would happen with more conservative approaches.  This more rapid progress enables us to "beat the clock" and create more Bonus points than we otherwise might have achieved and this will increase our scoring rate.  In addition, sometimes sitting back and being extra careful and conservative can actually lead to more danger down the road (including the danger of running out of time) than we would get into by aggressively seeking a proactive solution to a given situation -- therefore, more efficient play can often lead to a better chance of staying alive -- and THAT creates the most significant score increase opportunities of all!

Here are some examples to better explain this concept:

Level 5 barrel screens -- When climbing the small ladder from the 4th to the 5th platform, experienced players know that this ladder is unsafe from wild barrels at this level.  If a player climbs up this ladder at random, they run a significant risk of dying from a wild barrel.  So, the common solution is to simply wait near the bottom of this ladder (outside the Bomb Column, or Death Zone) for Kong's animation to proceed beyond the point where he is capable of releasing a wild barrel for his current barrel deployment.  At that moment, if current barrel and fireball traffic dictates that it might be safe, the player now climbs up this small ladder to the 5th girder.  The trouble is, unless the player immediately moves to the left and grabs the top hammer, he is now often in an awkward spot.  His immediate position at the top of the small ladder is still unsafe from wild barrels, and there typically is not enough time to immediately move to the right through the Bomb Column before Kong's next animation cycle.  Meanwhile, increasingly complex barrel traffic is oncoming and can cause problems.

A small adjustment can make a big difference here.  If the player aggressively climbs up about 1/4 of the way up the small ladder and then stops to watch Kong's animation, he will still have enough time to retreat and step aside if Kong releases a wild barrel.  But, if the coast is clear, the player can quickly navigate to the top of this ladder and then move to the right, crossing over the Bomb Column just before Kong is able to release a Bomb on his next barrel deployment.  This quick repositioning decreases the awkwardness of dealing with multiple threats, the barrel traffic is typically less congested, and we can now create more efficient grouping opportunities if point pressing.  (The details of advanced grouping tactics are beyond the scope of this thread.)

Level 5 rivet screens, star pattern -- When attempting the star pattern on a rivet screen, it is not uncommon for the fireballs to move to the left side of the screen so quickly that Jumpman is cut off from being able to climb up to the upper platforms to complete the pattern.  If, for example, jumpman is stuck on the 2nd platform and a fireball is hovering overhead on the 3rd platform (near the bottom hammer), the normal reaction is to stand on the second platform, somewhat away from the ladder and wait to see what happens.  If, instead, we position jumpman to climb 1/4 to 1/2 way up the left side ladder while the fireball moves back and forth above, we will be better positioned if the fireball continues just slightly to the right for a brief moment to quickly climb up and then climb up again, sneeking past the fireball and efficiently continuing with our star pattern, potentially saving hundreds or even thousands of Bonus Points in the process!  It is beyond the scope of this thread to go into the details of fireball movement and their predictability, but experienced players can take advantage of what they know about fireball movement to make quick, decisive runs past them in situations like this, but they would be unable to do so unless Jumpman is positioned aggressively close to the fireball to begin the maneuver.  As long as we leave ourselves just enough time to climb back down and retreat to a different section of the structure whenever the fireball moves towards the ladder and threatens to climb down it, we can be sure to maintain maximum efficiency throughout the process -- often jockying slightly up and down the ladder as the fireball moves left and right above.

Level 5 rivet screens, star pattern, top hammer -- Similar to the previous example, another common situation on the rivet screens involves Jumpman hanging out in the middle of the 3rd platform, trying to climb up to the 4th platform to grab the top hammer while one or more fireballs patrol the 4th platform above.  Without going into too much detail about advanced knowledge of fireball behavior, experienced players are aware that fireballs cannot climb or decend ladders directly after moving left (in most cases).  We can take advantage of this by aggressively climbing up the first 1/4 to 1/3 of the middle ladder as the fireball is slightly to the right of the top of this ladder, knowing that it will be required to cross over the top of the ladder, reverse, and then climb down in order to get to us -- each of which happens with fractional probability and which would take an unnegligible amount of additional time for the fireball to execute than if it were located in the identical position to the left of the top of that middle ladder.  As the fireball crosses over and moves to the left of the ladder, we must retreat further down the middle ladder, and as the fireball moves to the right of the ladder and even further to the right, we can inch our way higher and higher up on the ladder.  This constant jockying for position rather than simply waiting on the 3rd platform is often the difference between reaching the top hammer successfully and timing out.  It can also mean the difference of considerable amounts of Bonus Points.

Level 5 Pie Factory, attempting a free pass -- A commmon basic strategy for passing pic factory stages is known as the "free pass".  This is executed by waiting on the left half of the screen until all 5 fireballs pop out of the oil can (they will all pop out on the left side if we wait long enough), and then quickly climbing up the right side of the structure to the top.  Once we get to the bottom conveyor, we must quickly run to the right against the grain and begin climbing up the next ladder.  If some fireballs are beginning to decend down to this middle section of the structure, in most cases (carefully considering the position of the pies below us) we should continue climbing up this ladder at least 1/2 to 2/3 of the way up and look aggressively to sneak past the fireballs and continue on with the free pass pattern.  If it becomes necessary to retreat we can use the speed of the conveyor and the bottom hammer to get ourselves out of trouble -- note that we can retreat slightly later than normal since the speed of the conveyor can carry us away from an imminent collision faster than normal running would have.

There are many other examples, but the idea is the same.  Be aggressive about progressing through the structures as efficiently as possible, which includes often starting up ladders knowing that we may have to turn back and retreat.  This little bit of extra real estate gained can lead us to decisions that can keep us alive and can lock in a LOT of Bonus Points.

Begin to take advantage of more opportunities to start up ladders in the direction where you'd ultimately like to go and watch your scores climb!
Title: Re: Efficiency -- Some Basic Techniques
Post by: QAOP Spaceman on November 22, 2014, 03:23:16 pm
This is brilliant stuff... thanks for this, Dean - what dedication.

 
Title: Re: Efficiency -- Some Basic Techniques
Post by: stella_blue on November 23, 2014, 07:36:38 am
The most common scenario where we see players take advantage of "vertical proximity" while point pressing is on the elevator screen when players will leech the right side fireball for 100 points per jump.  This fireball is located on a platform that is significantly higher than the one that Jumpman is standing on, so it would be impossible for Jumpman to actually jump over this fireball, and yet the game still awards 100 points for this leech because the fireball is still within the vertical scoring range that the game checks for objects while awarding points.

Understood.

What I'm trying to get at is the size of the "scoring zone".  Is the vertical proximity, in number of pixels, the same as it is in the horizontal direction?  In other words, is the scoring area square, or simply rectangular?  Also, does holding left or right at the apex of the jump similarly expand the vertical component?  I could conduct an experiment while leeching the fireball on the elevator stage, using a combination of the MAME debugger and individual frame advance, but I'm hoping to avoid that.

Title: Re: Efficiency -- Some Basic Techniques
Post by: up2ng on November 23, 2014, 05:22:50 pm
The vertical dimension of the scoring zone appears to be independent of the horizontal dimension and is unchanged by player input. 

A quick check through the code shows that at line number 2868 this vertical dimension appears to be set to +/- 8 pixels away from Jumpman's "adjusted vertical position".  I believe that the "adjustment" (12 pixels) sets the position at a point that corresponds to where Jumpman would be if he were still standing ... and then adds one more pixel.  This additional pixel I believe is to compensate for the fact that the collision boxes (and the location pixels) of the other objects in the game are generally set to be slightly lower than Jumpman's. 

Perhaps Ethan can draw us a diagram!  :-)