Earlier quoted context omitted.
Even more interesting is this idea of running WebAssembly on the server, in containers, with orchestration services among them, and communicating across sandboxed environments. Somehow it reminds me of something, but memory is getting fuzzier nowadays. /s
You’re obviously talking about the 1972 VM/370 right?
Show HN: Porting Terraria and Celeste to WebAssembly
41–50 of 55 posts
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#42> One of my favorite genres of weird project is "thing running in the browser that should absolutely not be running in the browser". Some of my favorites are the [...] the direct recompilation of Minecraft 1.12 Heh, you'd think Minecraft would be exactly the sort of thing that absolutely should be running in the browser, considering it was originally a Java applet. I understand the point, I just find it amusing.
Even more interesting is this idea of running WebAssembly on the server, in containers, with orchestration services among them, and communicating across sandboxed environments. Somehow it reminds me of something, but memory is getting fuzzier nowadays. /s
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#43Your (?) website is so resource-demanding it's insane. I'm struggling to run it at any decent framerate on an i5-7500T. Makes the entire browser just crumble
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#44[1] Single player: https://thelongestyard.link/q3a-demo/ Multiplayer: https://thelongestyard.link/q3a-demo/?server=HN
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#45Re: Show HN: Porting Terraria and Celeste to WebAssembly
#46Earlier quoted context omitted.
For some reason that runs at like double speed for me, very challenging.
Sounds like the game uses a fixed 60hz frame step but maybe you're on a 120hz display? Chrome and FF run requestAnimationFrame at 120hz in this case (while Safari sticks to 60hz)
Even "AI"s know to show you how to do it in spite of requestAnimationFrame. I know, I asked.
But you have to ask them specifically to decouple game world updates from drawing, or they'll give you the dumb solution.
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#47I've recently started trying to do a bit of basic game development targeting the web through WASM+OpenGL+SDL, and I must say, I'm shocked with how easy it is. I spent more time fiddling with CMake files than I did trying to the code to run on the web. There are still some limitations and rough spots on the web platform, but I've honestly had a much harder time compiling things for Windows or MacOS than for WASM.
Dumb question: do you have access to any of the nice text rendering features of the browser when you use Wasm, or is it basically just drawing to a canvas
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#48> One of my favorite genres of weird project is "thing running in the browser that should absolutely not be running in the browser". Some of my favorites are the [...] the direct recompilation of Minecraft 1.12 Heh, you'd think Minecraft would be exactly the sort of thing that absolutely should be running in the browser, considering it was originally a Java applet. I understand the point, I just find it amusing.
Early minecraft versions did run in the browser before it was made a standalone app, and they recreated it recently https://classic.minecraft.net
6 years ago? https://news.ycombinator.com/item?id=19861584
Re: Show HN: Porting Terraria and Celeste to WebAssembly
#49Getting firebase "bandwidth quota exceeded" error when trying the demo. You shouldn't have to worry about this kind of stuff if it's just a static site. I'd host this on a cdn like cloudflare or github pages (free!).
My bad! Switched over to the github pages fallback. Cloudflare pages isn't suitable because the wasm files (100mb+) exceed the 25mb limit. (i could bypass this with service worker jank but that tends to be fragile). Github Pages also isn't suitable because it doesn't have a native way of sending the coi/coep headers that are required for SharedArrayBuffer to be available. Can also bypass that with service worker jank…
For anyone wondering: https://github.com/gzuidhof/coi-serviceworker or https://github.com/WebReflection/mini-coi