3D-екшен проти зомбі просто у браузері: кампанія на 12 країн, «Живий фронт», Експедиції, кооператив до 4 гравців, Шторм, Ліга, хмарний сейв і PWA.
🎮 Грати: https://slonce70.github.io/zombie-world-rescue/
Працює на комп'ютері, телефоні та планшеті. Інтерфейс доступний українською, англійською і російською.
v780 — «Світ рятуємо разом»: на глобусі спільний лічильник урятованих людей, за приведеного друга обидва отримують яйце, код із 8 знаків переносить прогрес між планшетом і компʼютером, а в режимі дня всі грають ту саму карту й порівнюють час.
v770 — «По-справжньому разом»: врятований друг іде в бій і в чужій кімнаті — лікує, відволікає, бʼється; колесо спілкування виросло з 5 фраз до 12 стікерів.
v760 — «Похвалися»: листівка перемоги з кадром бою і листівка-запрошення з кодом кімнати; перші пʼять хвилин новачка ведуть до однієї цілі, а решта гри відкривається після звільнення України.
v752 — латка за аудитом: підмінена адреса сервера більше не краде хмарний сейв, ліга не стирає чужі рекорди, гранати й ракети бачать підлоги, підказки не кажуть «E» на планшеті.
v751 — ціль «Не купуй нічого в магазині» тепер ламається від покупки за будь-яку валюту, а хост кооперативу більше не приймає від гостя нескінченний потік гаджетів і карткових ефектів.
v750 — «Зірка складності й вибір героя»: зірка з Налаштувань нарешті діє на першому проходженні, «Живому фронті» й у коопі (за налаштуванням хоста); середина кампанії від Іспанії до Китаю відчутно росте, а шість цих країн дарують постійну силу. Драфт «Прокачки» отримав 10 карток, що змінюють бій і рух, магазин — другий ярус із вибором «одне з пари», друга зірка — 14 вторинних цілей замість 4.
v740 — Імпульс став грабельним пʼятим бійцем, складність зібрана в Налаштуваннях, за повністю освоєний світ дають нагороду.
v730 — «Сезон»: 12 сходинок на 6 тижнів, які ведуть гравця по режимах. Компас підказує наступний крок, нагороди — кристали, яйця, XP і титул за фінал.
v720 — «Загін»: врятований друг іде з тобою в бій — лікує, відволікає зомбі або бʼється поруч. Падає і встає, ніколи не гине назавжди.
v711 — скін-бокс знову в магазині назавжди, а забіг за Бастіона більше не качає Захисника.
v710 — «Штаб операцій»: усі кімнатні режими відкриті з першої хвилини, каталог поділено за довжиною сесії («5 хвилин» і «Довга операція»), а секція «СЬОГОДНІ» щодня показує 4 режими дня. Послідовним лишається тільки сюжет.
v701 — «Зоряні сили Бастіона»: дві сили на вибір за 2300 монет з 4 рівня — «Відштовхуючий супер» (520 шкоди й відкидання на 7 м) і «Швидкий супер» (3 с швидкості та +5% до заряду Super). Обрати можна лише одну, назавжди.
v700 — «Операції спільноти»: гравці публікують власні карти й проходять чужі — соло і в коопі. Каталог «Тиждень / Нові / Популярні / Мої», перевірка прохідності перед публікацією, реакції та заморожена підбірка тижня.
v600 — «Повернути світ» збирає кампанію, «Живий фронт» і кооператив в один цикл: «Продовжити порятунок» → картка країни → три безперервні фази операції → видимий результат на глобусі. Зруйновані країни можна повністю відбудувати, а офлайн-час їм не шкодить. Двоє рівноправних гравців можуть пройти весь цикл разом; HUD показує одну головну ціль, а мобільний інтерфейс працює без hover-підказок.
v520 — турецький корабель пливе справжнім широким Босфором уздовж берега, не проходить під землею, а люди чекають і висаджуються на суші. Також спрощено дубльовану браузерну тестову інфраструктуру та очищення 3D-ресурсів.
v513 — під польським замком є справжнє підземелля на глибині 6 метрів: 5 чаклунів і 11 кам’яних зомбі на 500 HP; їхні удари завдають 10 шкоди та оглушують на 0,5 секунди.
v511 — у польському замку закрито отвір над воротами, а на вході до підземелля чітко видно ґрати.
v510 — маркери польських вогнищ на мінімапі тепер точно збігаються з їхнім справжнім розташуванням.
v509 — польський замок має суцільні мури однакової висоти, чотири цілі вежі та вузький прохід до підземелля.
v508 — ящик з вибухівкою тепер треба знайти біля залізничного депо, а встановити його можна в доступній точці перед воротами.
v507 — суцільні мури польського замку без випадкових щілин між секціями.
v506 — розмір карти в налаштуваннях:
- 4 варіанти: мала 500 м, стандартна 750 м, велика 950 м і дуже велика 1250 м;
- дороги, рельєф, будівлі та сюжетні точки масштабуються разом, тож завдання не обрізаються;
- у кооперативі всі грають на розмірі карти хоста.
- після зачистки польського замку прохід у підземелля відкривається автоматично, а людей треба звільнити всередині.
- у Німеччині з'явилася казарма на 2500 HP: кожні 2 с вона випускає бігуна або волоцюгу, кожні 7 с — велетня.
v505 — оновлена польська операція:
- рятувальний поїзд тепер запускається з окремого пульта в залізничному депо;
- великий замок став самостійною будівлею з власною дорогою;
- фінальна арена розташована окремо від замку й відкривається після порятунку людей;
- маршрут, взаємодію, ворота, 30 захисників і підземелля перевіряє браузерний тест.
У Польщі спочатку запали три вогнища, потім іди за маркером 🚂 до депо та утримуй кнопку взаємодії біля червоного пульта. Після штурму замку окремий маркер 👑 покаже дорогу до арени.
Історія змін: CHANGELOG.md. Порядок публікації: RELEASE.md. У docs/ лежить спека v710 «Загін і ротація» та домовленості для агентів.
Версія релізу синхронізується у version.json, APP_VERSION та service-worker cache. Кооперативний wire format використовує PROTO_VERSION = 25.
Expedition має пʼятьох грабельних бійців: Захисник, Медик, Розвідник, Бастіон і Імпульс. Усі прокачуються до 5 рівня; Бастіон має власні гаджети, Гіперзаряд і дві Зоряні сили, Імпульс — хвилю контролю.
Потрібні Node.js 22+ і Chromium для Playwright.
npm ci
npx playwright install chromium
npm run serveВідкрий http://localhost:8741.
Для локального коопу в другому терміналі:
npm run relayГра приймає ?relay=ws://localhost:8742. Тестові сценарії використовують ?test&fresh; dev cloud-save вмикається тільки явним &cloud на localhost.
npm test
node test/version-sync.mjs
node test/coop-nick.mjs
node test/cloudsave.mjs
npm run test:front
npm run test:releaseРелізні ранери автоматично знаходять test/*.mjs. Деплой блокують рівно дві джоби: quick (версії, shell service-worker, i18n, «Операції спільноти» та швидкі доменні юніти) і smoke (test/smoke.mjs, combat-reborn, save-migration). Expedition, Front, повна батарея, кооп-гейт і real-combat e2e запускаються лише вручну через workflow_dispatch. Для локального відтворення повного soak shard:
SHARD_INDEX=0 SHARD_TOTAL=4 SLOW=4 node test/release.mjs
SHARD_INDEX=0 SHARD_TOTAL=4 SLOW=4 RETRY=1 node test/coop-release.mjsПовний порядок публікації та production-перевірки описано у RELEASE.md.
- Статичний клієнт: JavaScript modules, Three.js, HTML/CSS; збірка не потрібна.
- PWA:
sw.js,manifest.json, shell cache з версією релізу. - Кооп: host-authoritative модель; клієнти обмінюються намірами, снапшотами та подіями через
src/net/. - Production relay: Cloudflare Worker + Durable Objects у
worker/; WebSocket endpoint —wss://zr-relay.slonce70.workers.dev. - Worker також обслуговує Лігу, публічне лобі та SaveVault. Його деплой окремий від GitHub Pages.
- GitHub Pages: custom Actions workflow; production deploy виконується лише після всіх блокуючих тестів.
WASD— рух, миша — приціл, ЛКМ — вогонь.R— перезарядка,E— взаємодія,G— граната,B— магазин.- На touch-пристроях гра показує віртуальні органи керування автоматично.
ISC.