🚧 WarCraft Data Sync – внутренний инструмент для управления разработкой проекта WarCraft Legends! ⚙️
В основе проблемы — горизонтальное масштабирование проекта. Создать Мод — это специфическое внедрение данных, еще специфика распространения мода и настройка, которая может отпугнуть новичков. Кампания не подходит, так как она не имеет мультиплеера. А работа с картами рано или поздно превратится в большую рутину из копи-пасты. Поэтому был разработан WarCraft Data Sync — инструмент, который связывает карты как единую базу данных, позволяя легко переключаться между ними и поддерживать индивидуальные данные в каждой. Это важно, так как каждая карта требует своего набора моделей, текстур и зависимостей и технических данных.
Этот внутренний инструмент критически важен для работы с множеством карт в проекте. Он синхронизирует данные между всеми дочерними проектами и позволяет быстро собирать их в карты, когда это необходимо. 🗺️💨 Переключение между картами стало проще, с индивидуальными и плавными обновлениями для каждой. 🔄
Кроме того, он очищает технические теги и удаляет ненужные ассеты, поддерживая каждую дочернюю карту легкой, чистой и оптимизированной. 🔥 Это ключевое для обеспечения стабильной работы проекта по мере его роста.
Без WarCraft Data Sync дальнейшее расширение WarCraft Legends просто НЕВОЗМОЖНО. ⚠️ Его минималистичный дизайн помогает сосредоточиться на главном и обеспечивает плавный и эффективный рост проекта. 🚀
WarCraft Data Sync выполняет несколько операций для каждого дочернего проекта:
- Анализ файловой структуры: Система анализирует файлы и директории в проекте, используя конфигурацию из .env и config/w3x_const.php.
- Фильтрация файлов: Определяет, какие файлы должны быть скопированы в зависимости от настроек.
- Автозамена: Применяет автозамены в соответствии с правилами из config/w3x_replace.php.
- Очищение тегов: Очищает технические теги из файла war3map.wts, если это предусмотрено.
- Свич: Параметр "Current Project" позволяет переключаться между дочерними проектами.
- Сборка архива: Все изменения собираются в архив .w3x, который включает все необходимые файлы и изменения.
Интсрумент построен как веб-сервер на яп PHP и фреймворке Laravel, поэтому имеет очень специфичный запуск. Подробнее о деплое и настройке - по github-ссылке
GitHub Repository:
Впринципе этот пост можно было бы и не выкладывать, но над этим инструментом я довольно долго промучался. Мне важно показать, что в целом WarCraft Legends живее всех живых и будет дальше развиваться, тут решена проблема горизонтального масштабирования. Впринципе задел есть для переработки под свой личный проект, а может кого-нибудь это натолкнет на свои идеи в рамках моддинга Варкрафт
Edited by AMark
Поэтому и прицепил решение не к родительскому проекту WarCraft 3, а именно к своему, т.к. вряд ли за пределами проекта это кому-то понадобится.
Edited by AMark
Edited by EugeAl
Технически возможно ли допилить сборщик кампаний, который будет разбирать w3n на папку с картами w3x и собирать обратно? С учётом общих файлов типа ассетов и юнитов. Что то вроде двухэтапной сборки - сначала собрать карты, только без ассетов, затем карты собрать в кампанию и подтянуть в кампанию ассеты
Edited by AMark
Edited by EugeAl
Edited by AMark
Edited by AMark
Как бы если мне рассматривать данный инструмент, то как парсинг данных из карты на свою вики, чтобы вручную не заполнять всё.
Или как 2-стороннее общение через некий файл на сервере, как источник.
И ограничение версии игры - 1.28+ (но это не точно, забыл где видел, может и нету)
Edited by AMark
Edited by EugeAl
Думал, вдруг с imp можно будет интегрировать. Но скорее нет, чем да. У меня цель - для трех ос собирать