ESENRU

Kinhold — обзор проекта

29 октября 2026 · что есть, как это связано, чего на самом деле не хватает, и перепланированные этапы · одобрено valravnx 29 окт и уже перенесено в роадмап

1. Коротко за минуту

За шесть дней сделано много хороших частей, но это отдельные части: игрой они пока не стали. Строительство, дуэль, шахта и мир живут каждый в своей сцене, на своём рельефе, и почти ничего из сделанного в одной части не работает в другой.

Три большие проблемы
  1. Мир — не игровой. Карта Кинланда (256 × 256 км, реки, обрывы, леса по породам) существует только в своём просмотрщике. Строят на круглой равнине (радиус 60 м), дуэль — на другой равнине, шахта — на собственном холме. Сервер о мире тоже ничего не знает.
  2. Собранное ни на что не идёт. Ветки, камень и кремень попадают в инвентарь, но стройки оплачиваются из волшебного запаса в 120 брёвен и 120 камней. Рубка — только жест. Инвентарь и собранное не проходят через сервер: в сети у каждого они хранятся в своём браузере.
  3. Сайт скоро лопнет. GitHub не публикует сайты больше 1 ГБ, а наш через шесть дней уже весит 701 МБ (469 МБ — скриншоты). При нынешнем темпе он остановится через несколько дней.

Предложение: прежде чем добавлять контент, этап «одна игра»: персонаж появляется в настоящем мире, загружаемом по кускам, и на телефоне; там он строит, собирает, рубит и сражается; то, что он собирает, он и использует; и всё проходит через сервер. Цель — чтобы первый день игрока (из документа систем) можно было сыграть целиком, в сети и вдвоём. Затем — сервер с аккаунтами, а потом остальные системы в порядке GDD.

2. Что есть сегодня

ЧастьСостояниеЧто в ней естьГде живёт
СтроительствопродвинутоПривязанная сетка, нагрузка и каскадный демонтаж, стройки с каркасом, материалами и временем, леса, блок, полиспаст, лестницы, крыши, дымоход, мебель в стиле v5. Боевой ход в работе.Строительство и демо, на равнине
ДуэльпродвинутоРоза ударов, парирования, мастерский удар, финты, лук, щит, раны с кровотечением и лечением. В сети вдвоём.Дуэль и демо, на другой равнине
ПерсонажинаполовинуСобственная мастерская на MakeHuman: одежда слоями, лицо, тело, волосы, борода. Бороды и плащ плохие (ты сам сказал). Босые ноги в работе. Без уровней детализации.Все части, кроме шахты
Инвентарь и снаряжениенаполовинуЯчейки, пояса, рюкзаки, замедление, панель с твоим персонажем. Не видно того, что несёшь на спине, на плече или в руках (кроме топора).Строительство и демо, только в браузере
Собирательство N0наполовинуВетки, камень, кремень и волокно, которые со временем появляются снова.Зоны, расставленные вручную на равнине демо
Ремеслоне начатоРецепты и станки — только в документе систем.—
Мирпродвинут как просмотрщикКарта по сиду с регионами и названиями, долины, обрывы с 3D-скалами, текущая вода, водопады, леса по породам, рудные жилы.Только в своём просмотрщике, отдельно
Копать и добыватьтехническая пробаПроба производительности копания (70 fps на твоём телефоне). Ни опоры грунта, ни жил, ни сохранения.Свой прототип, на своём холме, ничего не сохраняет
Сетьминимальная пробаСервер, где автора ставит сервер, строительство и бой вдвоём, переподключение, лимиты, замеры со 100 ботами, туннель из дома.Синхронизирует строительство, присутствие и дуэль; не инвентарь, не собранное и не выкопанное
Выживание, фауна, ферма, земли, экономика…не начатоТолько в GDD и документе систем (с цифрами).—
Сайт и инфраструктурахорошо с ограничениемСайт на трёх языках, дорожки A и B, параллельный чат, тесты в облаке, дневник и роадмап. См. пункт 4.GitHub Pages

3. Как это связано (и что нет)

Зелёным — то, что действительно связано; красным пунктиром — то, что должно быть связано, но нет. Красные блоки — части, которые живут отдельно.

Единое демо меню: Строить, Дуэль и Персонаж Строительство стройки · инвентарь · сбор своя равнина Дуэль фехтование · лук · раны другая равнина · своя броня Просмотр персонажа тело · одежда · облик Мир (карта) Кинланд · пейзаж · породы только в просмотрщике Шахта сглаженные воксели свой холм · не сохраняет Сервер стройки · присутствие · дуэль без мира и инвентаря рельеф, деревья и то, что собирают скалы и жилы сервер не знает мира

Что не связано, по пунктам

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

4. Срочное: сайт и репозиторий

GitHub Pages не публикует сайты больше 1 ГБ и советует, чтобы репозиторий не превышал 1 ГБ (ограничения GitHub Pages). Замеры на сегодня:

  • Сайт (папка docs): 701 МБ. Из них скриншоты — 469 МБ, играбельные версии — 163 МБ, ресурсы персонажей — 62 МБ.
  • Репозиторий с историей: 789 МБ, и каждая опубликованная версия увеличивает его навсегда.
  • Каждая играбельная версия несёт внутри весь three.js (от 1,3 до 2 МБ каждая), а их уже 37 у демо и 34 у строительства.

Сегодняшнее изменение (публиковать только скриншоты самого изменения) тормозит рост, но не останавливает его: каждая новая версия продолжает добавлять. Нужно решить, как хранить старые версии и старые скриншоты, не теряя их (см. пункт 9).

5. Текущий роадмап: что лишнее и чего не хватает

Что лишнее или повторяется

Что стоит не на своём месте

Чего не хватает (ты просил или этого требует GDD, а задачи нет)

6. Что действительно нужно

В документе систем уже есть проверка того, что всё сходится: первый день игрока. Сегодня ни одного шага этого дня нельзя сыграть там, где он должен происходить:

Шаг первого дняЧто естьЧего не хватает
Появиться в рубахе, босиком, в своём регионеОдежда из инвентаря; босые ноги в работеПоявление в настоящем мире, по регионам
Жажда: найти реку и напитьсяРеки в просмотрщике картыМир в игре; жажда (выживание)
Волокно → бечёвка → поясСбор волокна; пояса в инвентареРемесло (рецепты)
Кремень и камень → камень для обработки → отщеп и топорСбор кремня и камняСтанки и рецепты
Ветки → дровяная рама, костёрСбор веток; дровяная рама в инвентареРемесло; костёр
Межевой камень и шалаш из веток как кроватьМежевой камень; хижиныСтройки, оплаченные тем, что несёшь; шалаш и привязанная кровать
Добыть зайца и зажарить его—Фауна, разделка, готовка
Срубить молодое дерево → верстак из бревна → N1Жест рубкиНастоящая рубка, брёвна, верстак

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

7. Предложение: перепланированные этапы

Ничего из сделанного не выбрасывается. Всё переупорядочивается и связывается. Задачи с пометкой «переходит из» уже есть в другом этапе и переносятся.

Фаза 0 — Расчистка (в первую очередь)

  • Сайт не превышает 1 ГБ — так, как ты решишь (пункт 9). Не теряя ни одной версии.
  • Закрыть открытое: боевой ход (A) со свободным номером версии, босые ноги (B) и сетевую пробу — на проверку.
  • Порядок в коде перед объединением, за одну сессию: один модуль случайных чисел, библиотека моделей — в общую сцену, один сетевой клиент, просмотрщик карты с нынешними персонажами. Ничего не меняя в том, что видно.
  • Правило визуальной проверки в правилах работы: прежде чем что-то показывать — скриншоты вблизи рядом с эталоном и список того, что ещё плохо. Если выглядит хуже v5, не показывается.

Фаза 1 — Одна игра: первый день, в мире и вдвоём

Этап A · Игра в настоящем мире новый

  1. Спланировать: как другие игры загружают рельеф по кускам с уровнями детализации (и в отдельном потоке), и замерить просмотрщик карты v13 на телефоне.
  2. Рельеф по кускам вокруг игрока, с уровнями детализации, с замером на телефоне. (переходит из «Мир» и «Арт»)
  3. Демо в мире: появляешься в доступном месте выбранного региона и ходишь по Кинланду с игровой камерой; равнина убирается.
  4. Деревья, трава и скалы мира в игре (все семь пород), в стиле v5.
  5. Строить в мире: сетка на настоящем рельефе и выравнивание круглой кистью под фундамент. (выравнивание переходит из «Копать»)
  6. Собираемое берётся с места: ветки в лесу, кремень в известняке, камень на склонах и в реках, волокно на полянах и у берегов.
  7. Сервер знает мир: тот же сид, проверяет позиции и стройки по рельефу и хранит только изменённое по кускам.
  8. Дуэль в мире: сражаться где угодно, без отдельной сцены.
  9. Полная проверка и публикация.

Этап B · Снаряжение и переноска переупорядочен — уже существующий, но вот это сначала:

  1. Предметы на земле (уже в роадмапе).
  2. Настоящая рубка деревьев мира (падает, остаётся пень, отрастает), распил и раскалывание.
  3. Стройки из того, что несёшь: волшебный запас убирается; «+ Материалы» теперь наполняет тестовый сундук.
  4. Инвентарь и сбор через сервер (новое): в сети то, что ты несёшь, хранит сервер.
  5. Несомое видно на персонаже, и анимации переноски.
  6. Волокуша и тачка. Проверка.

Этап C · Станки и ремесло — уже существующий, как есть (N0 и N1), и через сервер.

Этап D · Выживание предстоит спланировать — жажда (пить из реки), голод, холод и усталость с предупреждениями; костёр; шалаш и привязанная кровать; смерть с половиной вещей на разграбление; день 2 ч и ночь 1 ч; зайцы для охоты и жарки (минимум фауны, которого требует первый день).

Цель фазы 1: вы вдвоём проходите весь первый день в Кинланде, в сети, с телефона и ПК. Это большая точка проверки.

Фаза 2 — Чтобы держалось: сервер и аккаунты

  • Сервер и аккаунты: регистрация, создание персонажа (облик, пол и регион), постоянный мир без перезапусков, сохранения с версией, хостинг на твой выбор.
  • Администрирование и безопасность (базовое, чтобы открыть игру для большего числа людей): журналы, права администратора, обнаружение читов, баны.
  • Земли и межевой камень (первое из этапа земель): заявить участок, радиус исключения, содержание и обветшание. Это то, что защищает построенное, пока тебя нет.

Фаза 3 — Наполнить мир (в порядке GDD)

  • Копать и добывать в мире, со слоями и жилами карты (то, что осталось от этапа, без выравнивания). Предложение: чтобы его могли вести и дорожки.
  • Мир, вторая часть: вода вблизи с меандрами и бродами, плавание, берега рек и побережья по породе, мосты, названные округа, протоптанные дороги, климат и собственный стиль каждого региона.
  • Дуэль, вторая часть: одна таблица брони, дуэль с тем, что надето и в руках, удары в пяти направлениях.
  • Фауна и охота · Ферма и времена года · Осада, огонь и содержание · PvP и защита офлайн · Семьи, вассалитет и союзы · Экономика и бродячие NPC · Лошади · Верхом и дальний бой · Мореплавание · Картография.
  • Больше деталей: то, что осталось (декор, а каменные стены с краном — когда дойдёт до N3).

Параллельно всё время: арт

Переделанные бороды и плащ, босые ноги, настройка одежды (краски, герб), уровни детализации персонажа, 39 дополнительных анимаций, доводка рук и ран. Эта работа не пересекается с остальным, и её может вести постоянная дорожка.

8. Порядок работы

9. Что решил valravnx (29 окт)

  1. Новый порядок, как есть: фаза 0, фаза 1 (первый день в настоящем мире и вдвоём), фаза 2 (сервер и аккаунты), а затем остальное.
  2. Сайт меньше 1 ГБ: старые играбельные версии переходят в «релизы» GitHub, доступные для скачивания, ни одна не удаляется; на сайте остаются свежие, а старые скриншоты переделываются в меньшем размере. Релизы создаёт GitHub Action, потому что из сессий этого сделать нельзя.
  3. Облачный сервер — уже сейчас: valravnx создаёт аккаунт Hetzner по инструкции из репозитория, а чат проверяет всё вместе с ним.
  4. Техническое — дорожкам: копание и рельеф по кускам ведут дорожки; визуальное и творческое в мире остаётся в чате. Арт ведёт дорожка B, параллельно.