What is Dappicom?
Dappicom is a provable Nintendo Entertainment System emulator written in Noir. It sounds a bit wild but essentially, once Dappicom is ready, players can load iconic NES ROMs such as Zelda or Super Mario Bros on their local machine and then prove outcomes of that gameplay onchain to trigger downstream consequences. To our knowledge, it’s the world’s first and only attempt at NES emulation in ZK. To illustrate what this would mean:
Performance: despite blockspace constraints and the relatively high computational cost of NES emulation, gameplay could still be proven onchain by squeezing gameplay into a simple proof.
Privacy: theoretically a player can prove that they legitimately achieved something in-game (such as a world-record speedrun) without revealing exactly how they did it. For more on the role of hidden information in onchain games, see the Privacy Playgrounds Wiki.
Why is Dappicom worth building?
Mainly because emulating the MOS 6502 is fun, and we care about the intersection of ZK and game worlds. But really, a whole bunch of reasons!
Dappicom could bootstrap the onchain game catalog with retro games. Today (and despite enormous industry hype) there’s a dearth of actual onchain gaming content. Onchain games also come with a crypto learning curve. Playing NES games is simple, and there is a large catalog of ROMs. (Legally, we want to flag at this point that any ROMs you play on a NES emulator should be your legitimately-owned ROMs!)
Dappicom widens the appeal of onchain games beyond a crypto-native audience. Dappicom doesn’t require a token and nor does it fit the play-to-earn model, which has a controversial reputation in gaming. To prove out the fully-onchain gaming category we need to cross the chasm beyond gamers who play games just to earn tokens. Dappicom could appeal to the retro gaming scene beyond crypto (the /nes subreddit has 93k members, placing it in the top 2% of Reddit communities).
Dappicom illustrates the power of provable gaming. Proving speedruns with hidden strategies has never been done before. Speedruns are often contested - for example, Dream’s controversial Minecraft speedrun. You can’t argue with maths, though.
Dappicom can level-up developers in Noir. Noir and other ZK DSLs will be imporant parts of the future internet stack; it’s important to get developers up to speed. The project comes with plenty of documentation to get someone contributing right away. There will be extra material discussing best practices when writing Noir code.
Dappicom stretches Noir in powerful ways. Dappicom shows that Noir has ambitions beyond being a DSL for Aztec protocol, and also has significant performance needs for Noir to match.
Where’s the Dappicom project at right now?
Dappicom is currently in the pre-alpha stage. This announcement is a call for developer support — what we call a “community release.” The next steps are to establish a community of developers who can shape the project and bring together the first live demo: a “Twitch Plays Pokémon”-style experience.
You can see our project page here and the Github repo here.
About Tonk
Tonk is turning autonomous worlds into privacy playgrounds. We’re working on primitives to help onchain game studios bake hidden information into their worlds, for play that is balanced & fun. You can find out more about our “why” here and our work here.
Where did this project come from?
At Tonk we’ve taken cryptographic theory and applied it to live use-cases in fully-onchain games. “Snarky Monsters”, our first minigame based on Pokémon, imbued onchain NPCs with secret psychology. We then looked to generalise the “battle server” prototype for Snarky Monsters into a gaming-specific ZKVM capable of holding secrets that players could trustlessly interact with. This morphed into Dappicom.
We also want to give credit to adjacent projects that emulated the NES in a blockchain context, including Paco Bytes’ Mudtendo that re-executes everything onchain with precompiles. Also Nalin emulated the Game Boy with fraud proofs at a 0xParc hacker house. Full credits in the Github repo. Shout @_bazlightyear on Twitter if I’m missing anything!
Disclaimer: much like nesdev.org, Dappicom is not affiliated with Nintendo and is not for profit. Any ROMs used on any NES emulator should be your legitimately-owned ROMs.