It’s-a Me, a Microtransaction!
The curse of microtransactions has made it to the Nintendo 64. Now Mario won't budge until you pay all of your hard-earned coins.
There are lots of good things to be said about today’s video games. The graphics are far better than those generated by older consoles, and the games tend to be more complex and immersive than ever before. However, there is one thing that most gamers could do without: microtransactions. Who wants to be nickel-and-dimed every time they sit down for a little entertainment? And where is the glory in paying for a special in-game item? Power-ups are meant to be earned through skill, not bought.
Games of the past, from the time when online gaming was exotic and rare, were free of this microtransaction curse. But that innocent time has now been defiled by YouTuber Print & Panic, who introduced microtransactions to the Nintendo 64. Now you’ve got to pay up or Mario isn’t going to cooperate when you hit the buttons on your controller.
To make this work, Print & Panic wired an arcade coin acceptor to a Raspberry Pi 3 B+ single-board computer. When a coin is inserted, it sends a signal to the Raspberry Pi, alerting it to that fact. The signal is then relayed to an Everdrive 64 flash cart.
The flash cart is running a customized version of Super Mario 64. Print & Panic started with a decompilation of the original ROM that was cleaned up and turned into a more friendly format for hacking on. He then inserted new code that tracks credits, which are added when a coin is inserted into the system. Restrictions were also encoded into the game: running will cost you $0.01/s, a jump rings up at $0.05, squishing an enemy will cost you $0.01, and don’t hold items for too long — it will cost you $0.05/s. When you run out of credits, Mario will refuse to obey your control inputs.
This project falls firmly into the category of things someone made just because they could. But if you too happen to hate fun and would like less enjoyment from your vintage game collection, you can find the build instructions on GitHub.