Грузоподъёмность фуры снижена с 15 до 4 т (FleetManager.CreateSpec). Одиночный заказ весит не больше 2,5 т, так что каждый заказ по-прежнему влезает в фуру, но сборный рейс из четырёх тяжёлых грузов теперь упрётся в перегруз. Подписи «Фура 15т», совет в итогах смены, тексты наставника, комментарии и таблица в GDD обновлены под 4 т. Улучшение «Большой кузов» в гараже по-прежнему добавляет 20% за уровень, то есть до 8 т на максимальном уровне. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AZVGWRMUgC4GyzL29yo1CQ |
||
|---|---|---|
| Assets | ||
| Docs | ||
| Packages | ||
| ProjectSettings | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| GDD.md | ||
| GEMINI.md | ||
| README.md | ||
🚛 Unity-Logist: Логистика Ростова-на-Дону (3D WebGL)
Репозиторий команды «Сеньор-курьеры» для кейса Банка «Центр-Инвест» — «Разработка игры» на Хакатоне «Осень 2026».
📌 Главное о проекте
- Профессия: Транспортный и городской логист (Supply Chain & Fleet Manager).
- Сеттинг: Точная 3D-карта Ростова-на-Дону со спутниковой фотоподложкой, реальными районами (Центр, Нахичевань, СЖМ, ЗЖМ, Сельмаш, Левбердон, Военвед), знаковыми 3D-зданиями (Манеж ДГТУ, Банк «Центр-Инвест», Ростов Арена, Вокзал, ЮФУ) и дорожным графом.
- Движок:
Unity 6 (6000.6.0f1)· Universal Render Pipeline (URP). - Целевая платформа: Unity WebGL (запуск прямо в браузере без регистрации, вход только по никнейму).
📚 Документация в репозитории
- 📄 GDD.md — полный Game Design Document: игровой цикл, механики логистики, экономика, 3 уровня сложности, система сохранения, архитектура 3D-карты Ростова и пошаговый план сборки MVP.
- 🧠 AGENTS.md — память проекта для ИИ-ассистентов (Antigravity / Cursor / Claude): все требования кейса, ответы менторов из чата, тайминги чекпоинтов и правила сборки под WebGL.
- 📑 Docs/Case_CenterInvest_GameDev.pdf — официальная презентация кейса от Банка «Центр-Инвест».
🔗 Важные ссылки
- 🌐 Играть в браузере (Unity WebGL, HTTPS): https://176-124-223-140.sslip.io/ (редирект с
http://176.124.223.140/) - 📦 Git-репозиторий (Forgejo): https://git.bebrik.xyz/Dan4ick/Unity-Logist.git
- Чат с менторами кейса (Telegram): https://t.me/+EZEEycjxS1BmYzIy
- Вечерний онлайн-чекпоинт (24 октября, 20:00 МСК): https://telemost.yandex.ru/j/1174921395
- Личный кабинет хакатона: https://lk.hack-rnd.ru
✅ Что реализовано в проекте (Статус сборки)
- Чистая векторная 3D-карта Ростова-на-Дону в стиле Mini Motorways / 2GIS (
Assets/Scripts/Map3D/SatelliteTileLoader.cs,Assets/StreamingAssets/MapTiles/rostov_satellite_hd.png):- Точная геопривязка (
47.18°..47.32° N,39.58°..39.85° E): русло реки Дон, Зелёный остров, Гребной канал и река Темерник 1:1 совпадают с 3 мостами (Западный, Темерницкий, Ворошиловский).
- Точная геопривязка (
- 536 3D-зданий по 8 районам и 12 3D-достопримечательностей Ростова (
BuildingExtruder.cs,Landmark3DBuilder.cs,rostov_buildings.json):- Строгая геометрическая фильтрация: 0 зданий в реке Дон и 0 зданий на проезжей части.
- Батчинг мешей по районам (
Mesh.CombineMeshes) + динамическое отсечение вне камеры (CameraFrustumOptimizer.cs) для стабильных 60 FPS в WebGL.
- Реальная дорожная сеть Ростова-на-Дону (52 узла, 88 направленных сегментов) (
RoadGraph.cs,RoadGraphData.cs,RoadVisualizer3D.cs,rostov_road_graph.json):- Большая Садовая, Пушкинская, Красноармейская, Будённовский, Ворошиловский, Соколова, Театральный, Нагибина, Стачки, Малиновского, Шолохова, 3 моста через Дон и Левбердон.
- Поиск пути
A*с учётом весов пробок, кризисных перекрытий мостов (TrafficEventManager.cs) и перестроением маршрутов на лету.
- Полная видимость 3D-мира и интерфейса прямо в Edit Mode (
#Sceneи#Game) (SceneSetupBuilder.cs,GameManager.cs):- Вся 3D-карта Ростова, кварталы, дороги, мосты и грузовики сохранены прямо в
Assets/Scenes/MainGame.unityи видны в редакторе без запуска Play Mode (в окне#Scene2D-канвас автоматически скрыт черезSceneVisibilityManager, чтобы не перекрывать 3D-город).
- Вся 3D-карта Ростова, кварталы, дороги, мосты и грузовики сохранены прямо в
- Чёткий Retina UI (
pixelPerfect = true), кириллический шрифтInterдля WebGL и 5-шаговое обучение (UITheme.cs,MentorDialogUI.cs,LoginNicknameUI.cs,ShiftReportUI.cs,Assets/Resources/Fonts/LogistFont.ttf):- Встроенный шрифт
LogistFont.ttf(Inter) обеспечивает 100% отображение русской кириллицы, знака₽и спецсимволов в браузере (WebAssembly). - Интерактивное 5-шаговое обучение профессии логиста (выбор машины под груз, рефрижераторы
-18°C, SLA, сборные рейсы LTL, объезд пробок) и «Справочник логиста» (? Учебник).
- Встроенный шрифт
- Обе задачи со звёздочкой:
- 3 уровня сложности карьеры: 1. Стажёр-логист (Центр и Нахичевань), 2. Опытный логист (Весь Ростов), 3. Директор логистики (Час пик и ЧП).
- Сохранение прогресса по никнейму без регистрации (
SaveSystem.cs): бюджет, открытые уровни, прокачка автопарка в гараже, рекорды SLA, экспорт/импорт JSON-кода сохранения.
🛠 Как запустить проект
- Клонируйте репозиторий:
git clone https://git.bebrik.xyz/Dan4ick/Unity-Logist.git - Откройте папку проекта в Unity Hub (версия редактора:
6000.6.0f1с установленным модулем WebGL Build Support). - Откройте сцену
Assets/Scenes/MainGame.unity(или выберите в верхнем меню UnityLogist -> Build MainGame Scene & Prefabs/Logist -> Build WebGL Release).
Управление маршрутами
- Выберите заказы, машину и нажмите «Отправить». Для погрузки и доставки машина посетит обязательные точки.
- Выберите машину в автопарке и нажмите «Построить маршрут» справа. Кнопка «Маршрут» на занятой машине также открывает планирование.
- Нажимайте на узлы карты: до шести промежуточных точек, в выбранном порядке. Предпросмотр показывает путь, оставшееся расстояние, игровое время, стоимость топлива и риск опоздания. Во время редактирования смена стоит на паузе.
- «Применить» сохраняет путь. «Отмена» / Escape возвращает прежний маршрут и скорость симуляции. «Авто» убирает ручные точки; без заказов ручной путь позволяет перегнать машину к другому складу.
Закрытые дороги отмечены красной полосой, заграждениями и надписью. Нажатие на карточку дорожного события переносит камеру к участку. Машины объезжают перекрытия; при отсутствии пути ждут открытия, затем повторяют поиск. Зелёный цвет обозначает свободную дорогу, жёлтый — пробку. Ориентиры и подсказки разворачиваются по кнопке справа.
Сохранённая PNG-подложка MapTiles/rostov_satellite_hd.png по умолчанию не заменяет процедурную векторную карту: контур воды, рельеф и дороги должны строиться по общей геометрии. SatelliteTileLoader.useGeoreferencedPhoto следует включать только после замены изображения на подложку с границами RostovGeoBounds.
Проверка и сборка
В Unity: Logist → Validate Roads and Route Planning проверяет связность графа, маршруты при перекрытии каждого моста, дороги вдоль берега, порядок ручных точек, обязательные доставки, ожидание открытия и сохранение прежнего пути при ошибке редактирования. Проверяются и JSON, и встроенный каталог, используемый в WebGL.
Logist → Validate and Build WebGL выполняет проверки и собирает браузерную версию в Builds/WebGL. Папку сборки нужно отдавать через HTTP-сервер с настройками сжатия Unity WebGL.
Локальный запуск готовой сборки: python3 scripts/serve_webgl.py, затем откройте localhost:8080. Сервер выставляет MIME-типы WebAssembly и заголовки сжатия; достаточно стандартного Python 3. Шаблон Assets/WebGLTemplates/Logist занимает всё окно браузера, чтобы карта и текст интерфейса не сжимались в стандартное окно Unity.
Для WebGL в Assets/Resources включены общий шрифт Inter с кириллицей (Fonts/LogistFont.ttf) и материалы со ссылками на используемые URP-шейдеры. Assets/link.xml сохраняет коллайдеры для процедурных примитивов. Эти ресурсы нужны и при программном создании сцены: без них оптимизация браузерной сборки удаляет необходимые данные.