正在加载视频...

视频加载失败

I'm making progress on the auto-sync WebAssembly project. This video shows a live-editable AssemblyScript program. Both the program and its state are auto-synced between browser windows.

30,809 次观看 • 3 年前 •via X (Twitter)

11 条评论

Ian Kettlewell 的头像
Ian Kettlewell3 年前

AssemblyScript didn't work great with this initially so I introduced a new rollback strategy that performs better for Wasm produced by AS. For now the library will pick a rollback strategy based on a heuristic or optional setting. I'd like to simplify that but for now it works.

Ian Kettlewell 的头像
Ian Kettlewell3 年前

Next steps: * Chase down rare desyncs * Fix a few time synchronization issues * Improve how disconnects / reconnects work

Avi 💜 Magic Circle 的头像
Avi 💜 Magic Circle3 年前

This looks super cool - can you share more about what you’re building?

Ian Kettlewell 的头像
Ian Kettlewell3 年前

Thanks! I'm building a library that lets you write multiplayer / synced WebAssembly programs, but you don't need to think about the networking details at all. It effectively makes the same Wasm program 'magically' run in multiple places at once.

Wil Chung 的头像
Wil Chung3 年前

Is there a name to the project? Will it be stand-alone open source or baked into Bloom?

Ian Kettlewell 的头像
Ian Kettlewell3 年前

I'm still thinking about a name. See this thread: This will be stand-alone from Bloom. My ideal plan: Open-source the core so people can hack it, improve it, and self-host it. But also offer paid hosting with a free tier that is dead-simple to use.

Daniel Bakas 的头像
Daniel Bakas3 年前

Hi again @kettlecorn! Question here: Could this work with Three.js?

Ian Kettlewell 的头像
Ian Kettlewell3 年前

Someone would have to write a layer to communicate between this and Three.js, but otherwise there's no reason it couldn't. A possible scenario is all networked logic runs in this library and all rendering / visual stuff runs in Three.js.

Andrii Maliuta 🇺🇦 😻 的头像
Andrii Maliuta 🇺🇦 😻3 年前

Awesome!

🍞☁⛩️ (realms/acc) 的头像
🍞☁⛩️ (realms/acc)3 年前

How many connect users have you tried? This is very interesting

Ian Kettlewell 的头像
Ian Kettlewell3 年前

I haven't stress tested it yet. In theory it can scale to many users but it may be limited by overhead in the peer-to-peer connections. If it scales poorly there are approaches to fix that but those wouldn't be implemented right away.

相关视频