Ночной двор · процедурный мир

Любой адрес — играбельный город

Мир не нарисован: он собирается на лету из реальной карты OpenStreetMap. Дома по настоящим контурам, улицы, рельеф, вывески магазинов и даже планировки квартир — всё генерируется процедурно. Поверх мира — игра на выживание, крафт и путешествия по трассе.

OpenStreetMap → 3D 1 сид = один и тот же мир 38 из 68 пунктов готово
Квартал, собранный процедурно из данных OpenStreetMap

Как это работает

От тега на карте — до шкафа в квартире

Ничего не хранится готовым. Игра берёт данные карты и достраивает всё остальное правилами и сидами, поэтому мир бесконечен, а у всех игроков он одинаков.

  1. 1

    Карта

    Из OpenStreetMap приходят контуры зданий, дороги, вода, парки, деревья, фонари, магазины. Рельеф — из карты высот.

  2. 2

    Дом

    По площади, форме и этажности подбирается типовая серия: хрущёвка, панелька, сталинка. Фасады, окна и крыша строятся по плану.

  3. 3

    Улица

    Дорога первична: здания сдвигаются, а не режут проезжую часть. Тротуары, зебры, мосты, парковки с машинами, вывески.

  4. 4

    Интерьер

    Войдёшь в дверь — квартира или магазин строятся из сида двери: планировка по серии, хозяева, мебель, лут.

  5. 5

    Мир вокруг

    Тайлы по 400 м подгружаются вокруг героя без швов. Изменения (обысканное, построенное) хранятся поверх основы.

Три режима в одном приложении

От одного дома — до города и игры

Всё работает на одном движке и общем наборе зданий. Переключатель «Мультяшный / Реалистичный» меняет только материалы и свет — геометрия не перестраивается.

Конструктор: пятиэтажный кирпичный дом с балконами

Конструктор домов

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

  • Библиотека готовых зданий
  • Экспорт в .glb для Blender
  • Один и тот же сид — одинаковый дом
Открыть конструктор →
Город: изометрический квартал, собранный из данных OpenStreetMap

Генератор города

Выбери участок на карте или введи адрес — и получи изометрическую сцену по реальным геоданным: дома, дороги, парки, вода, деревья.

  • Участок от сотен метров до района
  • Здания подбираются из библиотеки по тегам OSM
  • Время суток и рельеф
Построить город →
Игра: герой на улице города

Игра «Ночной двор»

Бесшовный город подгружается вокруг героя. Заходи в подъезды, обыскивай квартиры и магазины, ставь верстак, води машину по трассе Москва — Ярославль.

  • Клавиатура, мышь, планшет и телефон
  • Сохранения в браузере
  • Реальная погода и время суток
Играть →

Ритм игры

Один день — одна петля

Игровые сутки длятся 48 минут реального времени, игровой час — две минуты. Днём ты готовишься, ночью — держишься.

06:00–13:00

Вылазка

Разведка, лут в магазинах и квартирах, дорога на машине.

13:00–16:00

Стройка

Верстак, баррикады, забор, канава.

16:00–18:00

Сумерки

Вернуться, закрыть ворота, зажечь свет.

18:00–02:00

Ночь

Холод и темнота. В сети — набеги обращённых игроков.

02:00–06:00

Сон

В запертой квартире — восстановление сил.

Сон ускоряет время ×60, долгие действия — ×10.

Что есть и что дальше

Сделано 38 из 68

Полный список возможностей проекта: отмеченное уже работает в игре, пустые пункты — в плане. Компьютерных зомби в игре нет и воевать не нужно: зомби — только игроки в сетевой версии, а оборона пассивная.

сделано в планах

Процедурный мир

12 / 14

всё строится из карты на лету

  • Данные OpenStreetMap: здания, дороги, вода, зелень, рельсы, площади — любой адрес или точка на карте — сделано
  • Здание по реальному контуру, этажность и тип — из тегов карты — сделано
  • Подбор типовой серии: хрущёвка, панелька, сталинка, доходный дом, башня — по площади, форме и этажности — сделано
  • Части зданий из OSM: ярусы, купола, храмы — сделано
  • Рельеф из карты высот: дома, дороги, деревья и герой стоят на склоне — сделано
  • Деревья, фонари, скамейки, остановки, заборы, светофоры, зебры, мосты — сделано
  • Парковки с машинами, дорожки к подъездам, лодки у берегов — сделано
  • Вывески магазинов и заведений по тегам OSM, названия обобщённые — сделано
  • Бесшовный мир тайлами 400 м вокруг героя, дальний план, LOD — сделано
  • Детерминизм: один сид — одинаковые дом, квартира и мебель у всех игроков — сделано
  • Смена суток, свет окон и фонарей, мультяшный и реалистичный стили — сделано
  • Кэш карты и рельефа: на сервере и в браузере (до 600 МБ) — сделано
  • Сезоны: снег на крышах и дворах, короткий зимний день — в планах
  • Бесшовный интерьер, видимый с улицы — в планах

Конструктор домов

5 / 5

параметрическая сборка

  • Параметры: размеры, этажи, крыша, вход, балконы, палитра, покрытия фасада — сделано
  • Шаблоны: коробка, Г-образное, с двором, башня — сделано
  • Библиотека зданий, стартовый набор из 14 типовых домов — сделано
  • Экспорт в .glb для Blender и загрузка доработанной модели обратно — сделано
  • Генерация в Web Worker: интерфейс не подвисает — сделано

Герой и управление

4 / 7
  • Герой Adventurer с 24 анимациями, шаг и бег подстраиваются под скорость — сделано
  • Клавиатура и мышь с захватом курсора, камера от третьего лица — сделано
  • Планшет и телефон: джойстик, кнопки, щипок, «Весь экран», запуск с экрана «Домой» — сделано
  • Три слота сохранений в браузере с миграцией формата — сделано
  • Выбор из нескольких героев — в планах
  • Звук и музыка — в планах
  • Обучение для новичка — в планах

Выживание

5 / 10
  • Игровые сутки: 48 минут, сон ускоряет время ×60, действия ×10 — сделано
  • Шкалы: здоровье, сытость, вода, бодрость, дыхание, настроение, температура тела — сделано
  • Рюкзак по весу (норма 25 кг, предел 40), пояс на 4 слота, две руки, 50 предметов — сделано
  • Реальная погода из Open-Meteo: облака, дождь, снег, мокрый асфальт — сделано
  • Сон на базе: любая квартира становится базой — сделано
  • Правила шкал: голод, жажда, температура, бодрость и их последствия — в планах
  • Температура на улице и в доме: одежда, утепление, костёр, буржуйка — в планах
  • Болезни и ранения: бинты, перелом, кровотечение — в планах
  • Порча еды и пополнение лута в магазинах — в планах
  • Алкоголь: тепло на глаз, а на деле тело остывает быстрее — в планах

Дома, квартиры и магазины

7 / 7
  • Вход в подъезд по клавише F, лестница, квартиры на этаже — сделано
  • Планировка по серии: смежные комнаты, коммуналки, раздельный санузел, лоджии, балконы — сделано
  • Хозяева квартир: пенсионеры, семья, студент, охотник, дачники, врач, пара — сделано
  • Мебель Kenney и советская обстановка, расстановка с проверкой проходов — сделано
  • Свой зал у каждого типа заведения: универсам, аптека, хозтовары, кафе, поликлиника, почта и другие — сделано
  • Лут по сиду здания, обысканное запоминается; четверть квартир обыскана до тебя — сделано
  • Тела и сгоревшие машины на улицах — их можно обыскать — сделано

Крафт и база

2 / 6
  • Складной верстак: 22 кг, раскладывается за 30 игровых минут, берёт материалы из рюкзака, ящиков и багажника — сделано
  • Разбор мебели на доски, три рецепта, ящик для хранения, вещи на земле — сделано
  • Все рецепты верстака, модули (тиски, точило, сварка), износ инструментов — в планах
  • Баррикады на окна и щиты на двери с прочностью и ремонтом — в планах
  • Свет, генератор, склад базы, переезд на новую базу — в планах
  • Бочка для дождевой воды, костёр во дворе — в планах

Оборона двора

0 / 5

пассивная: строить и чинить, а не драться

  • Заборы и ворота между домами — в планах
  • Проверка замкнутости двора по сетке проходимости — в планах
  • Канавы: изменяемый рельеф, мостки, осыпание стенок — в планах
  • Колючая проволока и шумелки — в планах
  • Периметр района из нескольких дворов — в планах

Путешествия и машина

3 / 6
  • Своя машина у дороги, управление, багажник на 150 кг — сделано
  • Маршрут Москва — Ярославль, 263 км по настоящим дорогам — сделано
  • Коридор вдоль трассы собран заранее: города и посёлки без ожидания — сделано
  • Бензин на заправках и в чужих баках — в планах
  • Поломки, запчасти из автомагазинов, шум мотора — в планах
  • База в другом городе, сезонные переезды — в планах

Карта района

0 / 3
  • Карта кварталов по клавише M: база, дворы, обысканное, лут — в планах
  • Туман и свежесть сведений, разведка с крыш и в бинокль — в планах
  • Свои метки игрока — в планах

Сеть и игроки-зомби

0 / 5

компьютерных зомби нет — зомби только игроки

  • Кооператив на 2–8 человек в одном районе — в планах
  • Сервер-арбитр, мир как «основа + изменения по тайлам», сохранения на сервере — в планах
  • Заражение от укуса обращённого игрока — в планах
  • Обращение до рассвета, ночные набеги на чужие базы — в планах
  • Возрождение на базе без рюкзака, общая карта отряда — в планах

О проекте

Одна карта — два режима и игра

Игровой мир — не нарисованная карта, а процедурная сборка по данным OpenStreetMap: дома, дороги, парки, вода и вывески магазинов берутся из реальных тегов. Один и тот же сид даёт одинаковый дом, квартиру и расстановку мебели у всех игроков, поэтому хранить геометрию не нужно.

Мир хранится как «основа + изменения по тайлам 400 м» — так же, как будет на сервере сетевой версии. Обысканные шкафы, разложенный верстак и вещи на земле запоминаются по областям, а игра сохраняется в трёх слотах прямо в браузере.

Названия магазинов на вывесках обобщённые («Продукты», «Аптека»), без торговых сетей.

Этапы разработки

  1. 1. КаркасИнвентарь, шкалы, сутки, погода, верстак, сохраненияготово
  2. 2. ИнтерьерыКвартиры по сериям, хозяева, залы заведенийготово
  3. 3. ВыживаниеПравила шкал, лут, порча еды, болезнидальше
  4. 4. Дом и дворКрафт, баррикады, заборы, канавы, картав плане
  5. 5. Дорога и сетьЭкспедиции, кооператив, игроки-зомбив плане

Под капотом

three.jsReactViteNode / ExpressOpenStreetMapOpen-MeteoIndexedDBWebGL

Выходи из подъезда

Регистрации нет. Игра открывается в браузере на компьютере, планшете и телефоне.