Загрузка видео...

Не удалось загрузить видео

На главную

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.

Похожие видео