Donkey Kong Forum

General Donkey Kong Discussion => General Donkey Kong Discussion => Topic started by: Xermon54 on July 15, 2014, 11:56:18 am

Title: Would it be legit to get the 1-1 record by using a savestate?
Post by: Xermon54 on July 15, 2014, 11:56:18 am
I once asked this question to Phil, and he answered:"Fking hell no! If I had to fking watch the intro again and again and again, you fking have to watch it too!"  Kappa

Even if we all know that the only opinion that is worthy is Tudose's opinion, I'm just curious if others would consider a 1-1 record legit if someone would be using a savestate in the beginning of 1-1 to avoid having to watch the intro after each restart?

Personally, I think that trying to get the record on 1-1 is fun with a savestate at the beginning of the level, but without savestate, it's fking boring. Only the Tudose of Ontario is mentally strong enough to watch the intro 1000 times per day  <Allen>

I think we should add a new track for Phil's record: 1-1 Tudose settings Kappa

Opinions?
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: WCopeland on July 15, 2014, 11:59:41 am
I think topics like this are a prelude to a lot of uncomfortable questions that will be raised many years down the road from now.

When all original DK arcade boards have failed, how will any new players get the Arcade world record?  Will it be locked out, or will scores instead be divided by input method (4-way stick vs keyboard)?
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: tudose on July 15, 2014, 12:43:46 pm
haha you must watch the monkey climb <mad>

honestly though i wouldnt make a big deal about it lol. this is very similar to what <Tim> does with his "arcade" setup, or mitch does with his d2k kit. tim doesnt kill off all his men when he dies, he simply resets the game from a switch on his board. he doesnt believe that quick resets cause any damage. as for the d2k kits im not very familiar with them. all i know is that you can reset the game quickly without turning the cab off. it ends up being just about as fast as restarting MAME
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: marinomitch13 on July 15, 2014, 01:29:30 pm
As long as the savestate is from before the seeding for the next screen is made, I'm fine with it, as that's the biggest factor.
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: Jeffw on July 15, 2014, 01:36:37 pm
I would say no because you could make a savestate that gives the same good randomness every time.

As long as the savestate is from before the seeding for the next screen is made, I'm fine with it, as that's the biggest factor.

I think as soon as you enter the credit and hit start game the randomness for the start of the next screen will be determined, so the savestate would have to happen before this point, which doesn't save a lot of time.
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: tudose on July 15, 2014, 01:41:22 pm
hm i didnt know thats how the rng worked for the start of the game. i just assumed it would be decided at the start of the board
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: Donkey Kong Genius on July 15, 2014, 01:54:29 pm
It does not appear to be a poll issue. There must be something in the code that dictates the "seeding" that will occur in the upcoming level. If this happens before the save state then that should be disallowed. Though, another question I have is that we would need an inp, and if you record an inp, then you can't do save-states, correct?
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: Jeffw on July 15, 2014, 01:58:21 pm
The RNG is deterministic during periods where user input has no effect. So the "seed" for the randomness is essentially the frame at which you enter the credit and the frame at which you press start game. After hitting start game there is no more user input until the start of 1-1 so the RNG will be a deterministic sequence until you start messing it up with user input at the start of 1-1. However, if you do EXACTLY the same input the RNG will be exactly the same, so a savestate would make it easier to get the same randomness repeatedly.
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: marinomitch13 on July 15, 2014, 02:24:07 pm
I would say no because you could make a savestate that gives the same good randomness every time.

As long as the savestate is from before the seeding for the next screen is made, I'm fine with it, as that's the biggest factor.

I think as soon as you enter the credit and hit start game the randomness for the start of the next screen will be determined, so the savestate would have to happen before this point, which doesn't save a lot of time.

Thanks for the info! I couldn't remember when the seeding was determined, but I figured someone did. I guess it's pretty much a moot point then: You gotta watch the monkey climb!  <thefinger>
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: f_symbols on July 15, 2014, 02:49:17 pm
Jump in the oil can or whatever!  <stirpot>  <mad>
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: mikegmi2 on July 15, 2014, 07:34:54 pm
 <Sanders> My advice would be to leave savestates behind, leave ROY behind...and only play on real arcade machines...like the one at Funspot.
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: stella_blue on July 16, 2014, 05:15:20 am

I voted "No", as I consider myself a DK purist (Arcade vs. MAME notwithstanding).
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: OzSteve71 on July 16, 2014, 05:40:31 am
I think you need to ask the most serious question..... What would JCB do?

Cheat :-D
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: stella_blue on July 16, 2014, 05:41:31 am
Though, another question I have is that we would need an inp, and if you record an inp, then you can't do save-states, correct?

You can record an INP that begins from a save state.

Let's say you want to practice the Level 05 elevator board, and record the results (using WolfMAME 0.106 and save state "e", created during the "stacked monkeys" screen prior to L5-4).

This command should work:

mamep106-vc dkong -state e -record dk_elevators_54.inp

Proper playback requires both the INP and STA files:

mamep106-vc dkong -state e -playback dk_elevators_54.inp

Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: d3scride on July 16, 2014, 06:56:51 am
I would only say no just because I'm not sure how it would affect the board seed.
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: Donkey Kong Genius on July 16, 2014, 07:15:19 am
Scott, that is very informative. Thanks. Unless it can be proven that the "seeding" for the upcoming barrel board is not the same, such as if someone wanted to use this save state at the end of the intro prior to the stacked monkeys, then I will remain on the no position. If it doesn't matter, and the seeding is just as random, I don't see why not on a technical level. But without some kind of absolute assurance from the code then it should not be aloud.
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: ChrisP on July 16, 2014, 01:12:11 pm
Like Jeff said, input is ignored from the frame that you press 1P start until the frame that you get control of Jumpman, so the RNG is locked. This makes manipulation of a savestate possible because you can start the board with an input held down and be frame-perfect every time, thus getting identical output.

You can test this yourself. Make two save states, one at the monkey climb screen, and one at the stacked monkey screen (or at any point between pressing 1P start and getting control of Jumpman).

Load the first state. Put your finger on the "left" key and hold it down. When you get control, you'll run behind the oil can. Keep your finger on left. Now watch the fireball/barrels.

Load the second state, keeping your finger on left (again, making sure it's before you get control of Jumpman so that the input will be frame-perfect). Watch the fireball/barrels. They'll do the exact same thing they just did.

You could also try loading the first state, holding down right, watching what happens, then loading the second state and holding right. You'll get different outputs than when you held left, but that second set of outputs will always be the same when you hold right.

Obviously you can't get frame-perfect other than for having the input held down initially, but that's still plenty exploitable because the fireball's first decisions (plus wild barrels, etc.) would all be pre-determined until your input deviates. Seems like it would be minor, but as we all know, 1-1 is all about taking advantage of "minor" things.

So it should be totally out of the question to use a savestate that is made after pressing P1 start.

You must watch the monkey climb!
Title: Re: Would it be legit to get the 1-1 record by using a savestate?
Post by: JNugent on July 16, 2014, 04:38:35 pm
Based on all of the information given in this thread, I would have to say 'No'.  But of course, I yield my opinion in favor of whatever Tudose says.  He is, after all, my Canadian hero.  ;D