Donkey Kong Forum
High Score Lists => Donkey Kong High Score Lists => Topic started by: xelnia on November 30, 2021, 09:56:47 pm
-
A DK score has been submitted that uses the Pauline sprite-swap hack and I can't remember if we ever decided as a community if that version was acceptable for the main HSL. So, here's the poll.
The submission is here: https://donkeykongforum.net/index.php?topic=364.msg44309#msg44309
A thread discussing how Pauline INPs won't play back for regular DK is here: https://donkeykongforum.net/index.php?topic=411.0
-
So Tanya is a legend and amazing and I could go on for days.
But if Pauline mame inps don't work, that breaks the mame/arcade thing.
Theoretically if the game logic is the same, then all is good in the universe.
Maybe a separate leader board like remix and stuff?
I'm also of the opinion that there should be a Deranged leader board as I would enjoy playing that.
How do games with pallets swaps work elsewhere? Is green beret separate to rush n attack or are they the same?
-
Maybe a better example is Contra vs Probotector?
-
Why is there not a PE HSL? It has been around for about 10yrs... I watched ACU-AZU on youtube get a killscreen on Pauline Edition, he ran boards.... like a boss :D
-
So I decided to run the test myself to see what differences there are if any between the dkong and dkongpe (pauline) romset.
YouTube Unlisted Link (you will hear audio from both the original recording and the playback).
If you playback the Pualine recorded INP with the Pauline romet, everything works fine, but... as in the other thread linked, if you play it back in the DKONG romset it goes weird.
There is a definite change going on after the cutscene at the end of level one, but the VERY START of L2 barrels looks like it's working up until the second girder ladder. It feels like a killscreen positional type of change (that happens at L22) but without the instant death, the controls go wonky. You will see that the INP is actually still playing back all my inputs, but the game freaks out and Jumpman dies multiplr times.
I'm personally gutted that Tanya's PB will probably not get accepted into the HSL, but like other romhacks it should probably go in it's own Pauline HSL. That said I personally believe it's just a syncronous mismatch between the romsets and Pauline from L2 is just the same in difficulty and play as the original romset, it's just got a quirk and that is only displayed on the MAME version. There is no way to playback a hardward version.
-
Interestingly the change happens at exactly 14,900 just before it registers the 100 points to score 15,000.
The 4th girder barrel doesnt steer down but goes on ahead in Pauline version. From that point Jumpan is probably trying to mimic the inputs but as it's out of sync with Pauline the jumps are in different places. Notice at 3:36, Jumpman moves and jumps in the same directions as Pauline but is on the bottom girder, so the inputs are still going through.
-
The 4th girder barrel doesnt steer down but goes on ahead in Pauline version.
Let me piece together what I think I know about this but am probably wrong anyway. Whether barrels go down ladders depend on where the joystick is pointing plus a random factor.
As far as I can make out the relevant bit of code starts at about #2172 (thank you to whoever did the disassembly!) where we have a barrel on top of a ladder. A few bytes later is the bit where the code always sends a barrel down a ladder if the oilcan isn't lit. But then everyone knows that yeah? ;D
At #218C register A (which I think of as the 'accumulator' whether it's called that or not) is loaded with the contents of #6018 which the dissembly describes as "#6018 = constantly changing ... timer of some sort?" Note that #6019 is also used for random numbers in DK ("#6019 - constantly changing timer - very fast")
I seem to recall reading that the Z80 chip has a memory location that increments with *every* instruction parsed. Which I reckon must be a lot of overhead. I figure this must be #6018 or #6019, which would make the random number generation sensitive to small changes in the code ... possibly even to the processing of two different sprites?
My understanding is most likely completely wrong ;D but I'm not sure anyone has ever nailed down exactly how #6018 and #6019 (which control a LOT of DK's randomness work). Anyway, that's my 3 cents. I like cows.
; called from #2167
216D CD6E23 CALL #236E ; check for ladder. if no ladders, RET to higher sub. if at top of ladder, A := 1
2170 3D DEC A ; is there a ladder to go down?
2171 C0 RET NZ ; no, return
2172 78 LD A,B ; yes, load A with B which has the value of the ladder from the check ??
2173 D605 SUB #05 ; subtract 5
2175 DD7717 LD (IX+#17),A ; store into +17 to indicate which ladder we might be going down ???
2178 3A4863 LD A,(#6348) ; get status of the oil can fire
217B A7 AND A ; is the fire lit ?
217C CAB221 JP Z,#21B2 ; no, always take ladders before oil is lit
217F 3A0562 LD A,(#6205) ; else load A with mario's Y position + 5
2182 D604 SUB #04 ; subtract 4
2184 BA CP D ; is the barrel already below mario ?
2185 D8 RET C ; yes, return without taking ladder
2186 3A8063 LD A,(#6380) ; else load A with difficutly from 1 to 5. usually the level but increases during play
2189 1F RRA ; roll right (div 2) . now can be 0, 1, or 2
218A 3C INC A ; increment. result is now 1, 2, or 3 based on skill level
218B 47 LD B,A ; store into B
218C 3A1860 LD A,(#6018) ; load A with random timer ?
2
2190 E603 AND #03 ; mask bits. result now random number between 0 and 3
2192 B8 CP B ; compare with value compted above based on skill
2193 D0 RET NC ; return if greater. on highest skill this works 75% of time, only returns on 3
2194 211060 LD HL,#6010 ; load HL with player input.
; #6010 - copy of input (see #6011). except when jump pressed, bit 7 is set momentarily.
; #6011 - input. right sets bit 0, left sets bit 1, up sets bit 2, down sets bit 3, jump sets bit 4
2197 3A0362 LD A,(#6203) ; load A with mario's X position
219A BB CP E ; compare with barrels x position
219B CAB221 JP Z,#21B2 ; if equal, then go down ladder
219E D2A921 JP NC,#21A9 ; if barrel is to right of mario, then check for moving to left
21A1 CB46 BIT 0,(HL) ; else is mario trying to move right ?
21A3 CAAE21 JP Z,#21AE ; no, skip ahead and return without going down ladder
21A6 C3B221 JP #21B2 ; yes, make barrel go down ladder
21A9 CB4E BIT 1,(HL) ; is mario trying to move left ?
21AB C2B221 JP NZ,#21B2 ; yes, make barrel go down ladder
21AE 79 LD A,C ; else load A with random timer computed above
21AF E618 AND #18 ; mask with #18. 25% chance of being zero?
21B1 C0 RET NZ ; else return without going down ladder. If zero then go down the ladder anyway
21B2 DD3407 INC (IX+#07) ; increase Barrel's deployment/animation status
21B5 DDCB02C6 SET 0,(IX+#02) ; set barrel to go down the ladder
21B9 C9 RET ; return
-
I voted yes, but I would hope there would be a note of some sort explaining it was with the Pauline hack.
-
My first KS was not accepted because I did not record an .inp file. I live-streamed the game and had 13 people (I think) watching it happen in real-time. I believe I was number 3 on the DK Junior list at the time.
My understanding was, it did not matter that I was a proven top-tier player with the skillset to accomplish what I claimed. What mattered was that there was no .inp file to verify the validity of my claim.
I would go for a separate leader board for the Pauline version, but if the .inp file cannot be read properly, then I would argue that there should be no exceptions. Or, rework the rules to make exceptions, but that would open multiple cans of worms.
-
I would go for a separate leader board for the Pauline version, but if the .inp file cannot be read properly, then I would argue that there should be no exceptions. Or, rework the rules to make exceptions, but that would open multiple cans of worms.
Ok so Tanya's version is not an .inp file, it's the Pauline rom set in an original PCB. So all the .inp conversation is only relevant to my test or any .inp submissions. (I've attached it if anyone wants to play it back)
The .inp file can be read just fine using the Pauline rom, and plays until the end, so there is no question of it not reading correctly for a Pauline leaderboard, hell I'll submit it and more if we make one! :).
The issue is only when playing back with the dkong rom set.
The conversation is more about 'what's goin on here?' considering the hack is just suppose to be a sprite swap so in theory should run just fine in the dkong rom set.
Rev John's insight is helpful but only to someone who knows what's down. Does the original creator of the Pauline rom hang about here? They could probably nail the issue straight away.
-
Ok so Tanya's version is not an .inp file, it's the Pauline rom set in an original PCB. So all the .inp conversation is only relevant to my test or any .inp submissions. (I've attached it if anyone wants to play it back)
The .inp file can be read just fine using the Pauline rom, and plays until the end, so there is no question of it not reading correctly for a Pauline leaderboard, hell I'll submit it and more if we make one! :).
The issue is only when playing back with the dkong rom set.
The conversation is more about 'what's goin on here?' considering the hack is just suppose to be a sprite swap so in theory should run just fine in the dkong rom set.
[/quote]
Obviously I do not have the understanding of how these things work that you do. I have a hell of a time getting my own .inp files to playback :) I can read what you and Rev John wrote, but for the most part, it's like trying to understand a foreign language.
That being said, I suppose if I were playing a "hacked" version of a game, it would be for my enjoyment, not expecting to have a high score recognized unless a HSL already existed. For me, the best example would probably be the "fixed" version of Junior. I might play it, but if I were to PB, I would not submit the score.
So it's really up to much smarter people than me to decide, but maybe it's time to create a HSL specifically for the Pauline version of the game, or perhaps add it to the existing list with an asterisk type of designator just to denote that it was the Pauline edition of the game.
-
For the record, I had no idea that there was any difference (other than the images) between Pauline and DK. I'm having a beautiful Pauline cab made up and was testing out the roms for the first time. If Pauline is easier, harder or different to DK in terms of game play, then it really doesn't help my game play and practice. I never, ever wanted to cause or be involved in any kind of controversy or sides on anything that could have any kind of bad impact on an amazing community that I have enjoyed being part of and still enjoy being part of. For the record, I withdraw my submission for my new PB, and will do my best to get it or a better one again on my DK cab. ;)
Kind regards,
Tanya.
-
I fully suspect that Pauline is the exact same difficulty as regular DK. I'm guessing that the inp de-synced because of a different stream of random numbers being used, but I'm not aware of anything that would make them less random in a way that would affect difficulty. I think the game play experience would be the same.
-
For the record, I had no idea that there was any difference (other than the images) between Pauline and DK. I'm having a beautiful Pauline cab made up and was testing out the roms for the first time. If Pauline is easier, harder or different to DK in terms of game play, then it really doesn't help my game play and practice. I never, ever wanted to cause or be involved in any kind of controversy or sides on anything that could have any kind of bad impact on an amazing community that I have enjoyed being part of and still enjoy being part of. For the record, I withdraw my submission for my new PB, and will do my best to get it or a better one again on my DK cab. ;)
Kind regards,
Tanya.
No controversy, for my two cents anyway. Just a discussion among the folks who know how things work and some of us who do not :) If we can't have a spirited discussion without encountering problems, then we're not much of a community.
I would absolutely NOT withdraw your submission. Xelnia created this discussion and the related poll to hear our input. I say let this thing run its' course, let the poll and the discussion lead the powers that be to come to a final decision and see where it lands.
And for the record, please understand that my opinions here are those of an absolute layman when it comes to understanding code and how the games actually work. That's why I say let smarter people than me figure it out.
-
I agree that allowing the score opens things for a lot of different issues or conversations about the other versions of DK. I do agree there should probably be another HSL for those in some shape or fashion, though that then becomes more work for those maintaining the lists.
-
I fully suspect that Pauline is the exact same difficulty as regular DK. I'm guessing that the inp de-synced because of a different stream of random numbers being used, but I'm not aware of anything that would make them less random in a way that would affect difficulty. I think the game play experience would be the same.
I actually totally agree with this. The gameplay experience seems to be the same in terms of difficulty, mechanics and behaviour. It's a shame the divergence de-rails this.
By the Way - If you play back a dkong .inp in Pauline it divergess at the same point.
-
For the record, I had no idea that there was any difference (other than the images) between Pauline and DK. I'm having a beautiful Pauline cab made up and was testing out the roms for the first time. If Pauline is easier, harder or different to DK in terms of game play, then it really doesn't help my game play and practice. I never, ever wanted to cause or be involved in any kind of controversy or sides on anything that could have any kind of bad impact on an amazing community that I have enjoyed being part of and still enjoy being part of. For the record, I withdraw my submission for my new PB, and will do my best to get it or a better one again on my DK cab. ;)
Kind regards,
Tanya.
That's why we love you! :)
I do think a Pauline leaderboard would be worthwhile, I'd love to see one and I'm sure anyone who want's to play as Pauline instead of Jumpman would as well.
I don't think it's a controversy (although I know I used that term in a message to Adam) - sorry I didn't mean it negatively.
I do love these kind of puzzles. Unfortunetly I'm not technical enough to understand what's going on with the whole .inp thing.
-
I am but an ignorant man. But if someone performs on a PCB using a Pauline rom set it should be carried on the main HS list with an asterisk.
-
I have another piece of puzzle to add. I can't figure out what may be different after the level 2 cut-scene, but I note that apart from sprite changes there is the "PAULINE EDITION" message and a different copyright message under.
So I waited until it says "PAULINE EDITION" before starting a game then played through to level 3. It de-synced with the dkong rom on the first barrel screen for a total of 300 points. My harebrained (and probably wrong) idea before was that the stream of random numbers used depends in part on the number of instructions parsed by the z80 chip's processor. So I theorise that the mere different text alters the stream of random numbers. Again I reckon it's just a different set of equally random numbers causing the inps to de-sync. I can't imagine any real difference in gameplay. Same % chances to steer barrels, same 25% to get 800 on a blue barrel etc
I have changed my original No vote to a Yes.
If Pauline scores are decided to be accepted on the main DKF leaderboard then I hereby promise to wear full Pauline outfit for the next Aussie Kong Off.
-
Here is the story of how Clay Cowgill created the Pauline rom: http://www.multigame.com/dkp_arcade.html (http://www.multigame.com/dkp_arcade.html)
There is some additional code for the rivets cutscene - to make sure Mario is facing the right way when he is rescued by Pauline. It seems this additional code is enough to cause the de-sync after the first rivets level. There are no changes mentioned in the above link that would make Pauline easier or harder then regular dkong, it's all about graphics changes.
I would suggest the de-syncs are caused by the changes leading to a different stream of 'random' numbers. It's like if Pauline shuffled the deck in a slightly different way, but your odds of getting a hand of 4 queens would still be the same.
-
So, I think the general consensus is to keep Pauline scores separate. I will put some thought in to making a Pauline HSL, but don't hold your breath. Tanya has withdrawn her submission (https://donkeykongforum.net/index.php?topic=364.msg44363#msg44363). I know she wasn't trying to cause trouble and I appreciate her being a good sport about the whole thing.
-
So, I think the general consensus is to keep Pauline scores separate. I will put some thought in to making a Pauline HSL, but don't hold your breath. Tanya has withdrawn her submission (https://donkeykongforum.net/index.php?topic=364.msg44363#msg44363). I know she wasn't trying to cause trouble and I appreciate her being a good sport about the whole thing.
A Pauline HSL sounds like a good idea :)
-
Agree there are pauline cabs that are out there a HSL for it would not be a bad idea.
-
Come of it Donkey kong is donkey kong Pauleen the charator is the same as Mairo. shes in the game .wake up everyone. just play the game.. John make a Ren and Stimp dk lit . <Allen> <Allen> <Allen> <Allen> <Allen> <Allen> <Billy> <Billy> <Billy> <Billy>
-
Come of it Donkey kong is donkey kong Pauleen the charator is the same as Mairo. shes in the game .wake up everyone. just play the game.. John make a Ren and Stimp dk lit . <Allen> <Allen> <Allen> <Allen> <Allen> <Allen> <Billy> <Billy> <Billy> <Billy>
haven't you got a protest to attend
-
haven't you got a protest to attend
Too many lols
-
Barra Pls <Billy> <Billy> <Billy> <Billy>