I've also recently written up a long-form post on the theory behind ZK proofs that might be interesting to folks here: https://nibnalin.me/dust-nib/a-succinct-story-of-zero-knowle...
One (maybe naive) question: at a certain point in the demo, Rainbow wallet forecasts a 400$ gas fee. Does this mean that in order to play this game, I need to spend hundreds of dollars for each round? I know that there are many other chains that are vastly more efficient, plus all the L2 optimizations and all. I was just wondering if this is actually the case in this particular instance or I'm missing something important.
If anyone's interested, we built a 3D Dungeon crawler with ZKPs as part of a hackathon. There's a major mistake on the ZKP validation (left as an exercise for the reader to spot!) but works great as a POC and a nice couple of hackathon prizes too. Also has NFTs and randomness from an oracle for good measure.
Code: https://github.com/Derked/FantasyCampaign
Video run through: https://www.youtube.com/watch?v=zp5nEtPFvBo
Happy to answer any questions.
"Mobile gaming is more interesting than PC/web clients to me. If nothing it means developers can use push notifications and make games a much more mindless/regular part of players' day vs. depending on users to actively seek out their game on their computers."
This is one of the dark patterns that are actively eating away at our attention spans, and should be avoided. Develop ethically, please.
Mobile gaming is catered towards more casual audience succeeds better with micro-transactions (i.e. $0.99 - $2 like in-app purchases)
Most of the notifications get turned off if spamming most of the time and do not really help that much if the gamer is not intrinsically into that game. So its like fake marketing when you push but loose out anyways.
The dark pattern is really gacha style and gambling related casino games where slots are not real but you need to pay to spin. Users who get hooked spend thousands of dollars on it.
When Tetris was first released back in 1986, its uniquely addictive nature led some to theorize that it was intrinsically harmful, or more conspiratorially, that it was a weapon made by Russians to harm US productivity. Had Tetris first been released in the modern era, I think both of these (patently insane) complaints would have been taken more seriously.
And specifically on notifications, we have evidence that they don't have a positive impact on our attention spans: https://dl.acm.org/doi/abs/10.1145/2858036.2858359 https://pubmed.ncbi.nlm.nih.gov/26121498/
This is not entirely true. Witness hiding proofs are not zero knowledge (no simulator) but also do not reveal the solution. It is a subtle but important difference that can matter in some situations -- for example, a witness hiding proof could potentially allow the verifier to prove a related statement (e.g. proving that the proof protocol was executed).
What would be the eventual process to make something like this decentralized so as to ensure no single party controls the server that (if I understand correctly) would set the day’s puzzles and handle verification?
Maybe a less on-chain but still relatively decentralized solution for long intervals between puzzles is a chainlink VRF oracle.
Any other link?