3 ms·
Good idea; I tried that. Unfortunately IPFS doesn't yet seem reliable. Or at least I couldn't get it to work very well. I'll try again though. Wanna collab? Sh
by shawn 8y ago
Good idea; I tried that. Unfortunately IPFS doesn't yet seem reliable. Or at least I couldn't get it to work very well. I'll try again though.
Wanna collab? Shoot me an email and we can work it out. I'm really interested in getting this concept running. If only IPFS were low latency and easy for average gamers to upload files to, that seems a perfect fit.
I was hoping that as users play games, they would also upload the games to other people who want to play. That way there's no scarcity of server resources. You could fit ~40 n64 games into 1GB, so it's not a lot of bandwidth.
- Karrot_Kream 8y agoIPFS definitely has high latency, but you might be able to combine this with the Web Storage API [1] to compress and then store the ROM data for local use. I'd be interested in a collab, is your email in your profile? 1: https://developer.mozilla.org/en-US/docs/Web/API/Storage https://developer.mozilla.org/en-US/docs/Web/API/Storage
- shawn 8y agoYeah! We're thinking along the same lines. I think with a bit of work, libretro can be modified to do it: https://github.com/libretro/parallel-n64 https://github.com/libretro/parallel-n64 It's already been ported to the web. https://medium.com/webmr/n64-vr-with-javascript-e188de42ced5 https://medium.com/webmr/n64-vr-with-javascript-e188de42ced5 The trouble is performance. N64 emulation is all software rasterization based, but it can be rewritten to use WebGL. It's just a lot of work that no one's done yet. RetroArch runs at 40fps because it can use SSE ops, which is beyond what browsers can do currently. I think it would be possible to ship an Electron app with a local build of Retroarch, modified to export the rom's game data and selectively replace the draw calls with other ones. That way you can basically swap out starfox with mario, if you wanted. If any of this sounds interesting, shoot me an email (see profile).