Author Topic: "Fixing" DKjr  (Read 8312 times)

0 Members and 1 Guest are viewing this topic.

Offline Sock Master

  • Senior Member
  • *
  • Posts: 238
"Fixing" DKjr
« on: September 27, 2016, 04:52:51 PM »
I'm near the stage where I can finally start coding for Donkey Kong Junior "Remix".

Before I start that, I figured it would be a good learning exercise (and a good idea in general) to go through DKjr and fix some of it's issues.   I have some ideas, but it'd be good to have some feedback.   Maybe we could use this thread to bounce some ideas for things to fix, maybe include occasional binaries for testing and feedback.

First, the control lag!  This is an obvious issue.  When Jr is climbing vines and moves left/right, then stop... if you try moving up or down, there will be some random amount of lag (up to 15 frames!) before the first up or down motion will even begin.   That's the easiest & worst case example to trigger, but it seems to affect just about any movement following a different movement.

I've started tackling that.   There is a timer to sequence movements, and when you're holding the joystick in a direction the timer decrements until it hits zero and then the next step of motion is allowed.  The solution?  Allow the timer to decrement to zero even if you're not pushing the joystick.   This alone is a huge reduction in the game's frustration.   This doesn't totally fix a 2nd issue of climbing one way then suddenly wanting to climb a different direction - it still has to count out that timer before you can switch directions..  later maybe I'll make two timers, one for vertical and one for horizontal motion - that way they can't interfere with each other.

2nd, the springboard!   It's definitely broken.  This took a bit more digging to unravel, but it seems to boil down to the jump trigger being a momentary input.  The code seems to check for a jump press 7 times when you land on the springboard, but it seems to be every other frame - if you happen to press the button during one of the frames where it *doesn't* check the button, it'll totally miss it.   For this, I added a second button-input variable that increases the momentary jump signal to 2 frames long instead of 1 frame.   That way a button press will always register.  100% success, no button mashing necessary, just press at the right time.

I know the scoring for jumping over multiple enemies is illogical too.  Not sure what the preferred scoring rates would be.   Something I'll be looking into later.

If anyone can chime in with other things that ought to be fixed (like camping at Mario's hideout), let me know.

« Last Edit: September 27, 2016, 04:56:35 PM by Sock Master »
"Badges? We ain't got no badges. We don't need no badges. I don't have to show you any stinkin' badges!"
Twitch TV  Streamer

Offline homerwannabee

  • Spring Jumper
  • *
  • Posts: 1312
Re: "Fixing" DKjr
« Reply #1 on: September 27, 2016, 05:45:24 PM »
Camping can be ended by using the bird stage timer on the hideout stage.  Or you could make the hideout stage timer 4000 instead of 8000.
"Perception forged in delusion and refined by pain"

-Ross Benzinger

"It's like we are able to play beautiful music out there, but no one can hear the instruments"

-Leon Shepard
DK3 World Record Holder DK Jr. Killscreener DKF Blogger Crazy Kong Killscreener Twitch TV  Streamer DK3 Repetitive Blue Screen

Online WCopeland

  • Spring Jumper
  • *
  • Posts: 567
Re: "Fixing" DKjr
« Reply #2 on: September 27, 2016, 06:12:37 PM »
With the bugs fixed, DKJr has the potential for improvement, but there are some design concerns.

The first priority imho is that a "DKJr Remix" should not pivot to be more like Donkey Kong. DKJr is its own separate entity, and the things that make DKJr fun should not necessarily be the same things that make DK fun. With that in mind, some core principles still apply:

1.] Burning the clock out for points is boring no matter what game it is (think leeching Kong's leg on the rivet stage, or leeching off the spring on L=02 and L=03). There are some examples in DKJr as well, such as point pressing on the jungle/vine board and point pressing in the hideout. I don't agree that the timer should be limited. I think there should be more randomness thrown into these leeching elements to make the risk+reward factor much higher, similar to DK barrel board grouping. DKJr lacks this kind of depth, and adding this kind of player choice is what it desperately needs. DKJr has a reputation for being "pattern-based", and while some of that is good, other parts are not so good.

2.] With the exception of bonus stages, there should never ever be an instance of a DK Remix "crack corner" similar to the rivet board (especially on 1-2). This is too random to be taken seriously in competition, even more random than the standard DK 1-2. If you're shooting for a great score and the fireballs don't cooperate perfectly, it's an insta-reset over the course of multiple screens. If this were to be on a bonus stage, I would strongly recommend "capping out" the bonus stage. For example: you have a bucket of 8000 points to fill, if you fill them in a crack corner scenario more power to you.

3.] There may be some differing opinions on this, but blank level labels are jarring. Having a L=A, L=B, and L=C is really cool and part of the JR charm that should definitely remain, but from a spectator perspective seeing nothing for the level indicator makes a game more difficult to follow.

4.] The point spread in DKJr needs to have a serious evaluation if we're talking about design. In DK, you have a tight but elegant point spread representing every rung of the ladder, meaning a 850k kill screen, 900k clean-up phase, 1.02m, 1.07m, 1.1m, 1.13m, 1.15m, 1.2m+. These are zones that gameplay will fall into when playing to a certain formula if that formula is perfectly executed, no matter what happens. DKJr has some zones of its own, but they're much more erratic and there are fewer of them. There are fewer rungs on the ladder because the skill ceiling is not as high as DK, and that's a serious problem.

That's really all I can think of. The most glaring issue with DKJr is most of the point pressing is boring as fuck. There is very little randomness to it... it's just tedium. It's easy to learn. It's easy to master. With DK, grouping can take literally months and months to learn because of all the weird edge cases you'll find -- all of which are survivable... that is very important. It definitely wasn't designed that way, it's just a beautiful accident. With the exception of screens that are more cerebral (the chain board), the skill ceiling for the game is much lower than DK.
« Last Edit: September 27, 2016, 06:22:54 PM by WCopeland »
Twitch TV  Streamer DK Killscreener DK 1 Million Point Scorer DK Online Open #4 Winner DK 1.1 Million Point Scorer Crazy Kong Killscreener DKF Blogger Pauline WR Holder DK 1st Man Million DK 1st man 1.1 Million DK Jr. Killscreener 1 Million Point Trifecta DK Arcade WR Holder DK 1.2 Million Point Scorer

Offline Sock Master

  • Senior Member
  • *
  • Posts: 238
Re: "Fixing" DKjr
« Reply #3 on: September 28, 2016, 08:00:08 AM »
The first priority imho is that a "DKJr Remix" should not pivot to be more like Donkey Kong. DKJr is its own separate entity, and the things that make DKJr fun should not necessarily be the same things that make DK fun
...

...The most glaring issue with DKJr is most of the point pressing is boring as fuck. There is very little randomness to it...

DKjr Remix is going to be different from DK.  I still haven't worked out exactly how it's going to go, but the idea is that it's still going to be very much DKjr, but remixed - taking it's elements and making something new out of them.

There are some unused sprite graphics that might come into play and there is a bit of story to expand upon.  I could make new stages that could take place before, between or after the existing four stages, or think up of new variations using the original design elements.

What I really want to do is make the game fun.  So it's important to fix the frustrating and boring elements in the original game.
"Badges? We ain't got no badges. We don't need no badges. I don't have to show you any stinkin' badges!"
Twitch TV  Streamer

Offline homerwannabee

  • Spring Jumper
  • *
  • Posts: 1312
Re: "Fixing" DKjr
« Reply #4 on: September 28, 2016, 09:57:00 AM »
I don't know if you know about this, but Colecovision had a real secret DK Jr level.  It would be cool to see that turned into a level for the arcade version.
Having said that, I understand that it might not be possible to do, and you might have a different vision in mind.
https://m.youtube.com/watch?v=KrHGZmvCZE8
"Perception forged in delusion and refined by pain"

-Ross Benzinger

"It's like we are able to play beautiful music out there, but no one can hear the instruments"

-Leon Shepard
DK3 World Record Holder DK Jr. Killscreener DKF Blogger Crazy Kong Killscreener Twitch TV  Streamer DK3 Repetitive Blue Screen

Offline aarontruitt

  • Senior Member
  • *
  • Posts: 208
Re: "Fixing" DKjr
« Reply #5 on: September 28, 2016, 01:17:26 PM »
That Colecovision DK Jr pie factory level is really cool and I bet would be a really neat addition to DK Jr Remix! would also be cool to mix up the vine levels like you did with the barrel boards on DK Remix - having the fruit in different spots, different length vines, etc.
Arcade DK PB: 881,600 (KS)
Twitch TV  Streamer DK Killscreener

Offline krehztim

  • Senior Member
  • *
  • Posts: 152
Re: "Fixing" DKjr
« Reply #6 on: September 28, 2016, 04:33:50 PM »

...The most glaring issue with DKJr is most of the point pressing is boring as fuck. There is very little randomness to it...

Couldn't agree more. Some of this could be alleviated by letting the snapjaws have access to both of the top platforms on the vine levels, so they don't turn around at the height differential (step).  That would at least make it a little harder.  But that doesn't help the huge point pressing in Mario's Hideout. Maybe the sparks have variable speeds, that might help the point pressing at the top, as in a constant speed for an individual spark, but all sparks having a different, random speed. 
Twitch TV  Streamer Crazy Kong Killscreener

Offline up2ng

  • Senior Member
  • *
  • Posts: 238
Re: "Fixing" DKjr
« Reply #7 on: September 28, 2016, 06:23:52 PM »
DKJR has a lot of flaws.  But for me, the one single issue that prevents me from playing the game regularly is that the springboard is broken.  That is just so totally unacceptable to me that I feel that the game just shouldn't be played.  It's great that you've recognized that issue as being of the very highest priority to fix.

I started typing up some ideas for fixing the leeching problems on the hideout but that screen is REALLY leechable -- it would be hard to fix this without making some pretty big changes.
Donkey Kong:  1,206,800  Kill Screen
Donkey Kong:  898,600     16-5
D2K:                 380,200     L=9
Donkey Kong Junior:  In Progress
Twitch TV  Streamer DK Killscreener MAME DK WR Holder DK 1 Million Point Scorer DK 1.1 Million Point Scorer Wildcard Rematch Champion DKF Blogger DK 1.2 Million Point Scorer

Offline homerwannabee

  • Spring Jumper
  • *
  • Posts: 1312
Re: "Fixing" DKjr
« Reply #8 on: September 28, 2016, 07:50:23 PM »
I thought of an idea.  Make a second fast yellow spark that is parallel with the original one.  That way you would need to kill the second spark with the top Apple.  Not an easy feat.  It would drastically cut down on point pressing.
"Perception forged in delusion and refined by pain"

-Ross Benzinger

"It's like we are able to play beautiful music out there, but no one can hear the instruments"

-Leon Shepard
DK3 World Record Holder DK Jr. Killscreener DKF Blogger Crazy Kong Killscreener Twitch TV  Streamer DK3 Repetitive Blue Screen

Offline Sock Master

  • Senior Member
  • *
  • Posts: 238
Re: "Fixing" DKjr
« Reply #9 on: September 28, 2016, 08:33:44 PM »
The control lag and springboard fixes alone pretty much eliminate most of the gameplay frustration.   It doesn't make the game more fun, nor do anything about the leeching.

I don't know if you know about this, but Colecovision had a real secret DK Jr level.  It would be cool to see that turned into a level for the arcade version.

We're going to be pretty much stuck with using the sprites & background tiles that already exist.  There are a few unused sprites that might be interesting, but there won't be much potential for creating new graphics beyond maybe combining existing sprites into something new.   Funny enough, the pie sprite from DK survives so it's possible to use, although it's available color choices are limited.

Some of this could be alleviated by letting the snapjaws have access to both of the top platforms on the vine levels, so they don't turn around at the height differential (step).  That would at least make it a little harder.  But that doesn't help the huge point pressing in Mario's Hideout. Maybe the sparks have variable speeds, that might help the point pressing at the top, as in a constant speed for an individual spark, but all sparks having a different, random speed.

I'm not sure how well animating a snapjaw going up a step would look, but allowing the red snapjaws to step down to the lower platform like the blue ones might be possible.

I think the main problem with that stage is that once Jr reaches a certain height, the blue snapjaws switch to a different logic which makes them always go all the way across the top platforms - and therefore become reliable leeches.   Maybe just disabling that to allow blue snapjaws to go down vines early, would reduce leech potential.

Mario's hideout is a whole other kettle of fish, but it also has logic switch for blue sparks once Jr reaches a certain height - main issue is that a blue spark that counts as 100 on the timer can now multiply into several sparks and give more points than the bonus timer decrements.  Also those perpetually circling red sparks, just jump over them over and over...   There's no 1:1 relation between score-able objects and bonus timer.

Maybe allow red sparks to move from one platform to another once Jr reaches the 3rd platform?  Maybe give the blue sparks a more random path or random direction?  Maybe simply have the bonus timer tick down once each time a blue spark multiplies into two?

I started typing up some ideas for fixing the leeching problems on the hideout but that screen is REALLY leechable -- it would be hard to fix this without making some pretty big changes.

That's one concern I have right now.  I don't want to mess with the original stages/logic/rules too much - if some minor changes can fix issues, that'd be best.   The control lag and broken springboard fixes were easy to rationalize because they won't change the game logic itself, just magically make the game less frustrating - the average player probably wouldn't even notice anything was changed (until they went back and played the original game anyway.)
"Badges? We ain't got no badges. We don't need no badges. I don't have to show you any stinkin' badges!"
Twitch TV  Streamer

Offline serphintizer

  • Senior Member
  • *
  • Posts: 123
Re: "Fixing" DKjr
« Reply #10 on: September 29, 2016, 04:46:13 PM »
DKJR has a lot of flaws.  But for me, the one single issue that prevents me from playing the game regularly is that the springboard is broken.  That is just so totally unacceptable to me that I feel that the game just shouldn't be played.

This type of defeatist think is so flat-out erroneous it's ridiculous.  The whole point of these ORIGINAL games is to "play them as they lie".  Some people have figured out ways to overcome these "flaws"/"issues", as you put it, and have put up monster scores.  Maybe you need to practice more. :)     
"Kill screen? Ha! It's for tourists."  - Mr. X
DK 1 Million Point Scorer Twitch TV  Streamer DK 1.1 Million Point Scorer DK Killscreener

Offline marinomitch13

  • Strategy Moderator
  • Spring Jumper
  • *
  • Posts: 1789
    • How to Play DK
Re: "Fixing" DKjr
« Reply #11 on: September 29, 2016, 07:58:20 PM »
Didn't we do the math once and the chances of getting the jump with a decent double-flap was like 80-90%?
“Thou hast made us for Thyself, and our heart is restless until it finds its rest in Thee.” -Augustine, Confessions.
Twitch TV  Streamer DKF Blogger DK Killscreener

Offline JCHarrist

  • Administrator
  • Spring Jumper
  • *
  • Posts: 533
    • Donkey Kong Forum
Re: "Fixing" DKjr
« Reply #12 on: September 30, 2016, 04:28:41 PM »
Didn't we do the math once and the chances of getting the jump with a decent double-flap was like 80-90%?


Yes, the springboard has been discussed before. ;)

http://donkeykongforum.com/index.php?topic=495
« Last Edit: September 30, 2016, 04:41:51 PM by JCHarrist »
Twitch TV  Streamer DK Killscreener Crazy Kong Killscreener

Offline marinomitch13

  • Strategy Moderator
  • Spring Jumper
  • *
  • Posts: 1789
    • How to Play DK
Re: "Fixing" DKjr
« Reply #13 on: October 01, 2016, 02:36:22 AM »
I just re-read that thread and stumbled upon this poll again.

http://donkeykongforum.com/index.php?topic=515.0

Lol, I totally forgot about it!
“Thou hast made us for Thyself, and our heart is restless until it finds its rest in Thee.” -Augustine, Confessions.
Twitch TV  Streamer DKF Blogger DK Killscreener

Offline up2ng

  • Senior Member
  • *
  • Posts: 238
Re: "Fixing" DKjr
« Reply #14 on: October 02, 2016, 03:24:18 PM »
This type of defeatist think is so flat-out erroneous it's ridiculous.  The whole point of these ORIGINAL games is to "play them as they lie".  Some people have figured out ways to overcome these "flaws"/"issues", as you put it, and have put up monster scores.  Maybe you need to practice more. :)   

This is false.
Donkey Kong:  1,206,800  Kill Screen
Donkey Kong:  898,600     16-5
D2K:                 380,200     L=9
Donkey Kong Junior:  In Progress
Twitch TV  Streamer DK Killscreener MAME DK WR Holder DK 1 Million Point Scorer DK 1.1 Million Point Scorer Wildcard Rematch Champion DKF Blogger DK 1.2 Million Point Scorer