Установить PWA · Скачать APK · Кейс разработки · Проверенные устройства · Спецификация автономных игр · Постеры A4 · Документация PWA
GameSpace запускает локальный HTML/CSS/JavaScript-сайт из архива на компьютере, планшете или телефоне без постоянного подключения к интернету и локальной сети.
На иллюстрации показан интерфейс GameSpace PWA и APK версии 0.3.4.
Автор: Илья Барило (Ilya Barilo)
Статус: GameSpace APK в основном завершён и поддерживается по мере необходимости. GameSpace PWA — текущее направление разработки. Для стабильного использования предназначены опубликованные релизы; ветка
mainможет содержать изменения, ещё не вошедшие в выпуск.
GameSpace представлен двумя приложениями с общим назначением и единым форматом исходного архива:
- GameSpace PWA устанавливается с сайта без магазина приложений или работает в обычной вкладке поддерживаемого браузера;
- GameSpace APK устанавливается на Android как отдельное приложение WebView.
Пользователь выбирает архив через системный файловый диалог. Архив читается на самом устройстве, распаковывается в хранилище приложения и не отправляется на сервер. После установки содержимого исходный архив можно отключить вместе с флешкой или SD-картой: рабочая копия сайта уже находится на устройстве.
- для интерактивных игр, выставок и музейных стендов;
- для учебных и просветительских проектов;
- для планшетов в аудиториях и общественных пространствах;
- для автономных HTML-сайтов, каталогов и презентаций;
- для случаев, когда во время работы нет интернета и локальной сети.
GameSpace развивается как инструмент для запуска игр и интерактивных материалов на планшетах и телефонах. Проект используется на мероприятиях, где посетители могут сами попробовать игры и задания.
GameSpace на Дне молодёжи |
Игровая площадка с GameSpace |
| GameSpace PWA | GameSpace APK | |
|---|---|---|
| Платформы | Android 9.0 и новее (проверено на Android 11); iPhone и iPad с необходимыми возможностями браузера (проверено на iOS 26.1); компьютеры с необходимыми возможностями браузера | Android 6.0 и новее (проверено на Android 8.1.0) |
| Установка | С HTTPS-сайта на домашний экран, без магазина приложений | Из файла GameSpace.apk с разрешением Android на установку |
| Хранилище сайта | Закрытое хранилище браузера OPFS | Каталог данных Android-приложения |
| Обновление приложения | Только по явной команде пользователя из меню | Установкой новой версии APK |
| Основное преимущество | Одна веб-версия для iOS и Android без магазина | Более предсказуемая среда Android WebView и хранилища приложения |
Функциональность APK и PWA поддерживается максимально близкой, насколько это позволяют ограничения Android, iOS и браузеров. Изменения формата архива не должны требовать подготовки разных пакетов для двух приложений.
Фактические результаты ручных проверок PWA и APK приведены в матрице проверенных устройств.
- Откройте страницу GameSpace PWA по HTTPS.
- Нажмите Открыть в браузере или установите приложение через меню браузера. На iPhone и iPad используйте Safari: Поделиться → На экран «Домой».
- В открытом GameSpace выберите встроенный демо-сайт или собственный архив через системный файловый диалог.
Первое открытие и установка PWA требуют интернета. После подготовки оболочки и импорта сайта приложение работает автономно.
- Скачайте готовый
GameSpace-latest.apkили выберите другую версию в GitHub Releases. - Разрешите Android установку APK из используемого источника и установите приложение.
- Запустите встроенный демо-сайт или выберите собственный архив через системный файловый менеджер Android.
Установленный сайт работает локально без интернета. В меню APK можно вручную проверить и установить обновления приложения.
Подробная инструкция для APK описывает установку, форматы архивов, обновление содержимого и сборку из исходников.
Подробнее о двух вариантах содержимого рассказано в разделе «Встроенное демо или свой архив».
Постеры с QR-кодами для установки GameSpace PWA и APK. Нажмите на изображение, чтобы открыть WebP для печати: 2480 × 3508 пикселей (300 dpi на A4). Выберите бумагу A4, книжную ориентацию и вписывание изображения в страницу.
PWA — полный постер A4 |
APK — полный постер A4 |
- встроенный демонстрационный сайт для первой проверки;
- основной формат архива 7z, а также поддержка ZIP и ZIP64;
- выбор файла из памяти устройства и доступных системному диалогу флешек и SD-карт;
- полная установка или замена сайта;
- локальные update-архивы для быстрого обновления отдельных файлов;
- отображение прогресса и проверка свободного места;
- безопасная проверка путей внутри архива;
- запуск HTML, CSS, JavaScript, изображений, шрифтов, аудио, видео и сложных интерактивных сцен, включая 3D/360° в пределах доступных устройству веб-API;
- автономная работа после установки приложения и импорта содержимого.
Обе реализации сначала подготавливают файлы отдельно и используют журнал операции с откатом, чтобы ошибка, закрытие приложения или нехватка места не повредили ранее установленный сайт.
Для разработки самостоятельных HTML-игр вручную или с помощью ИИ используйте спецификацию автономных игр. Её можно прикладывать к запросу как технический контракт и чек-лист совместимости.
GameSpace может запускать не только каталоги и небольшие игры, но и более сложные локальные HTML/CSS/JavaScript-приложения. В PWA проверена виртуальная экскурсия с интерактивным обзором и переходами между 360°-сценами в 3D-пространстве.
Интерактивный обзор |
Навигация между сценами |
Доступные веб-API, производительность и объём памяти зависят от браузера, Android WebView и конкретного устройства.
Поведение HTML/CSS/JavaScript-игры может измениться после обновления браузерного движка, даже если архив игры не менялся. В меню GameSpace можно посмотреть текущий браузер и историю 20 последних замеченных периодов его версий. Одинаковая версия не создаёт запись при каждом запуске: обновляется только время её последнего использования.
Для независимой проверки совместимости на Android используйте две контрольные среды: Chrome (Chromium) и Firefox (Gecko). Установите GameSpace PWA через меню второго браузера, импортируйте тот же архив и сравните работу конкретной игры. Эти браузеры названы как фактически проверяемые представители разных движков, а не как рекомендация производителя. Другие поддерживаемые браузеры также могут работать. Сохраните исходную установку до окончания проверки.
Для ручной установки на Android откройте меню браузера и выберите «Установить приложение». На iPhone и iPad откройте «Поделиться» и выберите «На экран Домой».
Каждый браузер использует собственное закрытое хранилище. Импортированный сайт, сохранения игр, настройки и история версий между установками не переносятся; архив нужно выбрать заново. На iPhone и iPad установка через другой браузер обычно не даёт такого же независимого сравнения движков, поскольку браузеры используют системные возможности WebKit.
Основной вариант — один цельный незашифрованный файл .7z. ZIP и ZIP64
поддерживаются для совместимости и локальных обновлений. Зашифрованные и
многотомные архивы не поддерживаются.
Импортированный сайт может содержать произвольный JavaScript. Используйте
архивы только из доверенного источника; границы проверки и хранения описаны в
SECURITY.md.
Допустимы две основные структуры. Можно заархивировать содержимое каталога:
site.7z
index.html
games/
images/
Или сам каталог:
site.7z
site/
index.html
games/
images/
В корне сначала выбирается index.html, а при его отсутствии — единственный
файл .html. Переход в единственный каталог разрешён только тогда, когда в
корне нет обычных файлов; внутри действует тот же порядок. Поиск не выполняется
рекурсивно.
Внутренние ссылки сайта должны быть относительными и не должны зависеть от
внешнего сервера. Регистр букв в путях следует соблюдать: Logo.webp и
logo.webp могут считаться разными файлами.
В GameSpace нет программного ограничения архива. PWA обрабатывает 7z диапазонами в отдельном Worker и записывает распакованные данные непосредственно в OPFS; ZIP/ZIP64 также распаковывается последовательно. Полный архив и весь сайт не должны одновременно помещаться в оперативную память.
Практический предел определяется:
- свободным местом на устройстве;
- размером распакованных файлов;
- квотой, предоставленной браузером для PWA;
- возможностями файлового провайдера и операционной системы;
- способностью устройства не выгружать длительную операцию из памяти.
В авторском испытании GameSpace PWA 0.3.4 на одном Android-устройстве 25 августа 2026 года успешно установила из 7z-архива 5 133 файла и записала 2,47 ГБ данных за 9 минут 40 секунд. Это результат одного конкретного испытания, а не гарантированный предел для всех устройств; скриншоты и контекст приведены в кейсе.
Распаковка |
Сайт готов |
Сводка операции |
В отдельном испытании тот же файл site.7z был установлен в GameSpace APK
0.3.4. Во время распаковки APK показывала архив объёмом 2,3 ГБ, а итоговая
сводка зафиксировала 5 133 загруженных файла, 2,5 ГБ записанных данных и полную
установку за 2 минуты 32 секунды. Значения 2,47 ГБ в PWA и 2,5 ГБ в APK на
скриншотах версии 0.3.4 отличаются старым округлением APK; содержимое архива
одно и то же. В актуальной реализации обе версии после операции суммируют
размеры всех фактически установленных файлов и используют одинаковое
форматирование, поэтому этот сайт отображается как 2,47 ГБ и в PWA, и в APK.
APK: распаковка 2,3 ГБ |
APK: итог установки |
Для полной установки PWA и APK временно требуется место под действующую и новую ревизии сайта вместе с резервом. Перед применением update-архива обе версии отдельно учитывают резервные копии фактически заменяемых файлов. Поэтому большие архивы нужно проверять на конкретных моделях устройств; один общий гарантированный предел для всех телефонов и планшетов указать нельзя.
Обычный запуск установленной PWA использует последнюю полностью подготовленную локальную оболочку и не загружает новую версию приложения, WebAssembly или демо-архив. Проверка и установка функционального обновления выполняются только по явной команде пользователя из меню.
Пользовательский сайт хранится отдельно от оболочки PWA. Неудачное обновление оболочки не должно заменять ранее работавшую версию, а опубликованные выпуски сохраняются как отдельные неизменяемые пакеты.
Удаление приложения или очистка его данных удаляет распакованный сайт. Исходный архив следует сохранять отдельно.
Демо и собственный архив — альтернативы. Встроенное демо позволяет сразу проверить GameSpace, но устанавливать его перед своим сайтом не требуется. В обоих вариантах содержимое распаковывается в локальное хранилище приложения.
PWA: демо или архив |
APK 0.3.4: демо или архив |
PWA 0.3.4: пример демо-игр |
Пятиэтапный сценарий установки PWA показан в кейсе разработки.
Исходные материалы встроенного демо находятся в demo/. Файл
demo.7z не хранится в репозитории: сборщики APK и PWA создают и проверяют его
из этого каталога.
Официальный неизменённый GameSpace можно скачивать, устанавливать, использовать и распространять вместе со встроенным демо, в том числе в вузе или другой организации. В это же приложение можно импортировать собственный архив, оставив демо доступным.
Демо-игры, страницы, изображения и другие оригинальные материалы нельзя
извлекать и включать в собственный архив, сайт, изменённую сборку или другой
проект. Полные условия приведены в
demo/DEMO_CONTENT_LICENSE.md.
GitHub Releases является источником стабильных версий APK и PWA. Установленная PWA не обновляется автоматически: пользователь сам запускает проверку и установку новой версии. Прошлые выпуски PWA остаются доступными для ручного возврата.
Подписанный APK сохраняется в Release под версионным именем и как идентичная
копия GameSpace-latest.apk. Постоянная ссылка
на последний стабильный APK
автоматически переходит к этому файлу в актуальном Release. latest не является
отдельной версией или тегом.
Подробный порядок подготовки версии и возврата к прошлому выпуску описан в
pwa-gamespace/RELEASING_RU.md.
Для PWA требуются Node.js 20 или новее и 7-Zip:
cd pwa-gamespace
npm install
npm run test
npm run buildПодробности: pwa-gamespace/README.md.
Для сборки APK на Windows:
apk-gamespace\build-apk.bat buildКоманда создаёт локальный тестовый APK с отладочной подписью. Официальный APK
для GitHub Release собирается только с постоянным ключом из Actions Secrets.
Скрипт использует отдельное Android-окружение проекта. Требования, установка
SDK, подпись и результат сборки описаны в
apk-gamespace/README_APK.md.
apk-gamespace/ исходники и сборка Android-приложения
pwa-gamespace/ исходники, тесты и выпуск PWA
demo/ исходные материалы встроенного демо
docs/ документация, изображения интерфейса и постеры A4
third_party/ лицензии и исходные материалы сторонних компонентов
tools/ общие инструменты сборки
.github/ сборка и публикация стабильных выпусков GameSpace
Репозиторий содержит материалы с разными условиями использования. Корневая MIT License является основной лицензией оригинального программного кода и текстовой документации GameSpace, но не отменяет явно указанные условия для отдельных материалов и сторонних компонентов.
| Материалы | Условия |
|---|---|
| Оригинальный программный код и текстовая документация GameSpace, если в конкретном файле не указано иное | MIT License |
| Оригинальные материалы встроенного демо | Только как встроенное демо неизменённого официального GameSpace; подробности в DEMO_CONTENT_LICENSE.md |
| Значок GameSpace и связанные фирменные графические материалы | Не входят в MIT; в изменённой версии должны быть заменены согласно BRAND_ASSETS_LICENSE.md |
| Официальные изображения документации, постеры и социальная обложка | Разрешены только в неизменённом виде как часть официального репозитория, документации и презентационных материалов GameSpace; применяются условия для фирменной графики и демо-материалов |
| Название и идентичность продукта GameSpace | MIT не предоставляет прав на товарный знак или фирменное обозначение |
| Сторонние компоненты | Сохраняют собственные лицензии из THIRD_PARTY_NOTICES.md и third_party/licenses/ |
Таким образом, указание MIT относится к оригинальному программному коду и текстовой документации GameSpace, а не автоматически ко всему содержимому репозитория.
Готовый выпуск PWA включает этот комплект документов и тексты сторонних
лицензий непосредственно в пакет. В установленной PWA они доступны в разделе
Лицензии, а в APK — через пункт ⚙ → Лицензии.














