2 pointsby shijie3 hours ago1 comment
  • shijiean hour ago
    Ported to TypeScript from Motorola 68k assembly!

    All the rats' behaviors are true to spec: Their distractions (sniffing, turning around, grooming, stopping) are all frame accurate and occur in the same ratios as the original. The artwork and animation speeds were extracted from the old bitmaps and jump instructions and are (as close as I can get) to being frame accurate.

    Enhancements:

    I ran tens of thousands of simulations and fixed a few unfair advantages rats had if they were in the outside lane—they would lurch forward quickly around the turns resulting in a 43% win rate as opposed to the 33% random roll rate one would expect. Now it's within 0.5% for every training level and every lane.

    I also bumped the max rat count up to 8 possible rats, and added a "lane passing" animation. It looks hilarious to see two rats side by side in the same lane, gunning their way to the finish line. Gotta have fair rat races.

    I also added my own names for the rats, inspired by Berkeley Systems' naming scheme.

    Now we can all scream at our monitors urging Flamin' Furball to turn around and start waddling again like it's 1994.

    Github: https://github.com/heyitsjames/rat-race