NokiMo
DogmaMods
DogmaMods

patreon


О следующем проекте

Есть важный разговор по поводу следующего проекта.

Мне нужно узнать, как много из вас до сих пор пользуется LE версией игры, и если пользуетесь, то готовы ли вы перейти на SE\AE версию, когда в будущем я выпущу первую часть следующего проекта (это будет не скоро, но мне важно уже знать сейчас).

Дело вот в чем: несколько месяцев назад я впервые решил попробовать создать SKSE плагин. С++ я не знаю, по этому никогда и не пробовал туда соваться. Но сейчас есть нейросети, которые уже очень хороши в кодировании, и могут быть хорошим помощником. Было просто интересно, как это работает, ведь за столько лет моддинга Skryim я ни разу даже не пытался. После долгих разбирательств с технической частью, у меня получилось создать свой первый skse dll плагин, из которого я мог в игре дергать функции, чему я был бесконечно рад :)

На мое удивление, оказалось, что SKSE предлагает почти полный аналог API papyrus, конечно, с синтаксическими особенностями С++(все эти ссылки, указатели, шаблоны и тд.) но сам вызов функций вполне привычен и интуитивно понятен. По сути, могу там писать аналог папирус функций почти для любых задач. Конечно, с хорошим знанием языка и Reverse Engineering там открываются куда большие возможности, но даже без этого можно извлекать огромную пользу, ведь функции выполняются на много порядков быстрее, и можно перекладывать на плечи SKSE тяжелые инструкции, тем самым разгружая папирус и ускоряя выполнения критически важных участков различных механик. Особенно это важно в SE версии, где папирус в сотни раз медленнее, чем в LE, из-за того, что ему выделено значительно меньше процессорного времени на кадр.

К тому же, есть много функций, которым попросту нет аналогов в papyrus. Пара примеров, из того что я уже обнаружил:

Я прикреплю ссылку на пару видео, чтобы показать о чем я. В одном из них я показываю различные эффекты скейла. Для наглядности я увеличиваю персонажа значительно, в реальных задачах персонаж будет увеличиваться обычно с 1.0 до 1.03 что за 1 секунду будет вообще не заметно для глаза, буду использовать либо линейный эффект, либо с плавным затуханием. А также показываю возможности управления позицией персонажами, благодаря которой я смогу делать очень плавные входы и выходы из анимации. Скорость и эффекты можно будет легко настраивать.

Я очень надеялся, что там можно будет убрать эту блокировку показа субтитров в сценах у главного персонажа, чтобы избавить себя от надобности в дополнительном персонаже-спикере, который только место в сцене занимает и мне надо следить чтобы он всегда был рядом, вручную обновляя его в нужных местах, но для этого моих знаний пока что маловато. Это такая серьезная задача на будущее.

Я уже переписал себе логера на базе SKSE, потому что мой работал в 5 раз медленнее, чем нативных trace. И это могло стать проблемой во время отладки мини-игр, где счет на кадры. Я смог его расширить и сделать еще более удобным, помимо ключей добавил еще и уровни, и все работает по скорости базового. Я им в любом случае буду пользоваться, потому что это та вещь, которую в релиз мне не нужно добавлять, буду просто ставить заглушку.

Раньше SKSE требовало обновления плагина после выхода новой версии игры, что в первую очередь всегда убивало у меня желание попробовать, но сейчас это решено, как я понял, начиная с какой-то там версии dll-ка будет подходить к любой последующей.

В общем, это все только малая часть того, что я обнаружил, но наиболее значимая.

Естественно, когда я впервые понял, что это прямо супер крутой инструмент, который может позволить сделать мне по настоящему удобный инструментарий с возможностями, которых прежде не было, я полез искать SKSE для LE. Настроил его для работы, что тоже было не так просто, и тут случился облом. В LE версии вообще все по другому, и надо заново разбираться, а во-вторых, там нет и малой части тех функций, которые есть в commonlibSSE NG. Это совершенно разного уровня функционал. Я почему-то думал, что он одинаковый, но нет. Я не могу написать код на SE потом скопипастить его на LE и чтобы он работал, нет, там большинство вещей unknown и надо самому искать адреса в памяти, чего я делать не умею, а если бы и умел, полагаю, на это ушло бы очень много времени.

Так что варианта тут всего три:

Почему это важно именно сейчас: пока я работаю над ядром фреймоворка, я мог бы уже закладывать этот функционал в его основу, пока на относительно раннем этапе, чтобы потом не переделывать слишком много.

Но если кто-то не хочет, или не сможет перейти на SE, я тогда продолжу писать его на чистом папирусе, и не буду отказываться от LE. Это не станет проблемой для меня, я сам привык к LE версии, по разным причинам она мне нравится, я на ней 99% времени, только тестирую на SE. Так что если вам тоже по своим причинам нравится LE, и вы точно не перейдете на SE ни при каких обстоятельствах, не стесняйтесь голосовать за эту версию.

И как всегда, огромное спасибо за вашу поддержку!

Comments

I have been on LE for a decade and would probably continue on LE if given the choice. Reinstalling 1700 merged mods would not be fun

James

Just checked the concurrent player data of LE and SE. It's 700(LE) vs 15000 (SE/AE). Nobody plays on that thing anymore

oscartw


Related Creators