fix мышь + лицо отца (глаза, нос, рот, брови, щетина, уши)
МЫШЬ КАМЕРА (главный баг):
- Crosshair Control в центре экрана с дефолтным mouse_filter=STOP
ЖРАЛ ВСЕ mouse_motion events когда курсор был в центре (а он
всегда в центре при MOUSE_MODE_CAPTURED). FPV._unhandled_input
не вызывался → камера не вращалась.
- Поставил mouse_filter=2 (IGNORE) на Crosshair, CenterDot,
OuterRing, InnerHole — теперь они только рендерятся, события
пролетают мимо.
- Поставил mouse_filter=2 ТАКЖЕ на все HUD-лейблы (DateTime,
Objective, Money, Weather, Stats, ControlsHint, PromptLabel)
и SubtitlePanel — на будущее, чтобы курсор поверх них не
обламывал камеру.
СЛАЙДЕРЫ В НАСТРОЙКАХ:
- HBoxContainer rows с custom_minimum_size (0, 24).
- Labels: size_flags_vertical=4 (SHRINK_CENTER) +
vertical_alignment=1 (CENTER) + min_size (W, 24).
- Sliders: size_flags_vertical=4 + min_size (140, 24).
- Все элементы строки выровнены по центру по вертикали — слайдер
и текст теперь на одной линии, хитбокс совпадает с визуалом.
ЛИЦО ОТЦА:
- Голова была просто кубом скин-цвета. Теперь у отца:
* 2 глаза (белая склера 0.038×0.025×0.005 + тёмный зрачок
0.018×0.018×0.005 поверх) — реально видно куда смотрит.
* Брови 0.045×0.012 материалом mat_hair (тёмные).
* Нос 0.028×0.05×0.035 — выпирает на 0.012м вперёд от лица.
* Рот 0.065×0.012 тёмно-красным mat_mouth.
* Щетина 0.2×0.075 на нижней части лица mat_stubble
(тёмно-серо-коричневый) — мужик не побрился.
* 2 уха 0.025×0.045×0.025 по бокам головы.
- Все элементы — children FatherNPC/Head, наследуют поворот
родителя, остаются на лице при walking-animation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 19:16:49 +03:00
|
|
|
[gd_scene load_steps=103 format=3]
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[ext_resource type="Script" path="res://scripts/prologue/act1.gd" id="1_act1"]
|
|
|
|
|
[ext_resource type="Script" path="res://scripts/interactables/interactable.gd" id="2_int"]
|
|
|
|
|
[ext_resource type="PackedScene" path="res://scenes/components/player_fpv.tscn" id="3_player"]
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_floor"]
|
|
|
|
|
size = Vector3(4, 0.1, 4)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_floor"]
|
|
|
|
|
size = Vector3(4, 0.1, 4)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_wall_ns"]
|
|
|
|
|
size = Vector3(4, 2.5, 0.1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_wall_ns"]
|
|
|
|
|
size = Vector3(4, 2.5, 0.1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_wall_ew"]
|
|
|
|
|
size = Vector3(0.1, 2.5, 4)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_wall_ew"]
|
|
|
|
|
size = Vector3(0.1, 2.5, 4)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_window"]
|
|
|
|
|
size = Vector3(1.5, 1.0, 0.06)
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_window_frame_h"]
|
|
|
|
|
size = Vector3(1.6, 0.06, 0.08)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_window_frame_v"]
|
|
|
|
|
size = Vector3(0.06, 1.1, 0.08)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_windowsill"]
|
|
|
|
|
size = Vector3(1.7, 0.06, 0.18)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_radiator"]
|
|
|
|
|
size = Vector3(1.0, 0.5, 0.1)
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_door"]
|
|
|
|
|
size = Vector3(0.06, 2.0, 1.0)
|
|
|
|
|
|
prologue: целиком Акт 1 (комната+кухня) + Акт 2 (установка)
ИНФРАСТРУКТУРА:
- GameState autoload: player_name, прогресс актов, ачивки.
- SceneManager autoload: change_scene с deferred переключением,
shortcuts go_room/go_kitchen/go_install.
- TextureGen autoload: процедурные pixel-art ImageTexture через
Image.set_pixel, кешируются в Dictionary. Текстуры: wallpaper
(бежевая с растительным узором), linoleum (полосы паркета),
ceiling (побелка с шумом), wall_carpet (бордовый с ромбами),
blanket (тёмно-синее со звёздами), poster_csgo (жёлтый с
силуэтом AWP), poster_morgen (тёмно-красный с головой),
door (дерево с волокном), desk_white, book_color(0-4).
АКТ 1 КОМНАТА (act1_room.tscn / act1.gd):
- Все стены/пол/потолок/ковёр/одеяло/постеры/стол/дверь теперь
с процедурными текстурами через TextureGen.apply_to_material с
правильным uv1_scale. Texture filter NEAREST для пиксель-арта.
- Door interactable добавлен в east-wall (рядом с DoorPanel).
Включается после ухода отца. Клик → переход на кухню.
- GameState persists прогресс — возврат из кухни не повторяет интро.
- _setup_post_intro_state восстанавливает SEEK_DRIVE после кухни.
- После подбора флешки — переход на act2_install.
АКТ 1 КУХНЯ (act1_kitchen.tscn / act1_kitchen.gd):
- 3×3м комнатка с холодильником «Атлант», плитой (4 ручки красные),
столешницей+раковиной, чайником, столом+2 стула, окном+радиатором.
- Wi-Fi записка приклеена на холодильнике, читается → ачивка
«Wi-Fi разведчик» + GameState.wifi_password_found = true.
- Дверь обратно в комнату — SceneManager.go_room().
- Текстуры через TextureGen.
АКТ 2 УСТАНОВКА ШИНДОВС (act2_install.tscn / act2_install.gd):
- Полная 2D-сцена с 7 шагами state machine:
BOOT (4 квадратика логотипа 1.6 сек) → LICENSE_INTRO →
LICENSE_FULL (по «Читать») → DISK → USERNAME → PASSWORD →
TIMEZONE → INSTALLING (5 фаз прогресс-бара 3 сек) → COMPLETE.
- ШИЗО-пункты лицензионки: 7.3.2, 11.4, 12.1, 15.7, 18.0, 21.3,
23.9, 27.1 (полный текст из канона Пролог Акт 2).
- Ввод имени с валидацией: 2-24 символа, regex буквы+цифры,
ban-list титулов (повелитель/владыка/бог/лорд/царь) и мата.
- Подсказка-плейсхолдеры из канона: bossiara13, fr3sh_n3kit и т.п.
- Пароль с чекбоксом «Без пароля» + ачивки «Главное чтоб удобно»
(123/qwerty/empty) и «Параноик» (12+ символов со спец).
- Часовой пояс OptionButton с 7 регионами страны Р, UTC+3 default.
- Welcome-экран после установки: «Добро пожаловать, {playerName}».
- Кнопка «Запустить стеме» — заглушка Акта 3.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:50:26 +03:00
|
|
|
[sub_resource type="BoxShape3D" id="shape_door"]
|
|
|
|
|
size = Vector3(0.06, 2.0, 1.0)
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_desk"]
|
|
|
|
|
size = Vector3(1.5, 0.7, 0.6)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_desk"]
|
|
|
|
|
size = Vector3(1.5, 0.7, 0.6)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_old_pc"]
|
|
|
|
|
size = Vector3(0.25, 0.4, 0.3)
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_keyboard"]
|
|
|
|
|
size = Vector3(0.4, 0.03, 0.15)
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_bed"]
|
|
|
|
|
size = Vector3(2.0, 0.4, 1.0)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_bed"]
|
|
|
|
|
size = Vector3(2.0, 0.4, 1.0)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_blanket"]
|
|
|
|
|
size = Vector3(1.95, 0.06, 0.95)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_pillow"]
|
|
|
|
|
size = Vector3(0.5, 0.1, 0.25)
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_wall_carpet"]
|
|
|
|
|
size = Vector3(1.4, 1.0, 0.02)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_poster"]
|
|
|
|
|
size = Vector3(0.4, 0.5, 0.02)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_shelf"]
|
|
|
|
|
size = Vector3(0.3, 1.7, 1.0)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_shelf"]
|
|
|
|
|
size = Vector3(0.3, 1.7, 1.0)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_book"]
|
|
|
|
|
size = Vector3(0.22, 0.04, 0.18)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_book_thick"]
|
|
|
|
|
size = Vector3(0.22, 0.08, 0.18)
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_gift"]
|
|
|
|
|
size = Vector3(0.5, 0.4, 0.5)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_gift"]
|
|
|
|
|
size = Vector3(0.5, 0.4, 0.5)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_sys"]
|
|
|
|
|
size = Vector3(0.35, 0.5, 0.45)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_note"]
|
|
|
|
|
size = Vector3(0.18, 0.012, 0.12)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_note"]
|
|
|
|
|
size = Vector3(0.18, 0.012, 0.12)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_flash"]
|
|
|
|
|
size = Vector3(0.06, 0.02, 0.025)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_flash"]
|
|
|
|
|
size = Vector3(0.06, 0.02, 0.025)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_father"]
|
|
|
|
|
size = Vector3(0.4, 1.7, 0.4)
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_p4"]
|
|
|
|
|
size = Vector3(0.25, 0.42, 0.4)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_p4"]
|
|
|
|
|
size = Vector3(0.25, 0.42, 0.4)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_sock"]
|
|
|
|
|
size = Vector3(0.15, 0.03, 0.08)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_lays"]
|
|
|
|
|
size = Vector3(0.15, 0.01, 0.1)
|
|
|
|
|
|
fix: скролл лицензии, отец лицом к игроку, банка-цилиндр, экран
АКТ 2 СКРОЛЛ:
- Body RichTextLabel: fit_content=true → false, теперь label
остаётся в фиксированном размере 540×220 и скроллит контент
внутри. Раньше label расширялся по тексту и обрезался панелью.
- scroll_following=false (не следить за концом).
- mouse_filter=STOP — теперь mouse wheel над label скроллит.
- font_size снижен с дефолта на 11 — больше пунктов помещается
на экране, читается комфортно.
- Window custom_minimum_size = 580×348 (было 560×320) — больше
места под лицензию.
ОТЕЦ:
- FatherNPC initial transform теперь rotation_y = +π/2
(Transform3D(0,0,-1,0,1,0,1,0,0,1.7,0,0)) — лицом к игроку
на запад. Игрок видит лицо отца, а не профиль.
- В _walk_father_out tween поворачивает rotation_y → -π/2
(180° поворот через 0/север). Шагает на восток к двери
с правильно повёрнутым корпусом.
МОНИТОР:
- К Desk/OldPC добавлен child Screen — BoxMesh 0.21×0.15×0.005
с эмиссивной материалом mat_screen (тёмный с голубым свечением).
- Стоит на передней грани монитора, имитирует тёмный экран
с легким bluish-glow CRT-вибом.
ADRENALINE BANK → ЦИЛИНДР:
- mesh_can: BoxMesh → CylinderMesh top=bottom=0.03 height=0.13.
Теперь это реально банка по форме, а не куб.
ТЕКСТУРЫ ПРЕДМЕТОВ (TextureGen новые):
- adrenaline_label: синий с тёмно-синими диагональными штрихами +
жёлтая молния по центру + тёмные верхняя/нижняя кромки.
- lays_wrapper: жёлтый с красной волнистой лентой посередине
(синус) + коричневая чипса-клякса внизу + тёмные уголки.
- sock_fabric: тёмно-синий с горизонтальными светлыми полосками
каждые 6 пикселей + тёмный шов.
- monitor_screen: тёмное стекло с edge-glow + scanlines каждые
2 строки (CRT-вайб).
- Применены в act1.gd._apply_textures на AdrenalineCan,
LaysWrapper, Sock1/Sock2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:36:19 +03:00
|
|
|
[sub_resource type="CylinderMesh" id="mesh_can"]
|
|
|
|
|
top_radius = 0.03
|
|
|
|
|
bottom_radius = 0.03
|
|
|
|
|
height = 0.13
|
|
|
|
|
radial_segments = 16
|
|
|
|
|
rings = 2
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_screen"]
|
|
|
|
|
size = Vector3(0.21, 0.15, 0.005)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_screen"]
|
|
|
|
|
albedo_color = Color(0.04, 0.05, 0.08, 1)
|
|
|
|
|
emission_enabled = true
|
|
|
|
|
emission = Color(0.18, 0.24, 0.4, 1)
|
|
|
|
|
emission_energy_multiplier = 0.5
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_plant"]
|
|
|
|
|
size = Vector3(0.09, 0.13, 0.09)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_cup"]
|
|
|
|
|
size = Vector3(0.07, 0.08, 0.07)
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_floor"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.72, 0.6, 0.41, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_wall"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.83, 0.72, 0.55, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_ceiling"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.92, 0.9, 0.85, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_window"]
|
|
|
|
|
albedo_color = Color(0.6, 0.85, 1.0, 1)
|
|
|
|
|
emission_enabled = true
|
|
|
|
|
emission = Color(0.6, 0.85, 1.0, 1)
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
emission_energy_multiplier = 0.6
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_window_frame"]
|
|
|
|
|
albedo_color = Color(0.95, 0.95, 0.95, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_windowsill"]
|
|
|
|
|
albedo_color = Color(0.96, 0.95, 0.92, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_radiator"]
|
|
|
|
|
albedo_color = Color(0.96, 0.94, 0.88, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_door"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.85, 0.82, 0.75, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_desk"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.96, 0.95, 0.93, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_old_pc"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.55, 0.55, 0.5, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_keyboard"]
|
|
|
|
|
albedo_color = Color(0.85, 0.82, 0.74, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_bed_frame"]
|
|
|
|
|
albedo_color = Color(0.36, 0.23, 0.11, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_blanket"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
albedo_color = Color(0.13, 0.16, 0.32, 1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_pillow"]
|
|
|
|
|
albedo_color = Color(0.92, 0.88, 0.78, 1)
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_wall_carpet"]
|
|
|
|
|
albedo_color = Color(0.36, 0.12, 0.13, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_poster_csgo"]
|
|
|
|
|
albedo_color = Color(0.94, 0.71, 0.1, 1)
|
|
|
|
|
emission_enabled = true
|
|
|
|
|
emission = Color(0.94, 0.71, 0.1, 1)
|
|
|
|
|
emission_energy_multiplier = 0.25
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_poster_morgen"]
|
|
|
|
|
albedo_color = Color(0.7, 0.13, 0.13, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_shelf"]
|
|
|
|
|
albedo_color = Color(0.93, 0.91, 0.88, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_book_a"]
|
|
|
|
|
albedo_color = Color(0.36, 0.18, 0.15, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_book_b"]
|
|
|
|
|
albedo_color = Color(0.2, 0.35, 0.5, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_book_c"]
|
|
|
|
|
albedo_color = Color(0.13, 0.13, 0.15, 1)
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_gift"]
|
|
|
|
|
albedo_color = Color(0.1, 0.1, 0.12, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_sys"]
|
|
|
|
|
albedo_color = Color(0.3, 0.32, 0.38, 1)
|
|
|
|
|
emission_enabled = true
|
|
|
|
|
emission = Color(0.2, 0.5, 0.9, 1)
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
emission_energy_multiplier = 0.7
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_note"]
|
|
|
|
|
albedo_color = Color(0.95, 0.95, 0.9, 1)
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
emission_enabled = true
|
|
|
|
|
emission = Color(0.95, 0.95, 0.7, 1)
|
|
|
|
|
emission_energy_multiplier = 0.3
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_flash"]
|
|
|
|
|
albedo_color = Color(0.78, 0.18, 0.18, 1)
|
|
|
|
|
emission_enabled = true
|
|
|
|
|
emission = Color(0.78, 0.18, 0.18, 1)
|
|
|
|
|
emission_energy_multiplier = 0.4
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_father"]
|
|
|
|
|
albedo_color = Color(0.18, 0.22, 0.4, 1)
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_p4"]
|
|
|
|
|
albedo_color = Color(0.45, 0.44, 0.4, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_sock"]
|
|
|
|
|
albedo_color = Color(0.18, 0.22, 0.32, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_lays"]
|
|
|
|
|
albedo_color = Color(0.96, 0.84, 0.34, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_can"]
|
|
|
|
|
albedo_color = Color(0.13, 0.32, 0.68, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_plant"]
|
|
|
|
|
albedo_color = Color(0.25, 0.45, 0.2, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_cup"]
|
|
|
|
|
albedo_color = Color(0.85, 0.83, 0.78, 1)
|
|
|
|
|
|
act1: реальное освещение + человекоподобный отец
ОСВЕЩЕНИЕ (главная визуальная разница):
- Все материалы переведены с unshaded на per-pixel shading
(удалены shading_mode=0 во всех материалах act1_room+act1_kitchen).
- WorldEnvironment в обеих сценах: ambient_light_color бежевый,
energy 0.4-0.5.
- DirectionalLight3D «солнце из окна»: Y-180 + X-30 rotation чтобы
светило с севера в юг и вниз. light_energy 1.0, тёплый
цвет 1,0.94,0.82. shadow_enabled=true с PSSM (GL Compatibility).
- В комнате: OmniLight3D fill-light возле окна для синего
холодного света (свет неба из окна) — energy 0.5, голубой.
- В кухне: OmniLight3D под потолком как обычная лампа — energy
0.6, тёплый белый, range 5м.
- Теперь мебель/стены/одеяло имеют объём с тенями.
ОТЕЦ (humanoid рig из 11 кубов вместо одного прямоугольника):
- Head (skin): голова
- Hair (dark brown): волосы сверху
- Torso (gray-blue shirt)
- ArmL/ArmR (рукава рубашки)
- HandL/HandR (skin кисти под рукавами)
- LegL/LegR (jeans dark blue)
- ShoeL/ShoeR (чёрные ботинки, чуть выпирают вперёд)
- Все материалы с roughness 0.6-0.95 для приличных бликов.
- FatherNPC.position = (1.7, 0, 0) — ноги на полу, голова на ~1.8м.
- Tween в act1.gd для exit работает как раньше (position:x).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:10:04 +03:00
|
|
|
[sub_resource type="Environment" id="env_room"]
|
|
|
|
|
background_mode = 1
|
|
|
|
|
background_color = Color(0.04, 0.04, 0.06, 1)
|
|
|
|
|
ambient_light_source = 2
|
|
|
|
|
ambient_light_color = Color(0.78, 0.72, 0.6, 1)
|
|
|
|
|
ambient_light_energy = 0.45
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_head"]
|
|
|
|
|
size = Vector3(0.26, 0.28, 0.26)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_hair"]
|
|
|
|
|
size = Vector3(0.28, 0.08, 0.28)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_torso"]
|
|
|
|
|
size = Vector3(0.42, 0.55, 0.25)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_arm"]
|
|
|
|
|
size = Vector3(0.13, 0.45, 0.13)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_hand"]
|
|
|
|
|
size = Vector3(0.12, 0.13, 0.12)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_leg"]
|
|
|
|
|
size = Vector3(0.18, 0.75, 0.18)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_shoe"]
|
|
|
|
|
size = Vector3(0.18, 0.08, 0.25)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_skin"]
|
|
|
|
|
albedo_color = Color(0.85, 0.7, 0.55, 1)
|
|
|
|
|
roughness = 0.85
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_hair"]
|
|
|
|
|
albedo_color = Color(0.18, 0.12, 0.08, 1)
|
|
|
|
|
roughness = 0.95
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_shirt"]
|
|
|
|
|
albedo_color = Color(0.38, 0.42, 0.5, 1)
|
|
|
|
|
roughness = 0.9
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_pants"]
|
|
|
|
|
albedo_color = Color(0.18, 0.22, 0.4, 1)
|
|
|
|
|
roughness = 0.95
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_shoe"]
|
|
|
|
|
albedo_color = Color(0.12, 0.12, 0.14, 1)
|
|
|
|
|
roughness = 0.6
|
|
|
|
|
|
fix мышь + лицо отца (глаза, нос, рот, брови, щетина, уши)
МЫШЬ КАМЕРА (главный баг):
- Crosshair Control в центре экрана с дефолтным mouse_filter=STOP
ЖРАЛ ВСЕ mouse_motion events когда курсор был в центре (а он
всегда в центре при MOUSE_MODE_CAPTURED). FPV._unhandled_input
не вызывался → камера не вращалась.
- Поставил mouse_filter=2 (IGNORE) на Crosshair, CenterDot,
OuterRing, InnerHole — теперь они только рендерятся, события
пролетают мимо.
- Поставил mouse_filter=2 ТАКЖЕ на все HUD-лейблы (DateTime,
Objective, Money, Weather, Stats, ControlsHint, PromptLabel)
и SubtitlePanel — на будущее, чтобы курсор поверх них не
обламывал камеру.
СЛАЙДЕРЫ В НАСТРОЙКАХ:
- HBoxContainer rows с custom_minimum_size (0, 24).
- Labels: size_flags_vertical=4 (SHRINK_CENTER) +
vertical_alignment=1 (CENTER) + min_size (W, 24).
- Sliders: size_flags_vertical=4 + min_size (140, 24).
- Все элементы строки выровнены по центру по вертикали — слайдер
и текст теперь на одной линии, хитбокс совпадает с визуалом.
ЛИЦО ОТЦА:
- Голова была просто кубом скин-цвета. Теперь у отца:
* 2 глаза (белая склера 0.038×0.025×0.005 + тёмный зрачок
0.018×0.018×0.005 поверх) — реально видно куда смотрит.
* Брови 0.045×0.012 материалом mat_hair (тёмные).
* Нос 0.028×0.05×0.035 — выпирает на 0.012м вперёд от лица.
* Рот 0.065×0.012 тёмно-красным mat_mouth.
* Щетина 0.2×0.075 на нижней части лица mat_stubble
(тёмно-серо-коричневый) — мужик не побрился.
* 2 уха 0.025×0.045×0.025 по бокам головы.
- Все элементы — children FatherNPC/Head, наследуют поворот
родителя, остаются на лице при walking-animation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 19:16:49 +03:00
|
|
|
[sub_resource type="BoxMesh" id="mesh_eye_white"]
|
|
|
|
|
size = Vector3(0.038, 0.025, 0.005)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_pupil"]
|
|
|
|
|
size = Vector3(0.018, 0.018, 0.005)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_eyebrow"]
|
|
|
|
|
size = Vector3(0.045, 0.012, 0.006)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_nose"]
|
|
|
|
|
size = Vector3(0.028, 0.05, 0.035)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_mouth"]
|
|
|
|
|
size = Vector3(0.065, 0.012, 0.005)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_stubble"]
|
|
|
|
|
size = Vector3(0.2, 0.075, 0.004)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_ear"]
|
|
|
|
|
size = Vector3(0.025, 0.045, 0.025)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_eye_white"]
|
|
|
|
|
albedo_color = Color(0.95, 0.93, 0.88, 1)
|
|
|
|
|
roughness = 0.4
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_pupil"]
|
|
|
|
|
albedo_color = Color(0.08, 0.1, 0.16, 1)
|
|
|
|
|
roughness = 0.3
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_mouth"]
|
|
|
|
|
albedo_color = Color(0.4, 0.18, 0.16, 1)
|
|
|
|
|
roughness = 0.9
|
|
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_stubble"]
|
|
|
|
|
albedo_color = Color(0.32, 0.24, 0.18, 1)
|
|
|
|
|
roughness = 0.95
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[node name="Act1Room" type="Node3D"]
|
|
|
|
|
script = ExtResource("1_act1")
|
|
|
|
|
|
act1: реальное освещение + человекоподобный отец
ОСВЕЩЕНИЕ (главная визуальная разница):
- Все материалы переведены с unshaded на per-pixel shading
(удалены shading_mode=0 во всех материалах act1_room+act1_kitchen).
- WorldEnvironment в обеих сценах: ambient_light_color бежевый,
energy 0.4-0.5.
- DirectionalLight3D «солнце из окна»: Y-180 + X-30 rotation чтобы
светило с севера в юг и вниз. light_energy 1.0, тёплый
цвет 1,0.94,0.82. shadow_enabled=true с PSSM (GL Compatibility).
- В комнате: OmniLight3D fill-light возле окна для синего
холодного света (свет неба из окна) — energy 0.5, голубой.
- В кухне: OmniLight3D под потолком как обычная лампа — energy
0.6, тёплый белый, range 5м.
- Теперь мебель/стены/одеяло имеют объём с тенями.
ОТЕЦ (humanoid рig из 11 кубов вместо одного прямоугольника):
- Head (skin): голова
- Hair (dark brown): волосы сверху
- Torso (gray-blue shirt)
- ArmL/ArmR (рукава рубашки)
- HandL/HandR (skin кисти под рукавами)
- LegL/LegR (jeans dark blue)
- ShoeL/ShoeR (чёрные ботинки, чуть выпирают вперёд)
- Все материалы с roughness 0.6-0.95 для приличных бликов.
- FatherNPC.position = (1.7, 0, 0) — ноги на полу, голова на ~1.8м.
- Tween в act1.gd для exit работает как раньше (position:x).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:10:04 +03:00
|
|
|
[node name="WorldEnv" type="WorldEnvironment" parent="."]
|
|
|
|
|
environment = SubResource("env_room")
|
|
|
|
|
|
|
|
|
|
[node name="SunLight" type="DirectionalLight3D" parent="."]
|
|
|
|
|
transform = Transform3D(-1, 0, 0, 0, 0.866, 0.5, 0, 0.5, -0.866, 0, 4, -1.5)
|
|
|
|
|
light_color = Color(1, 0.94, 0.82, 1)
|
|
|
|
|
light_energy = 1.0
|
|
|
|
|
shadow_enabled = true
|
|
|
|
|
shadow_bias = 0.08
|
|
|
|
|
|
|
|
|
|
[node name="WindowFillLight" type="OmniLight3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, -1.6)
|
|
|
|
|
light_color = Color(0.7, 0.85, 1, 1)
|
|
|
|
|
light_energy = 0.5
|
|
|
|
|
omni_range = 3.5
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[node name="Floor" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Floor"]
|
|
|
|
|
mesh = SubResource("mesh_floor")
|
|
|
|
|
material_override = SubResource("mat_floor")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Floor"]
|
|
|
|
|
shape = SubResource("shape_floor")
|
|
|
|
|
|
|
|
|
|
[node name="Ceiling" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.55, 0)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Ceiling"]
|
|
|
|
|
mesh = SubResource("mesh_floor")
|
|
|
|
|
material_override = SubResource("mat_ceiling")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Ceiling"]
|
|
|
|
|
shape = SubResource("shape_floor")
|
|
|
|
|
|
|
|
|
|
[node name="WallN" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, -2.05)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
mesh = SubResource("mesh_wall_ns")
|
|
|
|
|
material_override = SubResource("mat_wall")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallN"]
|
|
|
|
|
shape = SubResource("shape_wall_ns")
|
|
|
|
|
|
|
|
|
|
[node name="Window" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.06)
|
|
|
|
|
mesh = SubResource("mesh_window")
|
|
|
|
|
material_override = SubResource("mat_window")
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[node name="WindowFrameTop" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.82, 0.08)
|
|
|
|
|
mesh = SubResource("mesh_window_frame_h")
|
|
|
|
|
material_override = SubResource("mat_window_frame")
|
|
|
|
|
|
|
|
|
|
[node name="WindowFrameBot" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.22, 0.08)
|
|
|
|
|
mesh = SubResource("mesh_window_frame_h")
|
|
|
|
|
material_override = SubResource("mat_window_frame")
|
|
|
|
|
|
|
|
|
|
[node name="WindowFrameLeft" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.78, 0.3, 0.08)
|
|
|
|
|
mesh = SubResource("mesh_window_frame_v")
|
|
|
|
|
material_override = SubResource("mat_window_frame")
|
|
|
|
|
|
|
|
|
|
[node name="WindowFrameRight" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.78, 0.3, 0.08)
|
|
|
|
|
mesh = SubResource("mesh_window_frame_v")
|
|
|
|
|
material_override = SubResource("mat_window_frame")
|
|
|
|
|
|
|
|
|
|
[node name="WindowFrameMid" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.08)
|
|
|
|
|
mesh = SubResource("mesh_window_frame_v")
|
|
|
|
|
material_override = SubResource("mat_window_frame")
|
|
|
|
|
|
|
|
|
|
[node name="Windowsill" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0.18)
|
|
|
|
|
mesh = SubResource("mesh_windowsill")
|
|
|
|
|
material_override = SubResource("mat_windowsill")
|
|
|
|
|
|
|
|
|
|
[node name="Plant" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -0.11, 0.18)
|
|
|
|
|
mesh = SubResource("mesh_plant")
|
|
|
|
|
material_override = SubResource("mat_plant")
|
|
|
|
|
|
|
|
|
|
[node name="Cup" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, -0.13, 0.18)
|
|
|
|
|
mesh = SubResource("mesh_cup")
|
|
|
|
|
material_override = SubResource("mat_cup")
|
|
|
|
|
|
|
|
|
|
[node name="Radiator" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.0, 0.1)
|
|
|
|
|
mesh = SubResource("mesh_radiator")
|
|
|
|
|
material_override = SubResource("mat_radiator")
|
|
|
|
|
|
|
|
|
|
[node name="PosterCSGO" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1, 0.45, 0.06)
|
|
|
|
|
mesh = SubResource("mesh_poster")
|
|
|
|
|
material_override = SubResource("mat_poster_csgo")
|
|
|
|
|
|
|
|
|
|
[node name="PosterMorgen" type="MeshInstance3D" parent="WallN"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0.45, 0.06)
|
|
|
|
|
mesh = SubResource("mesh_poster")
|
|
|
|
|
material_override = SubResource("mat_poster_morgen")
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[node name="WallS" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, 2.05)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallS"]
|
|
|
|
|
mesh = SubResource("mesh_wall_ns")
|
|
|
|
|
material_override = SubResource("mat_wall")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallS"]
|
|
|
|
|
shape = SubResource("shape_wall_ns")
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[node name="WallCarpet" type="MeshInstance3D" parent="WallS"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.0, -0.06)
|
|
|
|
|
mesh = SubResource("mesh_wall_carpet")
|
|
|
|
|
material_override = SubResource("mat_wall_carpet")
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[node name="WallE" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.05, 1.25, 0)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallE"]
|
|
|
|
|
mesh = SubResource("mesh_wall_ew")
|
|
|
|
|
material_override = SubResource("mat_wall")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallE"]
|
|
|
|
|
shape = SubResource("shape_wall_ew")
|
|
|
|
|
|
|
|
|
|
[node name="DoorPanel" type="MeshInstance3D" parent="WallE"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, -0.25, 0)
|
|
|
|
|
mesh = SubResource("mesh_door")
|
|
|
|
|
material_override = SubResource("mat_door")
|
|
|
|
|
|
act1: фиксы багов + crosshair + улучшенные текстуры
БАГ-ФИКСЫ:
- Трясёт у двери: Interactable теперь extends Area3D (не StaticBody3D).
RayCast3D детектит Area3D через collide_with_areas=true.
Игрок физически проходит через интерактивы (gift box, флешка,
записка, дверь) — не толкается в узких местах. Бампается только
в стены/мебель/пол.
- Все 6 интерактивов в act1_room.tscn и act1_kitchen.tscn
переведены на type="Area3D".
UI:
- Crosshair в центре экрана: 8×8 точка с тёмной рамкой и белой
центральной 2×2 точкой. set_crosshair_visible() для 2D-сцен
(Акт 2 прячет его).
- SubtitlePanel расширен: 16-624 × 240-354 (было 24-616 × 270-350).
Text-лейбл заменён на RichTextLabel с fit_content + bbcode.
Длинные реплики отца теперь нормально влезают.
- NoteOverlay аналогично RichTextLabel.
- ControlsHint перенесён сверху (под HUD-датой), 14px меньше.
ТЕКСТУРЫ через FastNoiseLite + 128×128 разрешалка:
- wallpaper: шумная бежевая база + растительный крест-цветок
каждые 22px, шахматное смещение, тонкая горизонтальная полоса
каждые 32px (стык обоев).
- linoleum: настоящая паркетная доска 16×64px со смещением между
рядами, тонкие швы, волокно через шум.
- ceiling: побелка с пятном протёчки в углу (canon-деталь).
- wall_carpet: бордовая база + двойная золотая рамка + ромб-
медальон с золотыми углами + декоративные уголки.
- blanket: 30 звёздочек (белые/жёлтые) разного размера на шумной
тёмно-синей базе.
- poster_csgo: диагональная штриховка + силуэт AWP по центру +
пиксельный «CS:GO» текст внизу.
- poster_morgen: круг с лицом, глаза-щели, рот + пиксельный «MS».
- door: вертикальное волокно Perlin + 3 горизонтальных шва (панели)
+ 4 сучка разного размера.
- desk_white: чистый белый + жёлтый Steam-стикер в углу + царапина.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:04:50 +03:00
|
|
|
[node name="Door" type="Area3D" parent="WallE"]
|
prologue: целиком Акт 1 (комната+кухня) + Акт 2 (установка)
ИНФРАСТРУКТУРА:
- GameState autoload: player_name, прогресс актов, ачивки.
- SceneManager autoload: change_scene с deferred переключением,
shortcuts go_room/go_kitchen/go_install.
- TextureGen autoload: процедурные pixel-art ImageTexture через
Image.set_pixel, кешируются в Dictionary. Текстуры: wallpaper
(бежевая с растительным узором), linoleum (полосы паркета),
ceiling (побелка с шумом), wall_carpet (бордовый с ромбами),
blanket (тёмно-синее со звёздами), poster_csgo (жёлтый с
силуэтом AWP), poster_morgen (тёмно-красный с головой),
door (дерево с волокном), desk_white, book_color(0-4).
АКТ 1 КОМНАТА (act1_room.tscn / act1.gd):
- Все стены/пол/потолок/ковёр/одеяло/постеры/стол/дверь теперь
с процедурными текстурами через TextureGen.apply_to_material с
правильным uv1_scale. Texture filter NEAREST для пиксель-арта.
- Door interactable добавлен в east-wall (рядом с DoorPanel).
Включается после ухода отца. Клик → переход на кухню.
- GameState persists прогресс — возврат из кухни не повторяет интро.
- _setup_post_intro_state восстанавливает SEEK_DRIVE после кухни.
- После подбора флешки — переход на act2_install.
АКТ 1 КУХНЯ (act1_kitchen.tscn / act1_kitchen.gd):
- 3×3м комнатка с холодильником «Атлант», плитой (4 ручки красные),
столешницей+раковиной, чайником, столом+2 стула, окном+радиатором.
- Wi-Fi записка приклеена на холодильнике, читается → ачивка
«Wi-Fi разведчик» + GameState.wifi_password_found = true.
- Дверь обратно в комнату — SceneManager.go_room().
- Текстуры через TextureGen.
АКТ 2 УСТАНОВКА ШИНДОВС (act2_install.tscn / act2_install.gd):
- Полная 2D-сцена с 7 шагами state machine:
BOOT (4 квадратика логотипа 1.6 сек) → LICENSE_INTRO →
LICENSE_FULL (по «Читать») → DISK → USERNAME → PASSWORD →
TIMEZONE → INSTALLING (5 фаз прогресс-бара 3 сек) → COMPLETE.
- ШИЗО-пункты лицензионки: 7.3.2, 11.4, 12.1, 15.7, 18.0, 21.3,
23.9, 27.1 (полный текст из канона Пролог Акт 2).
- Ввод имени с валидацией: 2-24 символа, regex буквы+цифры,
ban-list титулов (повелитель/владыка/бог/лорд/царь) и мата.
- Подсказка-плейсхолдеры из канона: bossiara13, fr3sh_n3kit и т.п.
- Пароль с чекбоксом «Без пароля» + ачивки «Главное чтоб удобно»
(123/qwerty/empty) и «Параноик» (12+ символов со спец).
- Часовой пояс OptionButton с 7 регионами страны Р, UTC+3 default.
- Welcome-экран после установки: «Добро пожаловать, {playerName}».
- Кнопка «Запустить стеме» — заглушка Акта 3.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:50:26 +03:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.1, -0.25, 0)
|
|
|
|
|
script = ExtResource("2_int")
|
|
|
|
|
prompt = "выйти на кухню"
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallE/Door"]
|
|
|
|
|
visible = false
|
|
|
|
|
mesh = SubResource("mesh_door")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallE/Door"]
|
|
|
|
|
shape = SubResource("shape_door")
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[node name="WallW" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.05, 1.25, 0)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallW"]
|
|
|
|
|
mesh = SubResource("mesh_wall_ew")
|
|
|
|
|
material_override = SubResource("mat_wall")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallW"]
|
|
|
|
|
shape = SubResource("shape_wall_ew")
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[node name="Shelf" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.85, 0.85, -1.0)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Shelf"]
|
|
|
|
|
mesh = SubResource("mesh_shelf")
|
|
|
|
|
material_override = SubResource("mat_shelf")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Shelf"]
|
|
|
|
|
shape = SubResource("shape_shelf")
|
|
|
|
|
|
|
|
|
|
[node name="BookA" type="MeshInstance3D" parent="Shelf"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.4, 0)
|
|
|
|
|
mesh = SubResource("mesh_book")
|
|
|
|
|
material_override = SubResource("mat_book_a")
|
|
|
|
|
|
|
|
|
|
[node name="BookB" type="MeshInstance3D" parent="Shelf"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.46, 0)
|
|
|
|
|
mesh = SubResource("mesh_book")
|
|
|
|
|
material_override = SubResource("mat_book_b")
|
|
|
|
|
|
|
|
|
|
[node name="BookC" type="MeshInstance3D" parent="Shelf"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.54, 0)
|
|
|
|
|
mesh = SubResource("mesh_book_thick")
|
|
|
|
|
material_override = SubResource("mat_book_c")
|
|
|
|
|
|
|
|
|
|
[node name="BookD" type="MeshInstance3D" parent="Shelf"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, -0.2, 0.2)
|
|
|
|
|
mesh = SubResource("mesh_book_thick")
|
|
|
|
|
material_override = SubResource("mat_book_a")
|
|
|
|
|
|
|
|
|
|
[node name="BookE" type="MeshInstance3D" parent="Shelf"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, -0.12, 0.2)
|
|
|
|
|
mesh = SubResource("mesh_book")
|
|
|
|
|
material_override = SubResource("mat_book_b")
|
|
|
|
|
|
|
|
|
|
[node name="OldP4" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75, 0.21, -1.7)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="OldP4"]
|
|
|
|
|
mesh = SubResource("mesh_p4")
|
|
|
|
|
material_override = SubResource("mat_p4")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="OldP4"]
|
|
|
|
|
shape = SubResource("shape_p4")
|
|
|
|
|
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
[node name="Desk" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, -1.5)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Desk"]
|
|
|
|
|
mesh = SubResource("mesh_desk")
|
|
|
|
|
material_override = SubResource("mat_desk")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Desk"]
|
|
|
|
|
shape = SubResource("shape_desk")
|
|
|
|
|
|
|
|
|
|
[node name="OldPC" type="MeshInstance3D" parent="Desk"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.55, -0.1)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
mesh = SubResource("mesh_old_pc")
|
|
|
|
|
material_override = SubResource("mat_old_pc")
|
|
|
|
|
|
fix: скролл лицензии, отец лицом к игроку, банка-цилиндр, экран
АКТ 2 СКРОЛЛ:
- Body RichTextLabel: fit_content=true → false, теперь label
остаётся в фиксированном размере 540×220 и скроллит контент
внутри. Раньше label расширялся по тексту и обрезался панелью.
- scroll_following=false (не следить за концом).
- mouse_filter=STOP — теперь mouse wheel над label скроллит.
- font_size снижен с дефолта на 11 — больше пунктов помещается
на экране, читается комфортно.
- Window custom_minimum_size = 580×348 (было 560×320) — больше
места под лицензию.
ОТЕЦ:
- FatherNPC initial transform теперь rotation_y = +π/2
(Transform3D(0,0,-1,0,1,0,1,0,0,1.7,0,0)) — лицом к игроку
на запад. Игрок видит лицо отца, а не профиль.
- В _walk_father_out tween поворачивает rotation_y → -π/2
(180° поворот через 0/север). Шагает на восток к двери
с правильно повёрнутым корпусом.
МОНИТОР:
- К Desk/OldPC добавлен child Screen — BoxMesh 0.21×0.15×0.005
с эмиссивной материалом mat_screen (тёмный с голубым свечением).
- Стоит на передней грани монитора, имитирует тёмный экран
с легким bluish-glow CRT-вибом.
ADRENALINE BANK → ЦИЛИНДР:
- mesh_can: BoxMesh → CylinderMesh top=bottom=0.03 height=0.13.
Теперь это реально банка по форме, а не куб.
ТЕКСТУРЫ ПРЕДМЕТОВ (TextureGen новые):
- adrenaline_label: синий с тёмно-синими диагональными штрихами +
жёлтая молния по центру + тёмные верхняя/нижняя кромки.
- lays_wrapper: жёлтый с красной волнистой лентой посередине
(синус) + коричневая чипса-клякса внизу + тёмные уголки.
- sock_fabric: тёмно-синий с горизонтальными светлыми полосками
каждые 6 пикселей + тёмный шов.
- monitor_screen: тёмное стекло с edge-glow + scanlines каждые
2 строки (CRT-вайб).
- Применены в act1.gd._apply_textures на AdrenalineCan,
LaysWrapper, Sock1/Sock2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:36:19 +03:00
|
|
|
[node name="Screen" type="MeshInstance3D" parent="Desk/OldPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.153)
|
|
|
|
|
mesh = SubResource("mesh_screen")
|
|
|
|
|
material_override = SubResource("mat_screen")
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[node name="Keyboard" type="MeshInstance3D" parent="Desk"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.37, 0.18)
|
|
|
|
|
mesh = SubResource("mesh_keyboard")
|
|
|
|
|
material_override = SubResource("mat_keyboard")
|
|
|
|
|
|
|
|
|
|
[node name="AdrenalineCan" type="MeshInstance3D" parent="Desk"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.1, 0.42, 0.1)
|
|
|
|
|
mesh = SubResource("mesh_can")
|
|
|
|
|
material_override = SubResource("mat_can")
|
|
|
|
|
|
|
|
|
|
[node name="LaysWrapper" type="MeshInstance3D" parent="Desk"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1, 0.36, 0.0)
|
|
|
|
|
mesh = SubResource("mesh_lays")
|
|
|
|
|
material_override = SubResource("mat_lays")
|
|
|
|
|
|
act1: фиксы багов + crosshair + улучшенные текстуры
БАГ-ФИКСЫ:
- Трясёт у двери: Interactable теперь extends Area3D (не StaticBody3D).
RayCast3D детектит Area3D через collide_with_areas=true.
Игрок физически проходит через интерактивы (gift box, флешка,
записка, дверь) — не толкается в узких местах. Бампается только
в стены/мебель/пол.
- Все 6 интерактивов в act1_room.tscn и act1_kitchen.tscn
переведены на type="Area3D".
UI:
- Crosshair в центре экрана: 8×8 точка с тёмной рамкой и белой
центральной 2×2 точкой. set_crosshair_visible() для 2D-сцен
(Акт 2 прячет его).
- SubtitlePanel расширен: 16-624 × 240-354 (было 24-616 × 270-350).
Text-лейбл заменён на RichTextLabel с fit_content + bbcode.
Длинные реплики отца теперь нормально влезают.
- NoteOverlay аналогично RichTextLabel.
- ControlsHint перенесён сверху (под HUD-датой), 14px меньше.
ТЕКСТУРЫ через FastNoiseLite + 128×128 разрешалка:
- wallpaper: шумная бежевая база + растительный крест-цветок
каждые 22px, шахматное смещение, тонкая горизонтальная полоса
каждые 32px (стык обоев).
- linoleum: настоящая паркетная доска 16×64px со смещением между
рядами, тонкие швы, волокно через шум.
- ceiling: побелка с пятном протёчки в углу (canon-деталь).
- wall_carpet: бордовая база + двойная золотая рамка + ромб-
медальон с золотыми углами + декоративные уголки.
- blanket: 30 звёздочек (белые/жёлтые) разного размера на шумной
тёмно-синей базе.
- poster_csgo: диагональная штриховка + силуэт AWP по центру +
пиксельный «CS:GO» текст внизу.
- poster_morgen: круг с лицом, глаза-щели, рот + пиксельный «MS».
- door: вертикальное волокно Perlin + 3 горизонтальных шва (панели)
+ 4 сучка разного размера.
- desk_white: чистый белый + жёлтый Steam-стикер в углу + царапина.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:04:50 +03:00
|
|
|
[node name="FlashDrive" type="Area3D" parent="Desk"]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.36, 0.15)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
script = ExtResource("2_int")
|
|
|
|
|
prompt = "взять флешку"
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Desk/FlashDrive"]
|
|
|
|
|
mesh = SubResource("mesh_flash")
|
|
|
|
|
material_override = SubResource("mat_flash")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Desk/FlashDrive"]
|
|
|
|
|
shape = SubResource("shape_flash")
|
|
|
|
|
|
|
|
|
|
[node name="Bed" type="StaticBody3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.2, 1.4)
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Bed"]
|
|
|
|
|
mesh = SubResource("mesh_bed")
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
material_override = SubResource("mat_bed_frame")
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Bed"]
|
|
|
|
|
shape = SubResource("shape_bed")
|
|
|
|
|
|
|
|
|
|
[node name="Blanket" type="MeshInstance3D" parent="Bed"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.23, 0)
|
|
|
|
|
mesh = SubResource("mesh_blanket")
|
|
|
|
|
material_override = SubResource("mat_blanket")
|
|
|
|
|
|
|
|
|
|
[node name="Pillow" type="MeshInstance3D" parent="Bed"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.31, 0)
|
|
|
|
|
mesh = SubResource("mesh_pillow")
|
|
|
|
|
material_override = SubResource("mat_pillow")
|
|
|
|
|
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
[node name="Sock1" type="MeshInstance3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.015, 0.9)
|
|
|
|
|
mesh = SubResource("mesh_sock")
|
|
|
|
|
material_override = SubResource("mat_sock")
|
|
|
|
|
|
|
|
|
|
[node name="Sock2" type="MeshInstance3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.85, 0.015, 0.2)
|
|
|
|
|
mesh = SubResource("mesh_sock")
|
|
|
|
|
material_override = SubResource("mat_sock")
|
|
|
|
|
|
act1: фиксы багов + crosshair + улучшенные текстуры
БАГ-ФИКСЫ:
- Трясёт у двери: Interactable теперь extends Area3D (не StaticBody3D).
RayCast3D детектит Area3D через collide_with_areas=true.
Игрок физически проходит через интерактивы (gift box, флешка,
записка, дверь) — не толкается в узких местах. Бампается только
в стены/мебель/пол.
- Все 6 интерактивов в act1_room.tscn и act1_kitchen.tscn
переведены на type="Area3D".
UI:
- Crosshair в центре экрана: 8×8 точка с тёмной рамкой и белой
центральной 2×2 точкой. set_crosshair_visible() для 2D-сцен
(Акт 2 прячет его).
- SubtitlePanel расширен: 16-624 × 240-354 (было 24-616 × 270-350).
Text-лейбл заменён на RichTextLabel с fit_content + bbcode.
Длинные реплики отца теперь нормально влезают.
- NoteOverlay аналогично RichTextLabel.
- ControlsHint перенесён сверху (под HUD-датой), 14px меньше.
ТЕКСТУРЫ через FastNoiseLite + 128×128 разрешалка:
- wallpaper: шумная бежевая база + растительный крест-цветок
каждые 22px, шахматное смещение, тонкая горизонтальная полоса
каждые 32px (стык обоев).
- linoleum: настоящая паркетная доска 16×64px со смещением между
рядами, тонкие швы, волокно через шум.
- ceiling: побелка с пятном протёчки в углу (canon-деталь).
- wall_carpet: бордовая база + двойная золотая рамка + ромб-
медальон с золотыми углами + декоративные уголки.
- blanket: 30 звёздочек (белые/жёлтые) разного размера на шумной
тёмно-синей базе.
- poster_csgo: диагональная штриховка + силуэт AWP по центру +
пиксельный «CS:GO» текст внизу.
- poster_morgen: круг с лицом, глаза-щели, рот + пиксельный «MS».
- door: вертикальное волокно Perlin + 3 горизонтальных шва (панели)
+ 4 сучка разного размера.
- desk_white: чистый белый + жёлтый Steam-стикер в углу + царапина.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:04:50 +03:00
|
|
|
[node name="GiftBox" type="Area3D" parent="."]
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, -0.3)
|
|
|
|
|
script = ExtResource("2_int")
|
|
|
|
|
prompt = "открыть коробку"
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="GiftBox"]
|
|
|
|
|
mesh = SubResource("mesh_gift")
|
|
|
|
|
material_override = SubResource("mat_gift")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="GiftBox"]
|
|
|
|
|
shape = SubResource("shape_gift")
|
|
|
|
|
|
|
|
|
|
[node name="SystemUnit" type="Node3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, -0.3)
|
|
|
|
|
visible = false
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="SystemUnit"]
|
|
|
|
|
mesh = SubResource("mesh_sys")
|
|
|
|
|
material_override = SubResource("mat_sys")
|
|
|
|
|
|
act1: фиксы багов + crosshair + улучшенные текстуры
БАГ-ФИКСЫ:
- Трясёт у двери: Interactable теперь extends Area3D (не StaticBody3D).
RayCast3D детектит Area3D через collide_with_areas=true.
Игрок физически проходит через интерактивы (gift box, флешка,
записка, дверь) — не толкается в узких местах. Бампается только
в стены/мебель/пол.
- Все 6 интерактивов в act1_room.tscn и act1_kitchen.tscn
переведены на type="Area3D".
UI:
- Crosshair в центре экрана: 8×8 точка с тёмной рамкой и белой
центральной 2×2 точкой. set_crosshair_visible() для 2D-сцен
(Акт 2 прячет его).
- SubtitlePanel расширен: 16-624 × 240-354 (было 24-616 × 270-350).
Text-лейбл заменён на RichTextLabel с fit_content + bbcode.
Длинные реплики отца теперь нормально влезают.
- NoteOverlay аналогично RichTextLabel.
- ControlsHint перенесён сверху (под HUD-датой), 14px меньше.
ТЕКСТУРЫ через FastNoiseLite + 128×128 разрешалка:
- wallpaper: шумная бежевая база + растительный крест-цветок
каждые 22px, шахматное смещение, тонкая горизонтальная полоса
каждые 32px (стык обоев).
- linoleum: настоящая паркетная доска 16×64px со смещением между
рядами, тонкие швы, волокно через шум.
- ceiling: побелка с пятном протёчки в углу (canon-деталь).
- wall_carpet: бордовая база + двойная золотая рамка + ромб-
медальон с золотыми углами + декоративные уголки.
- blanket: 30 звёздочек (белые/жёлтые) разного размера на шумной
тёмно-синей базе.
- poster_csgo: диагональная штриховка + силуэт AWP по центру +
пиксельный «CS:GO» текст внизу.
- poster_morgen: круг с лицом, глаза-щели, рот + пиксельный «MS».
- door: вертикальное волокно Perlin + 3 горизонтальных шва (панели)
+ 4 сучка разного размера.
- desk_white: чистый белый + жёлтый Steam-стикер в углу + царапина.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:04:50 +03:00
|
|
|
[node name="Note" type="Area3D" parent="SystemUnit"]
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0)
|
|
|
|
|
script = ExtResource("2_int")
|
|
|
|
|
prompt = "прочитать записку"
|
|
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="SystemUnit/Note"]
|
|
|
|
|
mesh = SubResource("mesh_note")
|
|
|
|
|
material_override = SubResource("mat_note")
|
|
|
|
|
|
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="SystemUnit/Note"]
|
|
|
|
|
shape = SubResource("shape_note")
|
|
|
|
|
|
|
|
|
|
[node name="FatherNPC" type="Node3D" parent="."]
|
fix: скролл лицензии, отец лицом к игроку, банка-цилиндр, экран
АКТ 2 СКРОЛЛ:
- Body RichTextLabel: fit_content=true → false, теперь label
остаётся в фиксированном размере 540×220 и скроллит контент
внутри. Раньше label расширялся по тексту и обрезался панелью.
- scroll_following=false (не следить за концом).
- mouse_filter=STOP — теперь mouse wheel над label скроллит.
- font_size снижен с дефолта на 11 — больше пунктов помещается
на экране, читается комфортно.
- Window custom_minimum_size = 580×348 (было 560×320) — больше
места под лицензию.
ОТЕЦ:
- FatherNPC initial transform теперь rotation_y = +π/2
(Transform3D(0,0,-1,0,1,0,1,0,0,1.7,0,0)) — лицом к игроку
на запад. Игрок видит лицо отца, а не профиль.
- В _walk_father_out tween поворачивает rotation_y → -π/2
(180° поворот через 0/север). Шагает на восток к двери
с правильно повёрнутым корпусом.
МОНИТОР:
- К Desk/OldPC добавлен child Screen — BoxMesh 0.21×0.15×0.005
с эмиссивной материалом mat_screen (тёмный с голубым свечением).
- Стоит на передней грани монитора, имитирует тёмный экран
с легким bluish-glow CRT-вибом.
ADRENALINE BANK → ЦИЛИНДР:
- mesh_can: BoxMesh → CylinderMesh top=bottom=0.03 height=0.13.
Теперь это реально банка по форме, а не куб.
ТЕКСТУРЫ ПРЕДМЕТОВ (TextureGen новые):
- adrenaline_label: синий с тёмно-синими диагональными штрихами +
жёлтая молния по центру + тёмные верхняя/нижняя кромки.
- lays_wrapper: жёлтый с красной волнистой лентой посередине
(синус) + коричневая чипса-клякса внизу + тёмные уголки.
- sock_fabric: тёмно-синий с горизонтальными светлыми полосками
каждые 6 пикселей + тёмный шов.
- monitor_screen: тёмное стекло с edge-glow + scanlines каждые
2 строки (CRT-вайб).
- Применены в act1.gd._apply_textures на AdrenalineCan,
LaysWrapper, Sock1/Sock2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:36:19 +03:00
|
|
|
transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.7, 0, 0)
|
act1: реальное освещение + человекоподобный отец
ОСВЕЩЕНИЕ (главная визуальная разница):
- Все материалы переведены с unshaded на per-pixel shading
(удалены shading_mode=0 во всех материалах act1_room+act1_kitchen).
- WorldEnvironment в обеих сценах: ambient_light_color бежевый,
energy 0.4-0.5.
- DirectionalLight3D «солнце из окна»: Y-180 + X-30 rotation чтобы
светило с севера в юг и вниз. light_energy 1.0, тёплый
цвет 1,0.94,0.82. shadow_enabled=true с PSSM (GL Compatibility).
- В комнате: OmniLight3D fill-light возле окна для синего
холодного света (свет неба из окна) — energy 0.5, голубой.
- В кухне: OmniLight3D под потолком как обычная лампа — energy
0.6, тёплый белый, range 5м.
- Теперь мебель/стены/одеяло имеют объём с тенями.
ОТЕЦ (humanoid рig из 11 кубов вместо одного прямоугольника):
- Head (skin): голова
- Hair (dark brown): волосы сверху
- Torso (gray-blue shirt)
- ArmL/ArmR (рукава рубашки)
- HandL/HandR (skin кисти под рукавами)
- LegL/LegR (jeans dark blue)
- ShoeL/ShoeR (чёрные ботинки, чуть выпирают вперёд)
- Все материалы с roughness 0.6-0.95 для приличных бликов.
- FatherNPC.position = (1.7, 0, 0) — ноги на полу, голова на ~1.8м.
- Tween в act1.gd для exit работает как раньше (position:x).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:10:04 +03:00
|
|
|
|
|
|
|
|
[node name="Head" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.55, 0)
|
|
|
|
|
mesh = SubResource("mesh_head")
|
|
|
|
|
material_override = SubResource("mat_skin")
|
|
|
|
|
|
fix мышь + лицо отца (глаза, нос, рот, брови, щетина, уши)
МЫШЬ КАМЕРА (главный баг):
- Crosshair Control в центре экрана с дефолтным mouse_filter=STOP
ЖРАЛ ВСЕ mouse_motion events когда курсор был в центре (а он
всегда в центре при MOUSE_MODE_CAPTURED). FPV._unhandled_input
не вызывался → камера не вращалась.
- Поставил mouse_filter=2 (IGNORE) на Crosshair, CenterDot,
OuterRing, InnerHole — теперь они только рендерятся, события
пролетают мимо.
- Поставил mouse_filter=2 ТАКЖЕ на все HUD-лейблы (DateTime,
Objective, Money, Weather, Stats, ControlsHint, PromptLabel)
и SubtitlePanel — на будущее, чтобы курсор поверх них не
обламывал камеру.
СЛАЙДЕРЫ В НАСТРОЙКАХ:
- HBoxContainer rows с custom_minimum_size (0, 24).
- Labels: size_flags_vertical=4 (SHRINK_CENTER) +
vertical_alignment=1 (CENTER) + min_size (W, 24).
- Sliders: size_flags_vertical=4 + min_size (140, 24).
- Все элементы строки выровнены по центру по вертикали — слайдер
и текст теперь на одной линии, хитбокс совпадает с визуалом.
ЛИЦО ОТЦА:
- Голова была просто кубом скин-цвета. Теперь у отца:
* 2 глаза (белая склера 0.038×0.025×0.005 + тёмный зрачок
0.018×0.018×0.005 поверх) — реально видно куда смотрит.
* Брови 0.045×0.012 материалом mat_hair (тёмные).
* Нос 0.028×0.05×0.035 — выпирает на 0.012м вперёд от лица.
* Рот 0.065×0.012 тёмно-красным mat_mouth.
* Щетина 0.2×0.075 на нижней части лица mat_stubble
(тёмно-серо-коричневый) — мужик не побрился.
* 2 уха 0.025×0.045×0.025 по бокам головы.
- Все элементы — children FatherNPC/Head, наследуют поворот
родителя, остаются на лице при walking-animation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 19:16:49 +03:00
|
|
|
[node name="EyeWhiteL" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058, 0.035, -0.132)
|
|
|
|
|
mesh = SubResource("mesh_eye_white")
|
|
|
|
|
material_override = SubResource("mat_eye_white")
|
|
|
|
|
|
|
|
|
|
[node name="EyeWhiteR" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.058, 0.035, -0.132)
|
|
|
|
|
mesh = SubResource("mesh_eye_white")
|
|
|
|
|
material_override = SubResource("mat_eye_white")
|
|
|
|
|
|
|
|
|
|
[node name="PupilL" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058, 0.035, -0.135)
|
|
|
|
|
mesh = SubResource("mesh_pupil")
|
|
|
|
|
material_override = SubResource("mat_pupil")
|
|
|
|
|
|
|
|
|
|
[node name="PupilR" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.058, 0.035, -0.135)
|
|
|
|
|
mesh = SubResource("mesh_pupil")
|
|
|
|
|
material_override = SubResource("mat_pupil")
|
|
|
|
|
|
|
|
|
|
[node name="EyebrowL" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058, 0.072, -0.132)
|
|
|
|
|
mesh = SubResource("mesh_eyebrow")
|
|
|
|
|
material_override = SubResource("mat_hair")
|
|
|
|
|
|
|
|
|
|
[node name="EyebrowR" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.058, 0.072, -0.132)
|
|
|
|
|
mesh = SubResource("mesh_eyebrow")
|
|
|
|
|
material_override = SubResource("mat_hair")
|
|
|
|
|
|
|
|
|
|
[node name="Nose" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.005, -0.142)
|
|
|
|
|
mesh = SubResource("mesh_nose")
|
|
|
|
|
material_override = SubResource("mat_skin")
|
|
|
|
|
|
|
|
|
|
[node name="Mouth" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.07, -0.131)
|
|
|
|
|
mesh = SubResource("mesh_mouth")
|
|
|
|
|
material_override = SubResource("mat_mouth")
|
|
|
|
|
|
|
|
|
|
[node name="Stubble" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.095, -0.131)
|
|
|
|
|
mesh = SubResource("mesh_stubble")
|
|
|
|
|
material_override = SubResource("mat_stubble")
|
|
|
|
|
|
|
|
|
|
[node name="EarL" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.135, 0.005, 0)
|
|
|
|
|
mesh = SubResource("mesh_ear")
|
|
|
|
|
material_override = SubResource("mat_skin")
|
|
|
|
|
|
|
|
|
|
[node name="EarR" type="MeshInstance3D" parent="FatherNPC/Head"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.135, 0.005, 0)
|
|
|
|
|
mesh = SubResource("mesh_ear")
|
|
|
|
|
material_override = SubResource("mat_skin")
|
|
|
|
|
|
act1: реальное освещение + человекоподобный отец
ОСВЕЩЕНИЕ (главная визуальная разница):
- Все материалы переведены с unshaded на per-pixel shading
(удалены shading_mode=0 во всех материалах act1_room+act1_kitchen).
- WorldEnvironment в обеих сценах: ambient_light_color бежевый,
energy 0.4-0.5.
- DirectionalLight3D «солнце из окна»: Y-180 + X-30 rotation чтобы
светило с севера в юг и вниз. light_energy 1.0, тёплый
цвет 1,0.94,0.82. shadow_enabled=true с PSSM (GL Compatibility).
- В комнате: OmniLight3D fill-light возле окна для синего
холодного света (свет неба из окна) — energy 0.5, голубой.
- В кухне: OmniLight3D под потолком как обычная лампа — energy
0.6, тёплый белый, range 5м.
- Теперь мебель/стены/одеяло имеют объём с тенями.
ОТЕЦ (humanoid рig из 11 кубов вместо одного прямоугольника):
- Head (skin): голова
- Hair (dark brown): волосы сверху
- Torso (gray-blue shirt)
- ArmL/ArmR (рукава рубашки)
- HandL/HandR (skin кисти под рукавами)
- LegL/LegR (jeans dark blue)
- ShoeL/ShoeR (чёрные ботинки, чуть выпирают вперёд)
- Все материалы с roughness 0.6-0.95 для приличных бликов.
- FatherNPC.position = (1.7, 0, 0) — ноги на полу, голова на ~1.8м.
- Tween в act1.gd для exit работает как раньше (position:x).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:10:04 +03:00
|
|
|
[node name="Hair" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.72, 0)
|
|
|
|
|
mesh = SubResource("mesh_hair")
|
|
|
|
|
material_override = SubResource("mat_hair")
|
|
|
|
|
|
|
|
|
|
[node name="Torso" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
|
|
|
|
|
mesh = SubResource("mesh_torso")
|
|
|
|
|
material_override = SubResource("mat_shirt")
|
|
|
|
|
|
|
|
|
|
[node name="ArmL" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.275, 1.12, 0)
|
|
|
|
|
mesh = SubResource("mesh_arm")
|
|
|
|
|
material_override = SubResource("mat_shirt")
|
|
|
|
|
|
|
|
|
|
[node name="ArmR" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.275, 1.12, 0)
|
|
|
|
|
mesh = SubResource("mesh_arm")
|
|
|
|
|
material_override = SubResource("mat_shirt")
|
|
|
|
|
|
|
|
|
|
[node name="HandL" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.275, 0.83, 0)
|
|
|
|
|
mesh = SubResource("mesh_hand")
|
|
|
|
|
material_override = SubResource("mat_skin")
|
|
|
|
|
|
|
|
|
|
[node name="HandR" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.275, 0.83, 0)
|
|
|
|
|
mesh = SubResource("mesh_hand")
|
|
|
|
|
material_override = SubResource("mat_skin")
|
|
|
|
|
|
|
|
|
|
[node name="LegL" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.11, 0.42, 0)
|
|
|
|
|
mesh = SubResource("mesh_leg")
|
|
|
|
|
material_override = SubResource("mat_pants")
|
|
|
|
|
|
|
|
|
|
[node name="LegR" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11, 0.42, 0)
|
|
|
|
|
mesh = SubResource("mesh_leg")
|
|
|
|
|
material_override = SubResource("mat_pants")
|
|
|
|
|
|
|
|
|
|
[node name="ShoeL" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.11, 0.04, 0.04)
|
|
|
|
|
mesh = SubResource("mesh_shoe")
|
|
|
|
|
material_override = SubResource("mat_shoe")
|
|
|
|
|
|
|
|
|
|
[node name="ShoeR" type="MeshInstance3D" parent="FatherNPC"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11, 0.04, 0.04)
|
|
|
|
|
mesh = SubResource("mesh_shoe")
|
|
|
|
|
material_override = SubResource("mat_shoe")
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[node name="PlayerFPV" parent="." instance=ExtResource("3_player")]
|
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
виниловые с растительным узором (наследие маминого ремонта 2010),
линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
(наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
обёртка Lay's на столе, носки на полу. Все цвета по hex.
- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.
- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
без мини-карты и постоянных таймеров.
КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
(бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
кровати).
- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
set_money / set_weather / set_stat_alert + set_controls_hint.
- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
тусклый.
- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
«◆ Возьми флешку с Шиндовс» вверху-справа.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:38:07 +03:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.5)
|
act1: FPV-комната с подарком, запиской и флешкой
3D-сцена 4×4м: стены/пол/потолок, окно (свечение), дверь, стол с пека,
кровать с одеялом, подарок-коробка на полу, отец-NPC в дверях.
Архитектура:
- FPVController (CharacterBody3D + Camera3D + RayCast3D) — mouse look,
WASD, raycast-pickup, lock_input для катсцен.
- Interactable (StaticBody3D base) — toggle через collision_layer.
- DialogManager (autoload CanvasLayer) — субтитры snake-case, fullscreen
записка, HUD-подсказки, prompt над крестом, await через signal.
- act1.gd — state machine: INTRO → EXPLORE_GIFT → INSIDE_GIFT →
NOTE_READ → FATHER_FAREWELL (tween x-2.5) → SEEK_DRIVE → ENDING.
Канон-реплики из Пролог_Первый_день.md без правок:
- Отец intro + про флешку с Шиндой
- Записка «Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»
- Мысли героя: «новый пека?», «бать ну ты красавчик», «Андрюхино так Андрюхино»
GL Compatibility renderer, unshaded материалы плоскими цветами под
pixel-art 640×360. Тестировано на RTX 5070 — стартует без ошибок.
main.tscn placeholder удалён, main_scene = act1_room.tscn.
Не покрыто в MVP (TBD):
- Опц. выход на кухню → холодильник → Wi-Fi пароль
- Mastermind hack-mini-game для подбора Wi-Fi
- Sfxr звуки (открытие коробки, шаги)
- Переход в Акт 2 (пока quit на финале)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:12:04 +03:00
|
|
|
|
|
|
|
|
[connection signal="interacted" from="Desk/FlashDrive" to="." method="_on_drive_interacted"]
|
|
|
|
|
[connection signal="interacted" from="GiftBox" to="." method="_on_gift_interacted"]
|
|
|
|
|
[connection signal="interacted" from="SystemUnit/Note" to="." method="_on_note_interacted"]
|
prologue: целиком Акт 1 (комната+кухня) + Акт 2 (установка)
ИНФРАСТРУКТУРА:
- GameState autoload: player_name, прогресс актов, ачивки.
- SceneManager autoload: change_scene с deferred переключением,
shortcuts go_room/go_kitchen/go_install.
- TextureGen autoload: процедурные pixel-art ImageTexture через
Image.set_pixel, кешируются в Dictionary. Текстуры: wallpaper
(бежевая с растительным узором), linoleum (полосы паркета),
ceiling (побелка с шумом), wall_carpet (бордовый с ромбами),
blanket (тёмно-синее со звёздами), poster_csgo (жёлтый с
силуэтом AWP), poster_morgen (тёмно-красный с головой),
door (дерево с волокном), desk_white, book_color(0-4).
АКТ 1 КОМНАТА (act1_room.tscn / act1.gd):
- Все стены/пол/потолок/ковёр/одеяло/постеры/стол/дверь теперь
с процедурными текстурами через TextureGen.apply_to_material с
правильным uv1_scale. Texture filter NEAREST для пиксель-арта.
- Door interactable добавлен в east-wall (рядом с DoorPanel).
Включается после ухода отца. Клик → переход на кухню.
- GameState persists прогресс — возврат из кухни не повторяет интро.
- _setup_post_intro_state восстанавливает SEEK_DRIVE после кухни.
- После подбора флешки — переход на act2_install.
АКТ 1 КУХНЯ (act1_kitchen.tscn / act1_kitchen.gd):
- 3×3м комнатка с холодильником «Атлант», плитой (4 ручки красные),
столешницей+раковиной, чайником, столом+2 стула, окном+радиатором.
- Wi-Fi записка приклеена на холодильнике, читается → ачивка
«Wi-Fi разведчик» + GameState.wifi_password_found = true.
- Дверь обратно в комнату — SceneManager.go_room().
- Текстуры через TextureGen.
АКТ 2 УСТАНОВКА ШИНДОВС (act2_install.tscn / act2_install.gd):
- Полная 2D-сцена с 7 шагами state machine:
BOOT (4 квадратика логотипа 1.6 сек) → LICENSE_INTRO →
LICENSE_FULL (по «Читать») → DISK → USERNAME → PASSWORD →
TIMEZONE → INSTALLING (5 фаз прогресс-бара 3 сек) → COMPLETE.
- ШИЗО-пункты лицензионки: 7.3.2, 11.4, 12.1, 15.7, 18.0, 21.3,
23.9, 27.1 (полный текст из канона Пролог Акт 2).
- Ввод имени с валидацией: 2-24 символа, regex буквы+цифры,
ban-list титулов (повелитель/владыка/бог/лорд/царь) и мата.
- Подсказка-плейсхолдеры из канона: bossiara13, fr3sh_n3kit и т.п.
- Пароль с чекбоксом «Без пароля» + ачивки «Главное чтоб удобно»
(123/qwerty/empty) и «Параноик» (12+ символов со спец).
- Часовой пояс OptionButton с 7 регионами страны Р, UTC+3 default.
- Welcome-экран после установки: «Добро пожаловать, {playerName}».
- Кнопка «Запустить стеме» — заглушка Акта 3.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:50:26 +03:00
|
|
|
[connection signal="interacted" from="WallE/Door" to="." method="_on_door_interacted"]
|