5GOR — стилизованный low-poly open-world драйв-симулятор такси в Пятигорске, перенесённый с Three.js на Godot 4.7.
Вся геометрия, текстуры, эффекты и звук игры генерируются полностью процедурно — в проекте нет внешних 3D-моделей или аудиосэмплов. При этом город остаётся узнаваемым курортным Пятигорском со всеми ключевыми достопримечательностями и атмосферой.
- Реалистичная топография: городская сетка 9×9 улиц, гора Машук с серпантином до вершины, 8 районов (Центр, Курортный, Привокзальный, Провал, Рынок «Лира», Санатории, Машук, Вокзал).
- 14 уникальных достопримечательностей: монумент Орла, озеро Провал, парк Цветник, беседка «Эолова арфа», грот Лермонтова, телебашня, пятигорский трамвай с подвижным составом и др.
- Динамический суточный цикл и погода: процедурное небо
SkyRig, восходы и закаты, ночная подсветка окон и фонарей, плотный туман и дождь на GPUParticles3D.
- Умный трафик: 20 типов автомобилей, движение по полосам, соблюдение фаз светофоров и приоритетов на перекрёстках.
- Пешеходы и фауна: 13 архетипов жителей и курортников плюс собаки и кошки с навигацией по тротуарам и реакцией на окружающий мир.
- Полиция и погони: патрули фиксируют нарушения (проезд на красный, превышение скорости, наезды), объявляют розыск (1–5 звёзд) и организуют погоню с перехватом.
- Работа в такси: 8 типов заказов (эконом, комфорт, доставка, срочные, экскурсионные туры), живые реплики пассажиров, чаевые и рейтинг.
- Аркадная физика: кинематическая модель управления 1:1, дрифт, заносы, опасные обгоны (near-miss), система серий и комбо стиля.
- Пеший режим: возможность выйти из машины, бегать, прыгать, драться и взаимодействовать с окружающими.
- Гараж и тюнинг: покупка 7 автомобилей, 6 направлений апгрейда (двигатель, тормоза, управляемость, бак, броня, кузов), покраска, диски, спойлеры, обвесы, декали, мойка и ремонт.
- 3 слота сохранения: независимые профили с превью в главном меню, автосейв каждые 30 секунд и отдельное хранилище достижений (29 ачивок).
- 7 шин микшера (
Master,Music,SFX,Engine,Ambient,UI,Voice) с аппаратным лимитером, ревербом и даккингом. - Синтез 53 звуковых эффектов кодом (
AudioStreamWAV) с детерминированным кэшированием. - 3D-пул позиционного звука для гудков машин, сирен и шагов.
- 6 авторских радиостанций (Пятигорск FM, Машук Synth 80s, Кавказ Beat, Бештау Rock & Drive, Кавказ Шансон, Ночной Курорт).
| Действие | Клавиатура / Мышь | Геймпад |
|---|---|---|
| Газ / Тормоз | W / S или ↑ / ↓ |
RT / LT или Левый стик Y |
| Руль | A / D или ← / → |
Левый стик X |
| Ручной тормоз | Space |
Кнопка A |
| Выйти / Сесть в авто | E |
Кнопка X |
| Клаксон | H |
Кнопка B |
| Фары | L |
D-Pad Вверх |
| Карта города | M |
D-Pad Вправо |
| Радио (след. станция) | R |
D-Pad Влево |
| Пауза / Меню | Escape / P |
Start |
| Удар (пеший режим) | ЛКМ / F |
Кнопка B |
| Вращение камеры | Зажатая ЛКМ / ПКМ |
Правый стик |
На мобильных устройствах поддерживается экранный виртуальный джойстик.
- Godot Engine 4.7+ (поддерживается стандартный билд без C# / .NET).
- Клонируйте репозиторий:
git clone https://github.com/emaxe/5gor-new.git cd 5gor-new - Откройте проект в Godot 4.7:
- В менеджере проектов выберите Import и укажите файл
project.godot.
- В менеджере проектов выберите Import и укажите файл
- Запустите главную сцену (
F5илиmain.tscn).
В проекте используется gdUnit4 для автоматизированного тестирования архитектуры, физики и игровой логики.
./tools/run_tests.shВсе 308 тестов (31 тестовый набор) выполняются в headless-режиме без графического окна.
./tools/capture_style.shВсе игровые ресурсы .tres компилируются скриптами из эталонных конфигураций:
# 1. Дамп данных оригинальной игры
node tools/dump_data.mjs
# 2. Импорт в Godot-ресурсы
godot --headless -s tools/import_json.gd5gor-new/
├── autoload/ # Глобальные синглтоны (Bus, Db, Prefs, Game, SaveManager, Audio, Inp, Dir)
├── schema/ # Определения Resource-классов (машины, заказы, районы, звуки, ачивки)
├── data/ # Сгенерированные типизированные .tres ресурсы
├── core/ # Низкоуровневые утилиты: MeshBuilder, SpatialHash2D, SeededRng, MathUtils
├── world/ # Генерация мира: CityBuilder, дорожная сетка, здания, пропсы, SkyRig, погода
├── gameplay/ # Игровая логика: заказы, полиция, GPS, гараж, стиль (juice), ачивки
├── vehicles/ # Машина игрока: кинематическая физика, CarMeshBuilder, свет, коллизии
├── peds/ # Пешеходы: PedManager, дорожный граф пешеходов, модель игрока пешком
├── audio/ # Синтезатор звуков (SfxSynth), генератор радио, шины, звуки двигателя
├── ui/ # HUD, миникарта, экраны (MainMenu, Pause, Garage, Settings, Map, ShiftEnd)
├── tools/ # Утилиты конвейера данных, съёмщик кадров, прогон тестов
└── tests/ # Unit- и интеграционные тесты (gdUnit4), тестовые сцены-полигоны
- Архитектурные правила и соглашения описаны в
AGENTS.md. - Детальный план этапов реализации зафиксирован в
docs/plans/init/plan.md. - История изменений проекта ведётся в
CHANGELOG.md.