Comments 8
Подскажите, сколько префикс со всеми бинарями весил и грузился в браузере?
Не до конца понял вопрос, префикса в нашем случае нет вообще. Мы не запускаем Wine: kernel32/user32/gdi32/ddraw/d3d9 написаны на TypeScript, а в x86-эмуляторе крутится только код самой игры.
Если сравнивать с браузерным BoxedWine (он ближе всех по духу - эмулирует Linux-ядро, но поверх гоняет настоящий Wine), то у него рантайм ~1.6 MB, а дальше нужен собственно префикс: для Win32-демок это 9.3 MB минимального дерева Wine сразу плюс дотягивание из 47.7 MB полного архива по Range уже в рантайме.
В случае BottleShip мы говорим про ~1.6 MB по сети (~4 MB в распакованном виде): JS-слой + WASM v86. Скачивается один раз и кешируется, так что это почти мгновенно. Другое дело - сама игра, к примеру C&C Tiberian Sun весит полтора гигабайта, и вот тут выручает стриминг ресурсов по требованию.
Выглядит потрясающе! Обязательно (если есть желание конечно) развивайте свой проект. Думаю такие инструменты совместимости всегда будут в моде
Настолько круто, что аж задонатил.
Ого, спасибо! ❤️ Теперь у меня вообще нет морального права забросить проект :) В новой версии я активно готовлю интересные штуки:
нормальные onscreen контролы для мобилок
расширение рабочих тайтлов до 35+ включая такие как:
Morrowind
GTA 3
System Shock 2
American McGee’s Alice
Gothic
Blade of Darkness
Еще одна вещь, про которую я забыл упомянуть в статье - GOG. В каком-то смысле GOG`овский инсталлер - это готовый ром, так что для поддерживаемых тайтлов на своем маке можно просто закинуть инсталлер, эмулятор сделает свою магию с перепаковкой и игра запустится
Ты волшебник, Гарри.
это аддиктивно.
А, влип, очкарик! (с) :)
Очень классный проект. Не люблю старые игры и браузеры, но такие вондервафли мне нравятся
А ещё, возможно это один из самых удобных и производительных способов эмуляции на iOS 🤔
Плоть слаба: как я писал свой Wine для браузера