Учётная карточка сборки
Скачать Chaos Lab 0.5.0 для Windows
Один портативный исполняемый файл с упакованными внутрь данными игры. Ни установщика, ни лаунчера, ни аккаунта, ни фоновой службы.
— скачиваний учтено.
- Файл
/downloads/ChaosLab-0.5.0-windows-x64.zip- Содержимое
ChaosLab.exe, данные игры встроены в исполняемый файл- Цель
- Windows 10/11, 64 бита (x86-64)
- Движок
- Godot 4.7.1 stable, рендерер GL Compatibility
- Установка
- Не требуется. Распакуйте архив и запустите файл
- Удаление
- Удалите папку, а если нужно начисто — и файл настроек
- Подпись
- Отсутствует — SmartScreen предупредит
- Сеть
- Необязательный запрос манифеста обновлений при запуске
В архиве находятся BUILD.txt с версией и коммитом исходников и SHA256SUMS.txt с контрольными суммами файлов.
Почему Windows на неё ругается
Исполняемый файл не подписан сертификатом разработчика, поэтому SmartScreen пишет неизвестный издатель. Выберите Подробнее, затем Выполнить в любом случае. Это предупреждение честное — оно говорит, что никто не заплатил за то, чтобы привязать к этому файлу удостоверение личности, — и будет появляться, пока сертификата нет. Это же причина, по которой в игре нет автообновления: неподписанный исполняемый файл, который скачивает и подменяет исполняемые файлы, ведёт себя ровно как зловред, а антивирусы классифицируют по поведению.
Новое в 0.5.0 — хаос без лишних окон
Первый отзыв игрока стал поводом пересмотреть начало забега и выбор улучшений.
- Компактные карточки перков: выбор Z/X/C, бой продолжается. После выбора — 20 секунд до следующего окна; заработанные улучшения сохраняются.
- Первая минута спокойнее: враги медленнее, толпа нарастает постепенно. Уровни появляются реже, описания перков короче.
- Оружие и боезапас — у нижнего края по центру. Пустой ствол выделен; клавиша 4 переключает на лом без патронов.
- Новые анимации четырёх оружий, гильзы и дым, повреждаемые мониторы и щитки. Русские реплики реагируют на события и реже повторяются.
Что вошло в эту версию
0.5.0 — это строка версии, которую исходники несут сегодня. Прототип прошёл через три десятка с лишним задач; вот те части, с которыми встречается игрок.
Расписание сезона
Четырёхнедельный цикл лежит в сборке как данные. Титульный экран печатает фазу и оставшиеся дни, так что вернувшийся игрок узнаёт об изменениях до того, как нажмёт «Начать».
Уведомление об обновлении
Необязательная проверка при запуске, которая сообщает о существовании более новой сборки и ничего не скачивает. Проверяет манифест проекта и может быть отключена.
Полосы здоровья и щита
Обе живут внутри собственной раскладки информационной панели, а не висят поверх неё, и щит выступает за полосу здоровья, чтобы никогда не перекрыть то число, от которого вы умираете.
Станции восстановления
Ремонтная установка и эмиттер щита, не больше одной на квартал, и внутри здания, если в квартале оно есть. Они не перезаряжаются, поэтому ни один угол города не стоит того, чтобы в нём отсиживаться.
Толпа, которая поспевает
Уйти от боя больше не значит опустошить мир: город подгружается вокруг вас, а толпа поддерживается впереди по ходу движения.
Перки в акте о происшествии
Отчёт в конце забега перечисляет перки, которые были при вас, рядом с наградой и причиной смерти, — так забег объясняет сам себя.
Ещё в этой версии, за кулисами: шлюз кандидатов теперь выносит вердикт по посчитанной работе, а не по измеренному времени, поэтому на медленной машине он тот же самый, а офлайновый пакетный генератор способен без присмотра прогнать сотню предложений через импорт и шлюз. Ни то, ни другое не входит в игру, которую вы запускаете; и то, и другое — причина, по которой кандидатам можно доверять в том, что они не расплавят вам частоту кадров.
Известные проблемы, названные до того, как вы их найдёте
- Анимации ещё развиваются. Три типа врагов используют новые спрайты направлений; полноценные рисованные циклы ходьбы и смерти пока не завершены.
- Ствол оружия торчит перед игроком. Это модель, а не ошибка прицеливания.
- Экстремальная плотность снарядов роняет кадры. Худший профиль — 256 самонаводящихся снарядов против 500 врагов — намерил около 62 мс на физический кадр на машине разработчика, что заметно выходит за бюджет в 16,7 мс для 60 Гц. Обычная толпа из 500 врагов на той же машине намерила около 12,5 мс. Это замеры при разработке на одном компьютере с Windows, а не обещание для вашего.
- Баланс не устоялся. Оружие, дефицит патронов и темп волн — всё это первые подходы. Первая минута смягчена; отзывы о сложности особенно полезны.
- Фаза сезона доверяет системным часам. Переведите их вперёд — и неделя испытания откроется раньше. Это одиночная игра, в которой нечего выигрывать, а сервер, который такое предотвращает, стоил бы дороже самой проблемы.
- Испорченное расписание пропускается, а не роняет игру. Каталог сборки играбелен сам по себе, поэтому опечатка в дате не имеет права оставить вас без предложений перков.
Управление
| Действие | Ввод |
|---|---|
| Движение | WASD или стрелки |
| Прицеливание | Мышь |
| Огонь | Левая кнопка мыши |
| Рывок | Space — пока он длится, вас не задеть |
| Оружие | 1–4 или Q по кругу |
| Выбрать перк | Z / X / C |
| Пауза | Esc — Вне выбора перков |
| Язык | F2 — английский и русский, переключаются прямо в забеге |
| Диагностика | F3 — кадры, снаряды, отказы |
| Звук | M |
Что она пишет и что отправляет
Игра пишет один файл настроек и больше ничего:
%APPDATA%\Godot\app_userdata\Chaos Lab\settings.cfg
В нём хранятся ваш язык, ваша схема передвижения и разрешение на проверку обновлений. Ни телеметрии, ни сборщика отчётов о падениях, ни идентификатора, ни аккаунта. Чтобы отказаться от проверки обновлений навсегда, добавьте в этот файл:
[updates]
check_enabled=false
Проверка — это один GET статического JSON-файла при запуске. Он не несёт ни строки запроса, ни сведений о вас; сервер узнал бы, что некий адрес забрал файл, — что ему в любом случае сообщила бы ссылка на загрузку. Проверка никогда не задерживает титульный экран, а неудача проходит молча, потому что отсутствие сети — это нормальное состояние машины, а не ошибка.
Манифест обновлений — /updates/latest.json
Эндпоинт, который читает игра. Это статический файл с описанием самой свежей сборки; игра реагирует, только если версия в нём выше её собственной, и только тем, что показывает кнопку, открывающую ссылку в вашем браузере.
{
"version": "0.5.0",
"season_name": "Season 1 — Health and Safety Review",
"notes": "Three gated Season 1 candidates ship in this build.",
"download_url": "https://chaoslabgame.ru/downloads/ChaosLab-0.5.0-windows-x64.zip"
}
Что игра отвергает и почему разбор такой подозрительный: это единственный текст в игре, пришедший извне, и попадает он и на подпись в интерфейсе, и в руки системного обработчика ссылок — а это не браузер, а «сделай с этой строкой то, что делает эта машина».
version— только цифры и точки.download_urlобязан начинаться сhttps://, быть печатным ASCII и уложиться в ограниченную длину. Всё остальное отвергается, а не открывается.- Показываемые строки урезаются до одной ограниченной строки, потому что перевод строки в примечании к релизу — это бесплатная строка титульного экрана, размещённая тем, кто написал манифест.
- Ответ крупнее небольшого JSON-документа отбрасывается до разбора, а сам запрос сдаётся через несколько секунд.
Проверка обновлений использует https://chaoslabgame.ru/updates/latest.json. Она отключается через check_enabled=false в настройках.
Собрать самостоятельно
Проект — это проект Godot 4.7.1. При установленных подходящих шаблонах экспорта сборка под Windows делается одной командой из корня репозитория, а пресет встраивает данные проекта в один портативный исполняемый файл:
godot --headless --path . --export-release "Windows Desktop" builds/windows/ChaosLab.exe
Автоматический набор тестов запускается headless из того же рабочего каталога, а шлюз кандидатов — это скрипт, который можно натравить на любой ресурс-кандидат, прежде чем пускать его к испытанию.