Хочу программировать. С чего все началось?
Когда-то под конец далекого 2014 года я открыл для себя мир моддинга для игр Farming Simulator. Было чертовски интересно, как устроены моды, как их можно перетащить из одной версии игры в другую. И, конечно, как самому сделать свою модификацию какого-нибудь отечественного трактора. Со временем стали поддаваться разгадке секреты XML файлов, отвечающих за оживление 3D модели в игре. Позже и сами 3D модели перестали быть неприступными. На все ушло много времени, не один год. В итоге стали ясны принципы работы всего этого удовольствия.
Моя первая модель для Farming Simulator 15
И ее другой вариант в Farming Simulator 17
Потом был период затишья, когда я вообще все забросил. Больше двух лет ничего из этого не касался. Но любопытство взяло верх. И я пошел изучать вышедшую в 2018 году Farming Simulator 19. В ней были использованы иные принципы текстурирования моделей, основанные на технологиях UDIM и PBR. И именно в FS19 мододелы начали создавать реально классные модели. Мои и рядом с ними не валялись.
ХТЗ-17221 для FS19 от "РусАгроТех"
Оказалось, что 3D модели из игры Farming Simulator 19 можно открыть в более ранней версии, в FS17. Раньше такой возможности (например из FS17 в FS15) не было. Но вот загвоздка. Шейдер, который отвечает за текстурирование модели, поддерживается только 19-й версией игры. Получается, что модель открыть можно, но без текстур и материалов. Несправедливо.
Решив, что можно просто посмотреть, я открыл в двух текстовых редакторах рядом шейдеры техники из FS17 и FS19. Не понимая, как они устроены, пошел искать закономерности, сходства и различия.
Часть того, что я увидел, открыв XML файл шейдера для FS19
И со временем, сравнивая и пытаясь изучать их устройство, а так же с помощью безотказного метода проб и ошибок, получилось адаптировать шейдер от FS19 для FS17. Соответственно, и модель полноценно загрузилась в FS17. Оставалось только адаптировать конфигурационные XML файлы под другую версию игры. С этим особых проблем не возникло.
ХТЗ-17221 из FS19, загруженный в FS17
А раз уж 3D модель легко перетаскивается между разными версиями игры, то надо найти способ и конфиги так же легко перетащить. Но нет, они неслабо отличаются. Приходится проделать много ручной работы. Но за работу модели в игре отвечают XML файлы. А они довольно легко поддаются модификациям с помощью различных языков программирования. Что ж, решил я для себя, надо искать этот легкий способ. Когда-то довольно давно я пытался для себя поучить основы JavaScript. Вспомнив об этом, пошел искать по сети, как связать JS и XML. Так я погряз в трясине программирования. Без знаний и навыков...
Первая попытка реализовать конвертер XML файлов на основе веб приложения.
Забегая вперед, отмечу, что веб версия не получила развития. Я от нее отказался в пользу версии для ПК...
Первый пост. И получился длинным. Укажите, если я здесь что-то неправильно оформил.
Продолжение следует...