- Добавлена фоновая песня (Ogg Vorbis, моно 32 кГц, ~1 МБ вместо 8 МБ MP3), играет по кругу
поверх шума дождя; оригинальный MP3 удалён
- Исправлен пресет экспорта Parkour: ресурсы, которые скрипт грузит по строке (sky.png,
baked.gdshader, parkour_data.gd, audio/*), не попадали в parkour.pck — на сайте карта
оставалась без неба, шейдера и данных раскладки. Теперь они включены (пакет 3,1 -> 7,4 МБ)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1
- Новая карта maps/parkour: ~700 м, 9 чекпоинтов (светящиеся ворота), секции под
мувсет: крыши, каньон из стен для бега, башня из уступов (двойной прыжок +
подтягивание), лазерный зал (подкат, прыжок, тайминг), пропасть из контейнеров
(зазоры 16–24 м), спираль вокруг ядра, вершина с порталом в хаб
- Атмосфера: антиутопия — дождь, дымный туман, мокрый бетон с отражением неба,
натриевый/красный свет, надписи-приказы, шум дождя и гул; освещение запечено
в цвета вершин (Blender, Cycles), шейдер baked.gdshader без динамического света
- Модель, раскладка и скрипты сборки лежат в «Blender models/parkour_02»
(layout, build_parkour, bake, build_sky); parkour_data.gd генерируется
- Пресет экспорта Parkour и строка в export_all.sh; карта исключена из основного пакета
- Портал PARKOUR в хабе; README: карта, пересборка, замеры мувсета
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1
- Подтягивание на уступы выше ~2 м не работало: цель ставила центр капсулы
на уровень поверхности, тело оказывалось наполовину в уступе, и физика
выталкивала назад. Теперь центр на полвысоты капсулы выше поверхности
(проверено ботом: уступы 1,2–2,7 м, тонкие и сплошные, коробка и меш,
ходьба и спринт — везде успешно; раньше от 2,0 м не работало)
- Откачено сальто камеры при двойном прыжке (тошнит, не видно куда прыгать)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1
- Камера вынесена в узел CameraPivot на уровне глаз; им крутим оборот за
AIR_JUMP_FLIP_TIME (0,6 с, как у анимации air_jump), взгляд мышью не мешает
- Рывок берёт направление без учёта сальто, смерть сбрасывает его
- README: строка про сальто в таблице управления
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1
- player/character/character.glb: 752 треугольника, 17 костей, 14 анимаций
(idle, walk, run, crouch, slide, jump, fall, air_jump, dash, wallrun L/R,
mantle, death); ноги на IK, исходник и скрипт сборки в Blender models
- Ghost: выбор анимации по флагам и скорости, подгонка speed_scale,
голова повторяет взгляд, свечение красится в цвет игрока от его id
- Net: флаги FLAG_WALL_RIGHT и FLAG_AIR (RPC не менялись, сервер
перевыкладывать не нужно)
- Игрок: капсула в player.tscn заменена моделью, спрятанной от своей камеры
- Модель в ghost.gd грузится через load, чтобы не ломать сервер без неё
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1
- Перенос: Net→net, Player→player, World/*→maps/{hub,sandbox,backrooms}, core, objects,
models/*→chasers/{rock,verity} и maps/*/models. Имена внутри папок с .glb не менялись
(рядом лежат извлечённые текстуры). Все пути, пресеты экспорта и автолоады обновлены.
- Преследователи: rock-follow.gd → chasers/chaser.gd; камень в песочнице теперь инстанс
chasers/rock/rock.tscn (как Верити).
- Удалён мусор: неиспользуемое небо sunflowers, Tree_01.glb, rock-path.gd, старая
модель Верити, unwrap_cache (теперь в .gitignore).
- Основной пакет игры 70 КБ (камень и Верити уехали в пакеты карт).
- tools/: export_all.sh, serve_web.py (nginx-подобный dev-сервер), deploy_server.sh,
test/ (боты, временный проект и сервер). Net: флаг --client для headless-клиента.
- deploy/: боевые nginx.conf и my-world.service, project.godot выделенного сервера.
- README переписан: что есть и чего нет, структура, карты, преследователи, сеть, пакеты,
деплой, грабли, дорожная карта (телефон).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
W/A/S/D и стрелки, Пробел, Shift, C, Q — действия InputMap (move_*, jump, sprint,
crouch, dash). Игрок использует их вместо is_key_pressed(KEY_*): на русской раскладке
символ на клавише другой, а физическая клавиша та же. Сенсорные кнопки смогут
нажимать те же действия.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- models/verity: модель verity2, звук из видео (verity.ogg), сцена с тем же
мозгом, что у камня. В Backrooms вместо камня — Верити; в песочнице — Верити и камень.
- Сеть: синхронизация любого числа преследователей по имени (Net.chasers,
submit_chasers/recv_chasers) вместо одного камня.
- rock-follow.gd: chaser_id, model_scale, emission_energy (чисто светящийся материал).
- Экспорт: models/verity только в пакетах карт.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- World/Hub: маленькая стартовая комната (код, без ассетов) с порталами на карты;
новые карты добавляются записью в PORTALS (влезает 6 порталов).
- Песочница (main.tscn) вынесена в world.pck и качается при входе в портал;
основной пакет игры вместо 19.7 МБ стал 2.1 МБ. Выходы из карт ведут в хаб.
- Экспорт: три пресета (Web — движок и хаб, World, Backrooms).
- Присед: удерживать C (на бегу Shift+C по-прежнему подкат), скорость 3.5.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
HTTPRequest в браузере пытался второй раз распаковать уже распакованный gzip
(код 8), а download_file в вебе не создаёт файл. Теперь accept_gzip=false, тело
берём в память и пишем в user:// сами; в сообщении об ошибке показываем причину.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Backrooms на готовой модели (CC-BY, VTX): отдельный пакет backrooms.pck,
качается при первом входе в портал (World/map_loader.gd), навмеш запечён заранее.
- Порталы между картами (World/portal.gd); выход из Backrooms возвращает в мир.
- Мультиплеер: игроки и общий камень делятся на комнаты по картам (Net/net.gd).
- Камень видит игрока только вблизи или в поле зрения, может потерять и бродит
по навмешу (sight_limited); в мире и в Backrooms включено.
- Экспорт: пресет Backrooms для пакета карты, основной пресет без неё.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Камень считает один клиент (владелец, назначает сервер), остальные повторяют его позицию.
Цель — ближайший живой игрок; события смерти/возрождения пересылаются через сервер.
Сервер передаёт камень другому, если владелец вышел или замолчал.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>