Author Topic: DK hacking projects  (Read 8068 times)

0 Members and 1 Guest are viewing this topic.

Offline furrykef

  • Jr. Member
  • *
  • Posts: 25
    • Awards
DK hacking projects
« on: October 22, 2014, 03:43:22 am »
Originally I was reverse-engineering the game for its own sake with no particular goal in mind, but now I've finally decided what I want to do with the DK code. Namely: I want to make it easy for other people to hack Donkey Kong. I might even make such a hack myself, but no guarantees.

You may have heard of a now-old, unofficial sequel called D2K: Jumpman Returns. (It's in MAME by the name "dkongx".) I found it very impressive on a technical level, but, unfortunately, not very good on a game design level. As far as I'm aware, no other hacks on the scale of D2K exist. My aim is to fix that!

To this end I have started experimenting with porting DK to more advanced hardware (or emulations thereof). Two days ago I ported the game to run on Donkey Kong Jr. hardware and yesterday I ported it to Donkey Kong 3 hardware (but without sound yet for the latter). DK3 hardware gives you double ROM space for pretty much everything, meaning a hack can be much bigger, and its (much more powerful) sound hardware is basically two NES chips mixed together, so you can make music and sound effects for it using standard tools for making NES music.

So imagine, for instance, a hack with 20 stages and unique music for each one! See what kind of scores you can rack up on that. ;)

I've currently got my sights on making the game run on Mario Bros. hardware. Compared to DK3, this would trade in the more advanced sound hardware for more advanced graphics hardware, capable of drawing many more colors. Finally, Mario (or Jumpman, or Fred) can have black pupils and brown hair! Or you can keep him the same if you like. Hey, it's up to you. This might be a more involved endeavor than the other conversions, though, so it's possible it will have to wait. But I know it can be done.

What do you guys think? Would you guys like to play new DK games in the future?
I might never make it to a kill screen, but I found Donkey Kong's hidden music!
Member for 9 Years

WCopeland

  • Guest
Re: DK hacking projects
« Reply #1 on: October 22, 2014, 05:52:38 am »
There was a period where I was working several hours a day on completely rewriting the engine in js so it could be multi-platform and run anywhere:
https://donkeykongforum.net/index.php?topic=868.0

Though as my ambitions for raising my score have increased, this project has been sitting on the back burner.

It's all done in Construct 2 because I didn't want to spend forever getting the groundwork up and going in something like Phaser. I got the barrel board logic almost perfectly done.

I still plan on resuming work on this at some point, but my other little projects are taking precedence first.
« Last Edit: October 22, 2014, 05:56:18 am by WCopeland »

Offline f_symbols

  • Spring Jumper
  • *
  • Posts: 833
  • wht u mean
    • Awards
Re: DK hacking projects
« Reply #2 on: October 22, 2014, 10:33:35 am »
Fred Kreygasm

but seriously, there was a thread about a "DK masters edition", containing ideas, if only conceptual, for another DK game, similar to D2K. 

Here is that thread, at the very least it might give you some insight into the masochistic direction we were heading  <Tim>

https://donkeykongforum.net/index.php?topic=234.0
« Last Edit: October 22, 2014, 10:54:42 am by f_symbols »
Member for 11 Years IGBY 2016 DKF Team Member Winner of a community event Former DK Remix World Record Holder DK Remix Killscreener IGBY 2015 DKF Team Member DK 1M Point Scorer IGBY 2014 DKF Team Member Blogger DK Killscreener Twitch Streamer

Offline furrykef

  • Jr. Member
  • *
  • Posts: 25
    • Awards
Re: DK hacking projects
« Reply #3 on: October 23, 2014, 02:54:45 pm »
I just had the realization that the sprite RAM region (which is 1.75 KB) can freely be used for any purpose while loading a new level. That means it could be used for a compression algorithm, which probably goes a long way toward making it possible to fit insane amounts of level data (relatively speaking) in the ROM.

To give you an idea how big the game could get, DK3 gives you 32 KB program ROM, which is the same size as the program ROM for Super Mario Bros. or Wrecking Crew. (They really wasted the potential of that DK3 hardware, didn't they?!) So that's probably more ROM space than any DK hacker could find any real use for.
I might never make it to a kill screen, but I found Donkey Kong's hidden music!
Member for 9 Years

Donkey Kong Genius

  • Guest
Re: DK hacking projects
« Reply #4 on: October 24, 2014, 01:06:10 am »
Very cool! Keep up the good work! I am sure that we are all very excited that you are doing this and am very interested to see what you come up with. Nothing but respect.

Offline furrykef

  • Jr. Member
  • *
  • Posts: 25
    • Awards
Re: DK hacking projects
« Reply #5 on: November 03, 2014, 01:36:08 am »
Getting a start on making level-editing facilities. Pictured here is Tiled, a general-purpose level editor. At the moment, the level is just a mockup; it can't be exported into the game. I think it would only take a few days' work to make that happen, though. (This is not a guarantee that I will have anything interesting in that span of time; I get distracted quite easily...)
« Last Edit: November 03, 2014, 01:46:34 am by furrykef »
I might never make it to a kill screen, but I found Donkey Kong's hidden music!
Member for 9 Years

WCopeland

  • Guest
Re: DK hacking projects
« Reply #6 on: November 03, 2014, 07:54:43 am »
I think the idea of a level editor is interesting, but a few things to think about. Will there be a way to inject new boards into a game similar to D2K? Could the editor change the level board structure (what boards set to appear in what level)? Could behaviors for things like springs be modified? Could new objects and behaviors be added similar to D2K?

D2K is an amazing technical achievement, but it's a bad game because the new boards are uninteresting and do not offer point pressing opportunities. In essence, the new boards are not in alignment with the spirit of competitive DK. This is the same reason DK Jr is not nearly as popular as DK: while point pressing exists it is very bland to watch and is extremely uninteresting.

Offline Xermon54

  • Spring Jumper
  • *
  • Posts: 518
    • Awards
Re: DK hacking projects
« Reply #7 on: November 03, 2014, 08:02:43 am »
What I would REALLY enjoy in a DK hack is like a level like the bonus level in zoo keeper. Like a one platform level where Kong throws all kind of barrel combination (like he throws XX__X,X___XX__X_X__XXX_XXX___X_X_XX) on one single platform, and the goal is just to jump and survive until the timer runs out.

Just need one platform, one DK that throws barrels very fast in all kind of combination. It could be hard to do, but I would definitely lovit!  <Allen>
1) World Record of the most insults received by a plastic surgeon - 3752

2:World Record of the most Check Man games played - 6 (tied with Hank Chien)
Member for 11 Years Blogger DK 1.1M Point Scorer DK 1M Point Scorer DK Killscreener Former DK Level 1-1 World Record Holder Twitch Streamer

Offline f_symbols

  • Spring Jumper
  • *
  • Posts: 833
  • wht u mean
    • Awards
Re: DK hacking projects
« Reply #8 on: November 03, 2014, 09:17:40 am »
What I would REALLY enjoy in a DK hack is like a level like the bonus level in zoo keeper. Like a one platform level where Kong throws all kind of barrel combination (like he throws XX__X,X___XX__X_X__XXX_XXX___X_X_XX) on one single platform, and the goal is just to jump and survive until the timer runs out.

Just need one platform, one DK that throws barrels very fast in all kind of combination. It could be hard to do, but I would definitely lovit!  <Allen>

+1 charraging stage
Member for 11 Years IGBY 2016 DKF Team Member Winner of a community event Former DK Remix World Record Holder DK Remix Killscreener IGBY 2015 DKF Team Member DK 1M Point Scorer IGBY 2014 DKF Team Member Blogger DK Killscreener Twitch Streamer

Offline xelnia

  • Administrator
  • Spring Jumper
  • *
  • Posts: 2817
  • Stop using 0.106
    • Twitch
    • Awards
Re: DK hacking projects
« Reply #9 on: November 03, 2014, 09:51:43 am »
D2K is an amazing technical achievement, but it's a bad game because the new boards are uninteresting and do not offer point pressing opportunities. In essence, the new boards are not in alignment with the spirit of competitive DK. This is the same reason DK Jr is not nearly as popular as DK: while point pressing exists it is very bland to watch and is extremely uninteresting.

There really was no competitive DK when D2K was being developed. When D2K came out it was still just Billy and Steve trading blows every few months. No KoK, no Hank, no Ross, no Dean. Jeff even admits that he had no idea that people were going to be trying to point-press D2K, so that didn't factor into his decisions for level design.

That being said, DK suffers from the same problems, just on a different scale. The only real point-pressing is on the barrels...which is still possible in D2K. Sure, go ahead and get your extra points on the pies and springs before Level 5 in DK. Then you can go to D2K and leech pies on the Mixer and Incinerator. D2K actually removes the ability to leech Kong on the rivets, adds fireballs to the rivets, and allows the fireballs to climb down ladders when they're below you...doesn't that make for overall more interesting gameplay? And how interesting is the original DK spring stage (at least once you know how to play it)?

The top conveyor on the D2K Foundry stage and the pointless platforms on the Mixer are not good game design, that's for sure. But consider those as breaks in an otherwise brutal game that makes the original DK look like <FF>.
"Do not criticize, question, suggest or opine anything about an upcoming CAG event, no matter how constructive or positive your intent may be. You will find nothing but pain and frustration, trust me. Just go, or don't go, and :-X either way!" -ChrisP, 3/29/15
Member for 11 Years snek CK Killscreener IGBY 2016 DKF Team Member IGBY 2015 DKF Team Member IGBY 2014 DKF Team Member DK Killscreener Blogger Twitch Streamer

WCopeland

  • Guest
Re: DK hacking projects
« Reply #10 on: November 03, 2014, 10:13:38 am »
D2K is an amazing technical achievement, but it's a bad game because the new boards are uninteresting and do not offer point pressing opportunities. In essence, the new boards are not in alignment with the spirit of competitive DK. This is the same reason DK Jr is not nearly as popular as DK: while point pressing exists it is very bland to watch and is extremely uninteresting.

There really was no competitive DK when D2K was being developed. When D2K came out it was still just Billy and Steve trading blows every few months. No KoK, no Hank, no Ross, no Dean. Jeff even admits that he had no idea that people were going to be trying to point-press D2K, so that didn't factor into his decisions for level design.

That being said, DK suffers from the same problems, just on a different scale. The only real point-pressing is on the barrels...which is still possible in D2K. Sure, go ahead and get your extra points on the pies and springs before Level 5 in DK. Then you can go to D2K and leech pies on the Mixer and Incinerator. D2K actually removes the ability to leech Kong on the rivets, adds fireballs to the rivets, and allows the fireballs to climb down ladders when they're below you...doesn't that make for overall more interesting gameplay? And how interesting is the original DK spring stage (at least once you know how to play it)?

The top conveyor on the D2K Foundry stage and the pointless platforms on the Mixer are not good game design, that's for sure. But consider those as breaks in an otherwise brutal game that makes the original DK look like <FF>.

I really don't think any argument can be made that D2K is well designed. The accidental kill screen proves it wasn't even properly playtested.

I think there are plenty of subtle point pressing techniques on the other boards in DK. For example, the decision to not take a free pass on a pie factory, or the decision to grab the purse on the spring board, or the decision to kill zoned-out fireballs on the rivet board.

Modifying fireball behavior so they can go down under more circumstances removes a lot of point pressing flexibility, namely on the spring board and rivet board.
« Last Edit: November 03, 2014, 10:15:44 am by WCopeland »

Offline xelnia

  • Administrator
  • Spring Jumper
  • *
  • Posts: 2817
  • Stop using 0.106
    • Twitch
    • Awards
Re: DK hacking projects
« Reply #11 on: November 03, 2014, 10:43:06 am »
I really don't think any argument can be made that D2K is well designed.

Well, on a sliding scale from "bad" to "well designed", it's definitely closer to the latter. Is it a great game? No. Is it a bad game? Absolutely not. Is it better than DK? No. Is it better than DKJr? Probably.
 
Quote
The accidental kill screen proves it wasn't even properly playtested.

And this makes it worse than regular DK how? Both are oversights/mistakes that weren't caught by the people responsible for making the game or the players that weren't good enough to get that far.

Quote
I think there are plenty of subtle point pressing techniques on the other boards in DK. For example, the decision to not take a free pass on a pie factory, or the decision to grab the purse on the spring board, or the decision to kill zoned-out fireballs on the rivet board.

This is what I was alluding to when I said get your extra points on the pies and springs. These exact situations are available in D2K, yet they come at greater risk. You then have more opportunities for "subtle" pressing on the Mixer and Incinerator.

Quote
Modifying fireball behavior so they can go down under more circumstances removes a lot of point pressing flexibility, namely on the spring board and rivet board.

This doesn't make a game good or bad. Who actually thinks that the specific action of leeching Kong or the spring fireball makes DK a better game? It makes better scores possible, but it's boring as fuck.

So, when it comes to direct point-pressing, "subtle" point-pressing, or flat-out leeching D2K has them all, just in different flavors than DK. Another thought comes to mind: if the upper platforms on the D2K Mixer are a waste of level design...then what are the all the platforms on the bottom right of the DK Spring stage?
"Do not criticize, question, suggest or opine anything about an upcoming CAG event, no matter how constructive or positive your intent may be. You will find nothing but pain and frustration, trust me. Just go, or don't go, and :-X either way!" -ChrisP, 3/29/15
Member for 11 Years snek CK Killscreener IGBY 2016 DKF Team Member IGBY 2015 DKF Team Member IGBY 2014 DKF Team Member DK Killscreener Blogger Twitch Streamer

WCopeland

  • Guest
Re: DK hacking projects
« Reply #12 on: November 03, 2014, 11:16:07 am »
Quote from: xelnia
Well, on a sliding scale from "bad" to "well designed", it's definitely closer to the latter. Is it a great game? No. Is it a bad game? Absolutely not. Is it better than DK? No. Is it better than DKJr? Probably.

I think there's a huge difference between a poorly designed game and a bad game. My comment was more targeted towards the aspect of poor design.


Quote from: xelnia
And this makes it worse than regular DK how? Both are oversights/mistakes that weren't caught by the people responsible for making the game or the players that weren't good enough to get that far.

I think there's a significant difference. The original DK kill screen was a slight oversight that is excusable because no core feature relied on getting scores requiring L20+ to test against. The same could not be said for D2K. You have two features: KS disable and seven digit score that there's no way the developer could test. If he had tested this using save states to get to L22+, the early kill screen bug would have been found.

Quote from: xelnia
This is what I was alluding to when I said get your extra points on the pies and springs. These exact situations are available in D2K, yet they come at greater risk. You then have more opportunities for "subtle" pressing on the Mixer and Incinerator.

No arguments here.

Quote from: xelnia
This doesn't make a game good or bad. Who actually thinks that the specific action of leeching Kong or the spring fireball makes DK a better game? It makes better scores possible, but it's boring as fuck.

While the leeching mechanic itself is uninteresting, it does cause pattern deviation in higher level play. For example, the primary goal of the Trudeaux Pattern is to increase the potential leech time by trying to force the firefoxes to "funnel" near the middle hammer path.

Offline xelnia

  • Administrator
  • Spring Jumper
  • *
  • Posts: 2817
  • Stop using 0.106
    • Twitch
    • Awards
Re: DK hacking projects
« Reply #13 on: November 03, 2014, 11:39:07 am »
Quote from: xelnia
And this makes it worse than regular DK how? Both are oversights/mistakes that weren't caught by the people responsible for making the game or the players that weren't good enough to get that far.

I think there's a significant difference. The original DK kill screen was a slight oversight that is excusable because no core feature relied on getting scores requiring L20+ to test against. The same could not be said for D2K. You have two features: KS disable and seven digit score that there's no way the developer could test. If he had tested this using save states to get to L22+, the early kill screen bug would have been found.

You're right; there would have been no obvious reason to play DK beyond Level 5 if they were testing it. My suspicion with D2K is that it might have actually suffered from the convenience of using MAME to test it (if that's how it was even tested). It's possible to use a "Finish this level now" cheat in MAME, which I've used myself to go quickly to Levels 14, 22, and beyond. This would allow a tester to pretty much warp straight to Level 22 to check the KS bug, and since the Bonus is still awarded just keep warping until the seven-digit score popped up. Ironically, this cheat actually kills you on the Refinery, so that level would actually have to be played. There might even be a cheat to determine the starting level but I can't remember.

In any event, the saddest part of the 14-6 "killscreen" is that there appears to be no interest from the developer in fixing it.
"Do not criticize, question, suggest or opine anything about an upcoming CAG event, no matter how constructive or positive your intent may be. You will find nothing but pain and frustration, trust me. Just go, or don't go, and :-X either way!" -ChrisP, 3/29/15
Member for 11 Years snek CK Killscreener IGBY 2016 DKF Team Member IGBY 2015 DKF Team Member IGBY 2014 DKF Team Member DK Killscreener Blogger Twitch Streamer

Offline furrykef

  • Jr. Member
  • *
  • Posts: 25
    • Awards
Re: DK hacking projects
« Reply #14 on: November 03, 2014, 01:37:38 pm »
It's a testament to the genius of Miyamoto and his crew that I can stare at this level editor -- a luxury they didn't even have back then -- and have no fucking idea what to do with it...


I think the idea of a level editor is interesting, but a few things to think about. Will there be a way to inject new boards into a game similar to D2K? Could the editor change the level board structure (what boards set to appear in what level)? Could behaviors for things like springs be modified? Could new objects and behaviors be added similar to D2K?

Yes and no. Anything (well, almost anything) is possible by hacking the game's Z80 code. Unfortunately, hacking said code will be required for the forseeable future. That's something that's well within my abilities, but it's a monumental task for somebody who has no prior knowledge of Z80 assembly programming.

I will do my best to eventually make it relatively easy to add or change levels in the game, but I think any interesting levels will add or change behavior to some extent, and there's no getting around the fact that changing behavior will require a solid understanding of Z80.

The good news is that I will offer to implement any needed behavior for anyone's level if I like the idea of the level and the behavior would not be overly difficult to program. These are both very big if's, however.


Quote
D2K is an amazing technical achievement, but it's a bad game because the new boards are uninteresting and do not offer point pressing opportunities.

I think Miyamoto would agree that the D2K boards are uninteresting, but he'd probably be puzzled by the point pressing issue. While he certainly envisioned people going for the highest score they could manage, he didn't envision the myriad ways people actually go about it. The way joystick reads manipulate the barrels was intended to kill the player, not aid him! Moreover, DK has been played by millions of people and, from 1981 to this day, point pressing has been relevant for probably less than a hundred of them. Hell, the 100th score for the cabinet version of Donkey Kong on Twin Galaxies is a mere 42,400, which I could easily beat, and the 100th score for the MAME version is 141,300, which, while out of my range, is hardly kill screen material.

While I think anyone designing DK levels today should certainly consider point pressing opportunities, they're hardly a mark of the overall quality of the level.

My own issues with D2K are that the new levels are disproportionately difficult compared to the original four (which were hard enough), there is object placement that makes no sense (why get the hat in the Foundry when it will take more points off the timer than you'll get for collecting it?), and the gameplay tends to be dull (dealing with the moving platforms on the Foundry). The Refinery is a good start on a level design, but I think it could be greatly improved if the sparks were non-lethal and the elevators were controlled by jumping rather than timed. And I can't even make it to the first ladder in the Incinerator!


What I would REALLY enjoy in a DK hack is like a level like the bonus level in zoo keeper. Like a one platform level where Kong throws all kind of barrel combination (like he throws XX__X,X___XX__X_X__XXX_XXX___X_X_XX) on one single platform, and the goal is just to jump and survive until the timer runs out.

While I can't guarantee I'll implement any specific design for any level, I must admit the idea of a bonus round where you can earn extra points at no risk intrigues me.
« Last Edit: November 03, 2014, 01:43:56 pm by furrykef »
I might never make it to a kill screen, but I found Donkey Kong's hidden music!
Member for 9 Years