Учётная карточка сборки

Скачать 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 — хаос без лишних окон

Первый отзыв игрока стал поводом пересмотреть начало забега и выбор улучшений.

История разработки с кадрами из игры →

Что вошло в эту версию

0.5.0 — это строка версии, которую исходники несут сегодня. Прототип прошёл через три десятка с лишним задач; вот те части, с которыми встречается игрок.

Расписание сезона

Четырёхнедельный цикл лежит в сборке как данные. Титульный экран печатает фазу и оставшиеся дни, так что вернувшийся игрок узнаёт об изменениях до того, как нажмёт «Начать».

Уведомление об обновлении

Необязательная проверка при запуске, которая сообщает о существовании более новой сборки и ничего не скачивает. Проверяет манифест проекта и может быть отключена.

Полосы здоровья и щита

Обе живут внутри собственной раскладки информационной панели, а не висят поверх неё, и щит выступает за полосу здоровья, чтобы никогда не перекрыть то число, от которого вы умираете.

Станции восстановления

Ремонтная установка и эмиттер щита, не больше одной на квартал, и внутри здания, если в квартале оно есть. Они не перезаряжаются, поэтому ни один угол города не стоит того, чтобы в нём отсиживаться.

Толпа, которая поспевает

Уйти от боя больше не значит опустошить мир: город подгружается вокруг вас, а толпа поддерживается впереди по ходу движения.

Перки в акте о происшествии

Отчёт в конце забега перечисляет перки, которые были при вас, рядом с наградой и причиной смерти, — так забег объясняет сам себя.

Ещё в этой версии, за кулисами: шлюз кандидатов теперь выносит вердикт по посчитанной работе, а не по измеренному времени, поэтому на медленной машине он тот же самый, а офлайновый пакетный генератор способен без присмотра прогнать сотню предложений через импорт и шлюз. Ни то, ни другое не входит в игру, которую вы запускаете; и то, и другое — причина, по которой кандидатам можно доверять в том, что они не расплавят вам частоту кадров.

Известные проблемы, названные до того, как вы их найдёте

Управление

Клавиатура и мышь. Схема передвижения выбирается на титульном экране.
ДействиеВвод
Движение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"
}

Что игра отвергает и почему разбор такой подозрительный: это единственный текст в игре, пришедший извне, и попадает он и на подпись в интерфейсе, и в руки системного обработчика ссылок — а это не браузер, а «сделай с этой строкой то, что делает эта машина».

Проверка обновлений использует 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 из того же рабочего каталога, а шлюз кандидатов — это скрипт, который можно натравить на любой ресурс-кандидат, прежде чем пускать его к испытанию.