Любой большой проект можно разбить на составные части. Наш проект не исключение, далее лишь некоторые части, которые сразу приходят в голову - можно браться за любую часть и делать! И даже предлагать свои под-проекты! Или хотя бы идеи, даже если это явно неприоритетные идеи
Чтобы эффективно взаимодействовать с игрой, надо досконально изучить ее устройство. Из чего она сделана? Как устроены исходные файлы? Как текстуры накладываются друг на друга? По каким принципам рождаются пешеходы? Как авторы расставляли лавочки со старушками на них?
Лично я сам занимаюсь этим "под-проектом", ведь без досконального знания игры я ничего не сделаю! Что мне сейчас надо:
- Написать пакеры-анпакеры IMG / TXD / DFF-файлов, получить знания о устройстве этих файлов
-
- Написать пакер TXD
-
- Написать распаковщик DFF -> OBJ с текстурами
-
- Написать генератор DFF с плоскостями GoogleMaps
-
- Сгенерировать валидный water.dat с корректной водой
-
- Разобраться с бинарными IPL (распаковать их)
- Сделать экспорт всего мира в 3Dsmax и посмотреть глазами на структуру чанков, текстур и вообще устройства.
- Сделать экспорт дорожного трафика и траекторий пешеходов в 3dsmax и увидеть живой город? Это поможет нам точнее узнать устройство города и его жизни.
- Если экспорт в 3DSMAX слишком сложен, то можно нарисовать простую тулу на JS, которая просто будет рисовать бегающие кружочки, символизирующие жителей и квадратики, символизирующие автомобили. Главное научиться читать и писать данные о дорожном трафике, пешеходах, работе светофоров и жизни города вообще.
- Разобраться с особенностями игры и игрового движка
-
- Загрузить свою геометрию без modloader, видимо использовав stream*.ipl
-
- Сделать карту файлов, которые референсятся прямо из кода (EXE-файла)
- OpenStreetMaps для дорог и домиков? Как его скачать и обработать?
- Google StreetView для панорам и текстур? Как его скачать и обработать?
- Данные высот STRM1 или aw3d30? Как их скачать и подготовить к работе?
Нам нужен некоторый промежуточный формат данных, который бы было легко редактировать, легко визуализировать, работа с которым была бы простой и не требовала большого количества ресурсов. В идеале, надо изобрести некоторый текстовый формат, который бы описывал весь мир. Очевидно, что он должен описывать дороги и домики, менее очевидно, что надо описывать дорожные знаки и дорожную разметку, почти совсем не очевидно, что в этом же формате надо описать даже расстановку лавочек и старушек на них, типы персонажей и их одежду. Возможно, даже рекламу нашего мира, известные бренды и блюда в кафешках.
- Попробовать сделать из игровых материалов такие же материалы, как у нас в реальном мире
-
- Данные высоты в низком разрешении
-
- Снимки "со спутника" с искажениями перспективы и сделать игровой GoogleMaps
-
- Сделать панорамы так, словно мы бы их снимали в реальной жизни из самой игры
-
- Векторные данные дорог, заборов, поребриков и прочей дорожной метадаты
-
- Векторные периметры домов, возможно с использованием тегов OSM Simple 3D Buildings
- Попробовать собрать наши данные обратно в файлы игры. В те самые, которые мы только что распаковывали в свой формат
-
- Сделать хотя бы узнаваемо, чтобы это было похоже на оригинальную игру
-
- Сделать неотличимо от оригинальной игры, чтобы после двойной конвертации данных, мы получили пиксель-в-пиксель идентичные игры
Процесс этот итеративный, по всей видимости можно все пункты выполнять много раз, пока результат не будет устраивать. Результатом является формат данных, абсолютно полно описывающий мир игры.
- Считать дороги из OSM и засунуть в дорожный граф своего формата
- Считать полигончики из OSM и засунуть в свой формат
- Расставить этажность, ручками или специализированным тулом
- Сделать простой визуализатор своего города в 3dsmax
- Очистить карту и родиться на плоскости
- Залить в игру карту Google Maps с требуемой местностью
- Залить в игру данные STRM с данными о рельефе
- Перенести геометрию из своего формата, включая дороги и дома
- Расставить по городу пожарные части, полицию, больницы
- Будем рисовать сами?
- Будем вытаскивать текстуры из панорам?
- Распакуем игру Workers and Resources: Soviet Republic?
- Взять ассеты из CitySkylines?
- Сделать ультимативный репак игры в 50 мегабайт
- Пережать все текстуры игры, добавив в них отладочную сетку (checkerboard) и названия файлов
- Сделать тул для расстановки освещения (???), генерация столбов освещения
- Сделать тул для рисования маршрутов трафика, поездов и педов
- Сделать тул(ы) для рисования биомов, травы, мусора в городе
- Или ты можешь предложить свои услуги по написанию недостающего софта? Хороших тулов никогда много не бывает!
- Может быть взять генератор городов CityEngine?
- Может рисовать город в специальном софте, таком как InfraWorks?
- Может быть использовать бесплатные утилиты, такие как Blender-OSM и Blender-GIS?
- Может быть стоит проверять исходные источники данных в QGIS?
- Может быть сначала нарисовать город в 3DS MAX? Или хотя бы визуализировать его там перед засовыванием в игру?
- Может быть сгенерить всю растительность самостоятельно в SpeedTree?
- Может быть сгенерить своих педов в MetaHuman?
- Может быть у тебя есть самодельный софт, который пригодится в проекте?
- Или ты можешь предложить свои услуги по написанию недостающего софта? Хороших тулов никогда много не бывает!
- Для 3дсмакс есть такой краткий туториал интересный: https://www.youtube.com/watch?v=OjHcbTLMmTs
- Для скетчапа есть такой, но там автор походу: https://youtu.be/FbHjIfgthYc
- https://www.youtube.com/watch?v=z2_SODMTwhM - очень красивый генератор Recreating NYC with CityBLD | NEW UE5 Procedural City Generator
- https://www.youtube.com/watch?v=31DplKsnjWM - как из гуглопанорам сделать свои модельки в несколько кликов (From Google Maps to Blender, my way)
- https://www.youtube.com/watch?v=Jhc0dzImJI8 - моделирование целого города по фоткам (I made long term solution for Buildings)
- https://habr.com/ru/articles/713984/ - первая открытая 3D модель Зеленограда (фотограмметрия из коптерного видео)
- ГОСТ 33475-2015 Дороги автомобильные общего пользования. ГЕОМЕТРИЧЕСКИЕ ЭЛЕМЕНТЫ. Технические требования
- ГОСТ 32830-2014 Дороги автомобильные общего пользования. Материалы для дорожной разметки. Технические требования
- ГОСТ 32848-2014 Дороги автомобильные общего пользования. Изделия для дорожной разметки. Технические требования
- ГОСТ 32946-2014 Дороги автомобильные общего пользования. Знаки дорожные. Методы контроля
- ГОСТ 32947-2014 Опоры стационарного электрического освещения
- ГОСТ 32952-2014 Дороги автомобильные общего пользования. Разметка дорожная. Методы контроля
- ГОСТ 32953-2014 Дороги автомобильные общего пользования. Разметка дорожная. Технические требования. Дата актуализации: 01.01.2021
- ГОСТ Р 51256-2018 Технические средства организации дорожного движения. РАЗМЕТКА ДОРОЖНАЯ. Классификация. Технические требования
- ГОСТ Р 58653-2019 Дороги автомобильные общего пользования. Пересечения и примыкания. Технические требования
Выбирай! Присоединяйся! Создавай!