Log in

View Full Version : Cataclysm Engine Tweaks


Ten
06-12-2024, 12:20 PM
Всем, кто хотел сплендор-мод для Катаклизма – похоже, ваши мечты сбываются :)

Камрад ncblakely начал проект по тюнингу движка игры:

Cataclysm Engine Tweaks (https://github.com/ncblakely/CataclysmEngineTweaks/) [v0.10 (https://github.com/ncblakely/CataclysmEngineTweaks/releases/download/v0.10/cet_0.10.zip)]
Из текущих возможностей:

Выбор широкоформатных разрешений без твиков реестра.
Лод-мод.
Увеличение частоты пересчёта внутриигровой ситуации с 16 герц до 64-х (!!!).

Скачать готовый бинарник можно в релизах (https://github.com/ncblakely/CataclysmEngineTweaks/releases), на текущий момент это cet_0.10.zip. Распакуйте его в папку с игрой и запускайте cataclysm_loader.exe.

Pandorazero
06-12-2024, 07:35 PM
Видео демонстрация игры с большим FPS

Интро+катсцена https://www.youtube.com/watch?v=WesSkyiACpY
Игровой процесс https://www.youtube.com/watch?v=ltINFLNiCuw

https://private-user-images.githubusercontent.com/4529049/338837577-a8a97d71-01a8-48cc-8e22-cd200a6ab0b2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3Lm dpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgyMTMyMDgsIm5iZiI6MTcxODIxMjkwOCwicGF0aC I6Ii80NTI5MDQ5LzMzODgzNzU3Ny1hOGE5N2Q3MS0wMWE4LTQ4Y2MtOGUyMi1jZDIwMGE2YWIwYjIucG5nP1gtQW16LUFsZ29yaX RobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMiUyRnVzLW Vhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTJUMTcyMTQ4WiZYLUFtei1FeHBpcmVzPTMwMCZYLU Ftei1TaWduYXR1cmU9OTAzZThjM2UwNTE2YWI3Y2UwY2ExMDZmMmU0OTQxZGY5ODExYmRjOTc2NTU2N2NjODE0ZmQxZTZlYmY0ZD AxYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.-1MIwCYCJZNkB6AJPg2UThARXz9MNhF1T13_yTrPQVk

Ten
06-14-2024, 12:40 AM
Ну, FPS-ом это называть не совсем некорректно, потому что именно кадров там даже в FullHD будет наваливать под несколько сотен в секунду. Это именно частота обновления вселенной, внутриигровой, разумеется :) Киллер-фича на самом деле, т.к. позволяет сделать несколько рваные движения кораблей (на истребителях особо заметно) куда более плавными. Тут отдельно снимаю шляпу за полезность и объём работ – в Сплендоре я с этим вопросом малость подзастрял, поскольку частота – не переменная, а константа, стало быть патчить нужно каждый раз когда используется, т.е. дофига где (и всё равно где-то пропустил, похоже, т.к. спустя довольно короткое время крашится). Здесь пошли другим путём – написали на C++ и заинжектили в нужных местах, но трудоёмкость задачи и накал энтузиазма при её решении это никак не отменяет. Будем считать, что это мотивационное напутствие на доделать начатое :)

Добавлено через 6 минут
Необходимость совместимости с NT 4.0 для использования OpenGL там, похоже, пофиксили, а вот снятием ограничения в 32 МБ под память текстур (это всего 8 МБ палетизированных из более чем 60-ти), думаю, можно и поделиться...

Pandorazero
06-14-2024, 09:55 PM
v0.12 Latest (https://github.com/ncblakely/CataclysmEngineTweaks/releases)

Fix crashes when displaying certain effects at high tick rates (Somtaaw siege cannons, Beast missile corvette at 128+ FPS).
All currently known crashes are now fixed in 128 FPS mode. Still untested and may be less stable than 64 FPS.
High detail mode now removes all limitations on active effects.
Cinematic letterboxing now animates at the correct speed regardless of tick rate.
Added a shortcut for the /safeGL command line to the .ini.
--------------------------
v0.12 Последняя версия (https://github.com/ncblakely/CataclysmEngineTweaks/releases)

Исправлены сбои при отображении определенных эффектов на высоких частотах тика (осадные пушки Somtaaw, ракетный корвет Beast при 128+ FPS).
Все известные на данный момент сбои теперь исправлены в режиме 128 FPS. Пока не протестировано и может быть менее стабильным, чем 64 FPS.
Режим высокой детализации теперь снимает все ограничения на активные эффекты.
Кинематографический леттербокс теперь анимируется с правильной скоростью независимо от частоты тика.
Добавлен ярлык для командной строки /safeGL в .ini.

Ten
06-17-2024, 03:36 PM
Как оказалось, частоту обновления правил (https://github.com/GardensOfKadesh/Homeworld/commit/796bad79f19e4907926e8fbd9b17a8bbdc764c28) ещё Raphael Brune для своего проекта HW в браузере, причём совсем недавно – хоть за рубежом и не празднуют, будем считать, что это приятный сюрприз на 23-е февраля :) Оттуда этот UNIVERSE_WOODPECKER и перелетел к HWC.

Там в свежем релизе (0.13 (https://github.com/ncblakely/CataclysmEngineTweaks/releases/tag/v0.13)) ему немного хвост подправили, ну и включили гжель по умолчанию.

Добавлено через 5 минут
А, стоп, на 23-е был предыдущий фикс, для Launch Manager. Ну не важно, праздник должен быть :)

Лёшка
06-17-2024, 09:35 PM
Очень крутая вещь, респект создателям! У меня уже появилась идея как можно перепройти Катаклизм с челленджами. :) Главное дождаться окончательной стабильной версии и можно будет начинать.

Pandorazero
06-17-2024, 09:43 PM
Там в свежем релизе (0.13 (https://github.com/ncblakely/CataclysmEngineTweaks/releases/tag/v0.13)) ему немного хвост подправили, ну и включили гжель по умолчанию.

Мы с Tos сидели пол ночи тестировали это , он исправлял код а я проверял уже непосредственно в игре.
Я ему задал головную боль с этими следами , но он справился и сделал максимально похожим как в HW2.
Интересно то что все началось с моих не правильных выводов , мне показалось что в HWSDL следы работают лучше и я задал вопрос товарищу Tos , почему они работают хуже в его модификации HWC.
Он удивился и пошел проверять , но как оказалось что я ошибся и следы работали так же плохо в HWSDL :gigi:
Но это натолкнуло на правильные мысли при не правильном выводе моем, и он решил разобраться в этом , в итоге инверсионные следы улучшились :)

Ten
06-18-2024, 06:22 AM
Ну, кол-во сегментов шлейфа и их гранулярность легко настраиваются в shp-конфиге корабля, а время пересчёта не настраивается никакими скриптами – да и нельзя этого делать, иначе слетит сетевая. Хотя, если все цифры в игре завязаны на эти 16 тиков, пересчитывать их вручную тоже не айс. Думаю, Рафаэль подхватит этот фикс :)

Добавлено через 11 минут
Плохо только, что для сборки проекта нужна аж 2022-я студия – там и инжектируемая dll-ка весит почти как двиг игры целиком, и телеметрия во все поля. Причём, с учётом того, что парень работает в Microsoft, беседы на эту тему могут обернуться ему осложнениями на рабочем месте...

Evgeniy
11-03-2024, 03:03 PM
Утеря исходников Homeworld:Cataclysm настоящяя трагедия. Можно было бы вдохнуть в игру новую жизнь.

Fencer
11-04-2024, 12:52 AM
Я думаю, что можно из исходников HW собрать исходник HWC. Долго, кропотливо, но, тем не менее.

Evgeniy
11-04-2024, 10:49 AM
Именно это сделали разработчики ХВК. Силами энтузиастов возможно разве что добавить корабли из игры в открытый движок HomeworldSDL, что тоже непросто. Ещё больше возни будет с капитал шипами из-за их модулей и механик вроде инфекции, это уже слишком долго.

Evgeniy
11-10-2024, 07:30 PM
Разведчики Киита Сомтау на фоне Таиданского мазесшипа. И нет, это не банальная замена кораблей одного на другой, эти кораблики принадлежат полностью новой для ХВ1 фракции, реализованной путём изменения исходников движка.

Текстуры были утеряны при гиперпрыжке:) отключены из-за несоответствия форматов .lif в ХВ и ХВК.

Pandorazero
11-15-2024, 08:24 PM
Разведчики Киита Сомтау на фоне Таиданского мазесшипа. И нет, это не банальная замена кораблей одного на другой, эти кораблики принадлежат полностью новой для ХВ1 фракции, реализованной путём изменения исходников движка.

Текстуры были утеряны при гиперпрыжке:) отключены из-за несоответствия форматов .lif в ХВ и ХВК.

Можно по подробней ? Что именно делают программисты с SDL и какие задачи ?
Что это за версия игры и где взять :shuffle:

Evgeniy
11-15-2024, 09:25 PM
Можно по подробней ? Что именно делают программисты с SDL и какие задачи ?
Что это за версия игры и где взять :shuffle:

Это я развлекался на выходных модификацией открытого движка HomeworldSDL. Смог добавить в код движка полноценную новую фракцию и один её корабль - Recon.
Игра воспринимает её корректно, вся логика отрабатывает как надо.

К сожалению, процесс переноса кораблей из ХВК сложный и тащит за собой много проблем, не связанных только лишь с кодом. Я смог побороть всё, кроме форматов файлов текстур.

Pandorazero
11-16-2024, 12:49 AM
Это я развлекался на выходных модификацией открытого движка HomeworldSDL. Смог добавить в код движка полноценную новую фракцию и один её корабль - Recon.
Игра воспринимает её корректно, вся логика отрабатывает как надо.

К сожалению, процесс переноса кораблей из ХВК сложный и тащит за собой много проблем, не связанных только лишь с кодом. Я смог побороть всё, кроме форматов файлов текстур.

Любопытные эксперименты и хотелось подробней увидеть это , может отдельно тему сделаешь ? и там по обсуждаем что вообще происходит и как с этим бороться :)

Evgeniy
11-17-2024, 04:25 PM
Вряд ли есть смысл делать отдельную тему. Я ковыряю движок скорее в развлекательных и образовательных целях, времени на полноценную модификацию у меня не хватит.

Я таки понял в чём проблема при переносе кораблей с HWC. И она не в текстурах, с ними всё хорошо. Проблема в структуре файла .peo, который различается для ХВ1 и ХВК. Если я правильно понял, в заголовке файлов формата ХВК есть смещения в сравнении с такими же моделями в ХВ1. Движок получает неправильные смещения и просто валится при попытке чтения этих файлов.

Добавлено через 3 минуты
И это становится понятным при анализе заголовка файла PEO. Для ХВ1 его версия 0x402, а для ХВК 0x500

Pandorazero
11-17-2024, 06:08 PM
Вряд ли есть смысл делать отдельную тему. Я ковыряю движок скорее в развлекательных и образовательных целях, времени на полноценную модификацию у меня не хватит.

Я таки понял в чём проблема при переносе кораблей с HWC. И она не в текстурах, с ними всё хорошо. Проблема в структуре файла .peo, который различается для ХВ1 и ХВК. Если я правильно понял, в заголовке файлов формата ХВК есть смещения в сравнении с такими же моделями в ХВ1. Движок получает неправильные смещения и просто валится при попытке чтения этих файлов.

Добавлено через 3 минуты
И это становится понятным при анализе заголовка файла PEO. Для ХВ1 его версия 0x402, а для ХВК 0x500

Да различия есть в PEO , но это решается очень просто через hwse141.
Открываешь там модель и сохраняешь как для HW1 или HWC , проще говоря обычный перегон модели.
Могу это сделать в два клика если нужно !

Прикрепил уже перегонный в hw1 файл , пробуй.

Evgeniy
11-17-2024, 10:17 PM
Спасибо, попробую. Программа у меня есть, сейчас перекину модельку

Evgeniy
11-18-2024, 12:48 AM
Действительно работает, модель загрузилась без проблем.