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
|
|
|
|
extends Node3D
|
|
|
|
|
|
|
|
|
|
|
|
@onready var player: FPVController = $PlayerFPV
|
|
|
|
|
|
@onready var gift_box: Interactable = $GiftBox
|
|
|
|
|
|
@onready var system_unit: Node3D = $SystemUnit
|
|
|
|
|
|
@onready var note: Interactable = $SystemUnit/Note
|
|
|
|
|
|
@onready var flash_drive: Interactable = $Desk/FlashDrive
|
|
|
|
|
|
@onready var father: Node3D = $FatherNPC
|
|
|
|
|
|
|
|
|
|
|
|
enum State { INTRO, EXPLORE_GIFT, INSIDE_GIFT, NOTE_READ, FATHER_FAREWELL, SEEK_DRIVE, ENDING }
|
|
|
|
|
|
var state: State = State.INTRO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _ready() -> void:
|
|
|
|
|
|
system_unit.visible = false
|
|
|
|
|
|
note.visible = false
|
|
|
|
|
|
gift_box.set_interactable(false)
|
|
|
|
|
|
flash_drive.set_interactable(false)
|
|
|
|
|
|
|
|
|
|
|
|
player.lock_input()
|
|
|
|
|
|
player.interactable_focused.connect(_on_player_focused)
|
|
|
|
|
|
player.interactable_unfocused.connect(_on_player_unfocused)
|
|
|
|
|
|
|
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
|
|
|
|
DialogManager.set_date_time("21 АВГ 2020 · ПТ", "10:30")
|
|
|
|
|
|
DialogManager.set_objective("Распакуй подарок от бати")
|
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
|
|
|
|
|
|
|
|
|
|
await get_tree().create_timer(0.8).timeout
|
|
|
|
|
|
await DialogManager.say("ОТЕЦ", "Ну? Чё стоишь. Распаковывай давай. Сам собирал, между прочим — полночи не спал.")
|
|
|
|
|
|
await DialogManager.think("Так… новый пека? Серьёзно? После моего динозавра?")
|
|
|
|
|
|
|
|
|
|
|
|
state = State.EXPLORE_GIFT
|
|
|
|
|
|
gift_box.set_interactable(true)
|
|
|
|
|
|
player.unlock_input()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_player_focused(obj: Node) -> void:
|
|
|
|
|
|
if obj.has_method("get_prompt"):
|
|
|
|
|
|
DialogManager.set_prompt(obj.get_prompt())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_player_unfocused() -> void:
|
|
|
|
|
|
DialogManager.clear_prompt()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_gift_interacted(_p: Node) -> void:
|
|
|
|
|
|
if state != State.EXPLORE_GIFT:
|
|
|
|
|
|
return
|
|
|
|
|
|
state = State.INSIDE_GIFT
|
|
|
|
|
|
gift_box.set_interactable(false)
|
|
|
|
|
|
gift_box.visible = false
|
|
|
|
|
|
system_unit.visible = true
|
|
|
|
|
|
note.visible = true
|
|
|
|
|
|
note.set_interactable(true)
|
|
|
|
|
|
DialogManager.clear_prompt()
|
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
|
|
|
|
DialogManager.set_objective("Прочитай записку")
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_note_interacted(_p: Node) -> void:
|
|
|
|
|
|
if state != State.INSIDE_GIFT:
|
|
|
|
|
|
return
|
|
|
|
|
|
state = State.NOTE_READ
|
|
|
|
|
|
note.set_interactable(false)
|
|
|
|
|
|
player.lock_input()
|
|
|
|
|
|
DialogManager.clear_prompt()
|
|
|
|
|
|
|
|
|
|
|
|
await DialogManager.show_note("«Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»")
|
|
|
|
|
|
await DialogManager.think("Бать ну ты красавчик конечно.")
|
|
|
|
|
|
|
|
|
|
|
|
state = State.FATHER_FAREWELL
|
|
|
|
|
|
await DialogManager.say("ОТЕЦ", "Флешка с Шиндой на столе. Ставь сам, не маленький. Если запорешь — сам и переставляй.")
|
|
|
|
|
|
|
|
|
|
|
|
var tween: Tween = create_tween()
|
|
|
|
|
|
tween.tween_property(father, "position:x", father.position.x - 2.5, 0.8)
|
|
|
|
|
|
await tween.finished
|
|
|
|
|
|
father.visible = false
|
|
|
|
|
|
|
|
|
|
|
|
state = State.SEEK_DRIVE
|
|
|
|
|
|
flash_drive.set_interactable(true)
|
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
|
|
|
|
DialogManager.set_objective("Возьми флешку с Шиндовс")
|
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
|
|
|
|
player.unlock_input()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_drive_interacted(_p: Node) -> void:
|
|
|
|
|
|
if state != State.SEEK_DRIVE:
|
|
|
|
|
|
return
|
|
|
|
|
|
state = State.ENDING
|
|
|
|
|
|
flash_drive.set_interactable(false)
|
|
|
|
|
|
player.lock_input()
|
|
|
|
|
|
DialogManager.clear_prompt()
|
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
|
|
|
|
DialogManager.set_objective("")
|
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
|
|
|
|
|
|
|
|
|
|
await DialogManager.think("Ну ладно. Андрюхино так Андрюхино. Поехали.")
|
|
|
|
|
|
await DialogManager.say("СИСТЕМА", "Конец Акта 1. Акт 2 — Установка Шиндовс (TBD).")
|
|
|
|
|
|
get_tree().quit()
|