ОСВЕЩЕНИЕ (главная визуальная разница):
- Все материалы переведены с 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>
БАГ-ФИКСЫ:
- Трясёт у двери: 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>
Защита от Steam refund: правило <2ч → автомат-возврат. Целим
3.5-5 часов с эпилогом, 3-4.5 без. Разбивка:
- Пролог 13 актов: 60-90 мин (бюджет по каждому акту в таблице)
- Сэндбокс 24-31 авг: 10-15 мин
- Школьная фаза 9 мес: 60-80 мин
- Лето 2021: 15-25 мин
- 10 класс до 29 мая 2022: 70-90 мин
- Финал + эпилог: 45-90 мин
Стратегии увеличения playtime без обмана: сохранение через
кровать, кейсы раз/нед-real, ежедневные ТГ-новости, шкалы
голода/усталости, ачивки за исследование. Чего НЕ делать:
unskippable cinematics, долгие лоадинги, бэктрекинг без награды.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
КАНОН (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>
1. stretch/mode: viewport → canvas_items + aspect=keep
3D теперь рендерится в native window resolution (1920×1080), а 2D UI
остаётся в 640×360 logical coords с nearest-фильтрацией — гибрид
smooth 3D + pixel-art UI.
2. [input] map: добавлены move_forward/back/left/right на WASD +
стрелки (physical_keycode для layout-независимости). Дефолтные
ui_left/right/up/down в Godot 4 биндятся только на стрелки —
поэтому WASD ничего не делал.
3. HUD-подсказка обновлена: «WASD ходить · мышь смотреть · ЛКМ
взаимодействие».
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 новых файла отвечают на 'полный каталог рынка':
I. COLLECTIONS_TIMELINE.md - лимитизация ~50 коллекций по статусам:
- Active/Legacy/Rare/Retired/Contraband/Event-only
- 50+ кейсов 2013-2026 с релиз-датами и ценами 2020/2026 (древние Bravo/Hydra → CapyFarm → кампания Fracture/Broken Fang → эпилог Anubis/Kilowatt/Harlequin 2026)
- 15 non-case коллекций (Cobblestone retired, Train вернулся CS2 2025)
- 4 экспоната лимитизации: M4A4 Howl Contraband (изъят 23.06.2014 за 7 нед), Dragon Lore (Cobble retired 2018), Hydra Case 6 мес дроп, EMS Katowice 2014 Holo $100k+
- Триггеры: drop pool removal/map removed/operation ends/plagiarism/CS2 transition/Care Package rotation янв 2026
II. CS2_TRANSITION.md - точно 27.09.2023:
- Source 2 движок, новые viewmodels, smoke physics
- Map pool: Train убран 2017, вернулся апр 2025 CS2
- Premier mode заменил Wingman+Competitive, CS Rating numerical
- Trust Factor 2.0 + Prime интегрированы → multi-HWID = плохие матчи
- Перенос инвентаря: 100% автомат, float теперь виден в Inspect сразу
- Влияние на рынок: первые 2 недели ±30-50% паника, AWP Dragon Lore $3500→$5000 за день
- Влияние на панели: FSM/DM обновили 1-2 мес, CapyFarm закрылась
- Влияние на тиры фермеров: тир 4 (industrial) пострадал больше всех (Care Package требует play на каждом акке)
- Канон-сцена: 27.09.2023 в TG чате 'Свои' паника, octofarm пост 'не паникуем'
III. DATA_PIPELINE.md - техническое решение НЕ делать 10к ручных записей:
- 3-слойная архитектура: 150 якорей (из HISTORICAL_STEAM_ITEMS.md) + процедурный генератор (15-25к записей) + опц реалтайм Steam Market API скрейпинг
- JSON-структуры skins.json/cases.json/collections_timeline.json
- Скрипт skins_generator.gd в Godot (формула base × wear × status × time × jitter)
- MVP для пролога: 15-20 скинов в skins_prolog.json вручную
- Полный каталог — для эпохи 1 (9 класс)
- Build через godot --headless --script build_catalog.gd, в Forgejo CI
- Размер dataset: 25k записей ~10-15МБ JSON, приемлемо для Steam-инди
КРИТИЧНАЯ ПОПРАВКА предметной области:
- Раньше я смешал блогеров случай-кейс (Прилив, Лэндстоп — публичные с лицом, миллион подписчиков, монетизация рекламой) с фермерами (анонимы с десятками акков, продают через FunPay, никогда не показывают лица).
- Это ДВА РАЗНЫХ МИРА. Герой идёт во второй, не в первый.
НОВАЯ СТРУКТУРА (7 разделов):
I. Фарм-андеграунд (главный путь): funbay/LOOT/CSpay маркетплейсы, @octofarm/cs2chat_p TG-каналы фермеров без лиц, 2Cap/AntiCAP captcha-сервисы (без них нет фарма), lulz.live форум соц-инжиниринга, profilerr обучалки, screencast YouTube без лица (МедКрафт, АНОНИМ_FARM, NoFace_CS)
II. Мейнстрим-блогеры (фон): Прилив 1.3М, Лэндстоп 2.5М — НЕ фермеры, Эдуард их фанат, для контраста
III. Платные курсы фарма (3000-9000₽)
IV. Скам-каналы (для риск-механик)
V. VK/Pikabu/Discord (региональная специфика, FarmHub Discord 50к мертв с окт 2024)
VI. КАНОН-СВЯЗЬ: @octofarm (Ферма Осьминога) = reskin реального @farmcs2 (Ферма Кальмара). Никнэйм Осминог распространён в фермер-сообществе — мисдирект перед мета-твистом про героя-из-будущего.
VII. Жизненный цикл 2017-2026
ЭПИЛОГ обновлён: 05.12.2023 МАССОВАЯ БАН-ВОЛНА ~$2 МЛН — реальное событие, драм-точка эпилога.
Пролог Акт 11 митуб-выдача: 6 пунктов, теперь правильно — 4 screencast-канала без лица + АНТИШОК (с лицом, нетипично) + Прилив для контраста + аноним Осминог 12 просм.
Закрывает последний открытый TBD по модератору. RechardB00st с двумя нулями вместо oo — узнаваемая отсылка к реальному CS:GO-фарм-каналу без юр-риска. Опытный ветеран 30-35 лет, публикует ежедневные посты в Свои, в эпилоге уходит в тень.
Теф2/кесе го по решению юзера остаются как есть.
FINAL_LETTER.md — душевное письмо героя в ночь перед Большой Волной (28.05.2022):
- 9 сцен-воспоминаний (отец/пек/боты/листовки/Австралий/Андрюха/мама/24 февраля/защищённый аккаунт)
- Дизайн-док формулируется КАК ИДЕИ для будущей игры, не как сухой bulletlist
- Обращение к игроку: спасибо что был со мной
- Финал: 'мама написала час назад - сынок ты как - я ещё не ответил. отвечу норм. как обычно.'
FORESHADOWING #20 обновлён: НЕ сырой Игра для Steam.txt, а эмоциональная перепаковка. Игра = симулятор парня который прожил это и решил рассказать.
Причина падения CI run #6 и #7:
actions/checkout@v4 = Node.js скрипт, ubuntu:22.04 image не имеет node, exec failed.
Фикс: runs-on: ubuntu-latest (мапится на node:20-bookworm в нашем runner-е, имеет node + Debian apt). apt-get install wget/unzip всё ещё работает. Godot тянется с github releases.
- CHARACTERS.md: имя отца — НЕ называется в каноне ('Отец'), Wi-Fi пароль Sergey1975 теперь намеренная двусмысленность (отец или сосед?)
- NAMING.md: политика ввода имени игрока — фильтр на мат RU/EN/транслит + ban титулов (повелитель/владыка/бог/king/lord/god) + ban брендов (valve/steam) + длина 2-24 + только буквы/цифры. После 3 запрещённых попыток — реплика отца за дверью.
- Закрыты TBD: мать (разведена, Псков), регион (С./СПб), отец (Отец без имени). Остались только Андрюхина фамилия (раскрыть в финале) и мужик-листовочник (опц).
Конкретные числа теперь по реалу 2020-2022:
- ITEMS.md: Australium Wrench (не Contracker!) — 2500₽ в 2020, дроп из TF2 Mann Up Tour ~10%. Школьный сленг 'контракер' = ошибка героя, Андрюха поправит 1 сен.
- LORE.md: цены игр (Prime бесплатно за PR21 до 03.06.2021 или 990₽; после — 1300₽; PUBG 590-999₽ до 12.01.2022, потом f2p). Реальные ставки СПБ для подростков 2020-2022.
- MECHANICS.md M-002: точный курс CBR помесячно с пиком 142.64 на 07.03.2022.
- TIMELINE.md: точные даты Operation Broken Fang (03.12.2020), Prime платным (03.06.2021), Riptide (21.09.2021), PUBG f2p (12.01.2022), D&N (20.01.2022).
- Пролог Акт 8: реальная механика TF2 Mann Up — 95₽ билет, 3 миссии Decoy/Coal Town/Mannworks, дроп Australium Wrench 2500₽.
- Пролог Акт 9: 3 варианта (PR21 фарм бесплатно / Prime 990₽ / Пабаджи 700₽) — все реальные.
- LORE.md: место теперь 'город С.' (узнаваемый СПБ), не безымянный областной центр
- SAINT_PETERSBURG.md (новый): питерский диалект (шаверма/парадная/поребрик/бадлон), архитектура спальника, метро 4 ветки, Подорожник, развод мостов, шаверма цены, столовая, Маки/ВиТ
- MECHANICS.md: новая M-005 'Двухтарифный счётчик' — тарифы день/ночь Ленэнергосбыт 2020-2026, выбор фарма день vs ночь, отец комментирует расход
Мать живёт в Пскове (логично для СПБ-канона)