Yathzee

Yeah, yeah...don't get me started on that spelling. That is exactly the way it is spelled within the game.
Anyway...this was a TAS that I did for my wife, who is a Yahtzee nut! In fact, she helped me to confirm that I played the game correctly. It was done about a year ago for fun, because we wanted to see how ridiculous it would be to see a "Max Score" run of this. Now that the rules have changed to allow board games, I decided to give this a submission.

Console / Game Choice

I searched among many consoles to find a version that I liked. While some had decent graphics, the ability didn't exist to "Brute Force" the RNG necessary to make the dice values for a perfect run. I eventually ended up finding a version on the Commodore 64 that had good graphics. At first, I wasn't able to control RNG without letting the game run extended amounts of time. Eventually, I found a method to control the game code; thus, giving me the "Dice Rolls" for a perfect game. Now, the results of that effort are available.

Tools Used

  • Bizhawk 2.6.3 (Like I said, I did this a long time ago)
  • Ram Watch
    0x8AFD (Dice 1)
    0x8AFE (Dice 2)
    0x8AFF (Dice 3)
    0x8B00 (Dice 4)
    0x8B01 (Dice 5)     
  • Lua Script (Brute Forcing)
    Brute forcing of RNG to force the Ram Watch addresses to produce the values necessary for this perfect run.
    In this case, inputs (Fire Button, Up, Down, Left, and Right) are used to affect RNG, via the joystick attached to Player 
    2's port. Throughout the run, RNG was forced between 1 and 3 frames, before the code made a decision on a dice's value. 
    This routine is a true brute force and was designed specifically with the C64 emulation in mind...where it is among 
    the slowest of all emulation. If I used methods from other games I've BOTed, then it would have taken much more time. 
    Fortunately, this was easily done in about 1 to 2 hours.

Goals

This TAS strives for "Max Score". In regards to time, another problem was considered...Sound. The "Options", at the start of the game, allow for sound to be turned off. Doing so, causes the game run faster, due to supressing the "Speaking Voice". Because I wanted to demonstrate the capabilities of the C64, I decided to use the "Sound" version. For those interested, I have included an encode to show how fast this "Soundless" version ran. In this alternate version, the difference in speed is about 43 seconds. This version was TASed separately, as all the "Brute Forced" inputs occurred on a different frame in contrast to the submitted version.

Display Glitchyness :)

It is obvious that the designers never believed that a person could ever see a score high enough to test the limits of their game. In this case, any score above 999 will break the display. From what I can tell, the logic used to increment the numbers was done differently for each digit. Before I break down the counting logic, here is what the Commodore PETSCII table looks like, for characters used to demonstrate the score:
PETSCII Code Character Displayed
480
491
502
513
524
535
546
557
568
579
So, as you can see...where ever these values are stored on the screen, all that is needed is to add a value to the existing PETSCII code and you will get a number. Now, the problem is...there is no check on the 3rd digit, where you will start noticing a breakdown in the display.
  • Digit One: Any score above 9 will trigger the Digit Two to increase and reset the digit One accordingly.
  • Digit Two: Any score above 9 will trigger the Digit Three to increase and reset the digit Two accordingly, BUT!!!! Below is where the problem starts.
  • Digit Three: There is no test on Digit Three, so it will increase without checking the characters being displayed. For the Commodore PETSCII characters, values above 9 will show differently.
PETSCII Code Character Displayed Trying to represent
58:10
59;11
60<12
61=13
62>14
63?15
As you see, the final score on the conclusion screen is "?05". This can be reversed engineered by using the above details. So, we can infer that our ending score is "1505". So why is the score still not up to the expected perfect value of 1575. I'm puzzled at this, but the breakdown comes from applying a Yahtzee on the "Small Straight" and "Large Straight". If you watch the score, the bonus is applied but not the score...where "30" and "40" are expected to be added. I retried the order and it appears that the combo is missed as a rule, yet it correctly scores a straight when done as a sequence of correct numbers. I also notice that it doesn't say the words for these selections, which could be a part of the issue. So, adding 70 to our final score gives us 1575.

Yahtzee Perfect Scoring

I decided to show some evidence of a perfect game, which I used as a secondary confirmation on my run. Here is the site, that explains a perfect game of Yahtzee.

Special Thanks

  • SOYZA (My Wife) who inspired me to make this TAS, and for helping in figuring out the details of the game play.
  • DrD2k9 who talked with me about the validity of this submission.
  • feos who also helped me to confirm my concerns about this details of a broken game.

Samsara: Claiming for judging.
Samsara: File replaced with a remade version using a different ROM with no cracktro. The slightly longer input time is due to the new ROM having a longer loading time: This is actually faster than the original submission in gameplay. Also, accepting! I'm accepting as-is, with the voices, as it was an active entertainment choice made by the author. For any future runs of this game, removing the voices would not count as an improvement by itself.

despoa: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
This topic is for the purpose of discussing #7776: nymx's C64 Yathzee "maximum score" in 02:10.67
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
One question: If you optimized for this game's buggy implementation of the... 'Yathzee' rules instead of the normal Yahtzee rules, could you get a higher score, or are the two strategies the same?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
nymx
He/Him
Editor, Judge, Expert player (2255)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
Patashu wrote:
One question: If you optimized for this game's buggy implementation of the... 'Yathzee' rules instead of the normal Yahtzee rules, could you get a higher score, or are the two strategies the same?
I tried different orders, but the flaw seems to come from having Yahtzee's applied to those two "Straights". My guess is, that the logic used for them, doesn't see a straight, when you have a Yahtzee...which is a big mistake in the rules. On the other hand, supplying it with the correct values, will void any bonus obtained for a Yahtzee. I attribute this to limited knowledge, during those years. After-all, I can understand that...since I had a "Hoyle" book of games, which was not easy to determine the correct rules. Now that we have online games, we can play enough until we see the true behavior of them.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Skilled player (1417)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
"Unlike most of the overheard forest voices, the substance of the record was quasi-ritualistic, and included one palpably human voice which Akeley had never been able to place. It was not Brown’s, but seemed to be that of a man of greater cultivation. The second voice, however, was the real crux of the thing—for this was the accursed buzzing which had no likeness to humanity despite the human words which it uttered in good English grammar and a scholarly accent." -Excerpt from HP Lovecraft's The Whisperer in Darkness, emphasis mine Thanks to this, I think I have an idea of what the protaganist heard.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
I think that TRIAD splash screen was added by a crack group, as another ROM I found lacked that screen entirely. Would it be too much trouble to ask for the run to be redone? Checksums for the no splash screen version: SHA1: 8F0965EED67738260683A5F19A3CE84B9C55BB94 MD5: C1CCA9694951DE223455732021DE77AA
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Darkman425
He/They
Editor, Judge, Skilled player (1293)
Joined: 9/19/2021
Posts: 263
Location: Texas
I can confirm that is a cracktro from Triad at the start. From what I understand from Demozoo that is their Realm cracktro.
Switch friend code: SW-2632-3851-3712
nymx
He/Him
Editor, Judge, Expert player (2255)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
Samsara wrote:
I think that TRIAD splash screen was added by a crack group, as another ROM I found lacked that screen entirely. Would it be too much trouble to ask for the run to be redone?
Not at all. This BOT made quick work of it. I can redo it by tomorrow.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
Awesome, much appreciated!
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
nymx
He/Him
Editor, Judge, Expert player (2255)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
Ok...I have Re-TASed this, at the request of Samasara. I have to say, I'm a little disappointed with the results. Here is the break down of the new details.
  • Changed emulator to Bizhawk 2.8.0
  • Found a routing error: Instead of completing all of the "Right" side content, I used up my "Chance" first, before completing the final items on the right. This kept the long trek back towards the shuffle, which was swapped out for the short distance to the change.
  • This cracked version took less time to load, but has an IGT routing error.
    • First Frame of Title: 2331
    • Ending Frame: 6535
    • Total (IGT): 4204 Frames
    • Total (overall): 20 Frames Faster
  • This un-cracked version took longer to load, but has IGT routing improvements
    • First Frame of Title: 2457
    • Ending Frame: 6555
    • Total (IGT): 4098 Frames
    • Total (overall): 20 Frames slow
Thankfully, the time didn't get much slower than it did. The new route saved 40 frames. Honestly, I can't explain the reason why this version would load slower. Should we go with the previous version and fix the routing?...even though we have a splash screen? Also, as I was typing this...Samsara just called out a desync issue. I'll see what I can do.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
nymx wrote:
Also, as I was typing this...Samsara just called out a desync issue.
I wouldn't mind someone else looking into this just to verify it's actually there, as I don't like ruling out user error for myself. The userfile is here: User movie #638053569325114514
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
nymx
He/Him
Editor, Judge, Expert player (2255)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
Actually, It is de-syncing here as well. I'm not sure how this happened. I'm going to give it another try.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
nymx
He/Him
Editor, Judge, Expert player (2255)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
nymx
He/Him
Editor, Judge, Expert player (2255)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
Ok...I tested the new TAS and it syncs. Also went back on 2.6.3.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
Confirmed sync as well. Thanks again for putting in the work!
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4966] C64 Yathzee "maximum score" by nymx in 02:10.67