История разработки.
Это будет длинный пост, поэтому стоит сказать сразу: на откровенно глупые вопросы отвечать я не буду. Читайте внимательно и смотрите видео.
Ниже, как можно понять по названию статьи, будет описана история разработки проекта. Не полностью, конечно же. С упущением многих деталей.. Да, на старом канале есть подобное видео и оно будет ниже в этом посте. Однако видео устаревшее и явно не передаёт всего, что происходило с проектом.
Для чего данный пост? Вспомнить с чего начинался проект, какие стадии он проходил. Познакомить поближе с проектом новых людей в группе, а тем, кто тут уже давно, напомнить с чего начинал и к чему пришёл.
Разработка начиналась без какой-либо цели создать проект и уж тем более не планировал сливать наработки в сеть. Игру просто дорабатывал под себя, дабы пройти с кайфом любимую игру. Но чем больше вносил изменений — тем больше хотелось добавить сверху того, что уже было. Кстати говоря, если бы не это, то ещё примерно в 2017м году мог быть релиз. Во всяком случае, первой версии. Уже на тот момент картинка была очень приятной, было введено достаточно много графических фич (в том числе и с правками движка, т.к. многие фичи переносились с движков ЧН/ЗП) и во время тестов не было замечено вылетов. Но желание добавить больше, сделать игру ещё лучше, дало о себе знать и я замахнулся добавить в игру PBR и переделать контент под него, хотя на тот момент знаний и опыта было крайне мало. Но об этом позже..
Одно из первых видео проекта, тесты эффектов шлема у костюмов. Сделано точно так же, как в сериях игр Метро. Используются специальные текстуры для искажения изображения, в следствии чего возникает эффект стекла от шлема. Плюсом идут отражения на стекле.
Когда полез в движок — поставил себе цель и, как можно понять из видео, добился её. А целью было перенести лучики с движка ЧН на движок ТЧ. Изначально в моде были лучики за авторством моддера K.D., но с моими глобальными доработками. Однако в ЧН/ЗП эта фича мне всегда больше нравилась, хоть и не считаю её идеальной. Есть что доработать и, может быть, когда-нибудь я доберусь и до них в своём проекте. Но пока оставляем в том виде, в котором они есть.
Эти две фичи я никогда не любил в играх. От части потому, что до этого в основном играл в онлайн игры и там они только мешали. Поэтому всегда отключал их.. Но для проекта решил добавить и на тот момент мне они действительно понравились в сталкере. Основой кода для этих фич стал код из шейдеров Чистого Неба, но пришлось хорошо доработать его, дабы получить на выходе необходимый результат. Кстати, забавный факт: на тот момент было несколько особо одарённых людей, которые в личку писали, мол я использую наработки другого моддера:
Так же довольно таки часто в личку писали с просьбами поделится наработками, слить билд проекта и тому подобное. По началу было весело читать подобное, но спустя какое-то время это уже раздражало)
По ходу разработки вводились не только глобальные правки, а ещё и мелкие улучшения. В те года достаточно часто играл в DayZ и мне очень нравилась игра своей атмосферой и механиками. Одну фичу я таки решил реализовать и в моде, а именно эффекты ранения. Суть в том, что чем меньше здоровья у ГГ — тем меньше насыщенность у изображения на экране. Следом за этой фичей была реализована раскачка оружия, как в LA. На тот момент это казалось крутой фичей, однако спустя время вижу, что не стоило тратить время на неё.
По истине крутой фичей стала реализация шейдера ПНВ, который по неосторожности был слит в сети и после использован в других модах, пусть и переделанный. Думаю все помнят, как выглядит ПНВ во всех 3х частях сталкера? Это было ужасно и местами толку от ПНВ не было и вовсе!
Ниже видео с тестами уже всех фич в сборе, которые были сделаны на тот момент, с основными ресурсами проекта (текстуры, модели и тд). Не тронутым был только арсенал, потому как я не мог определиться, использовать готовый оружейный мод или сделать всё самому. На тот момент картинка меня полностью устраивала и во многом я сильно кайфовал от проекта, но..
Но наступило время сомнительных фич! И если ddof во время перезарядки ещё неплохо смотрелся, то батарейки для фонарика — это что-то. Сейчас я не считаю хорошей данную фичу и вводить в проект после релиза я не буду, потому как это добавит гемора игроку и больше ничего. А ведь игра, в первую очередь должна приносить удовольствие.. Батарейки для фонарика — это как возможность делать сохранения только у костров. С технической точки зрения — фича ради фичи. С точки зрения геймплея — ненужное усложнение игры.
Следующая фича доставила хлопот, потому как с ней был связан один баг, который я не мог исправить долгое время. Намокание поверхностей прямиком с Чистого Неба. Перенести и заставить работать оказалось не сложным, хотя изначально мысли были обратные. Ведь изначально фича была сделана на дх10, а мой проект на то время разрабатывался на дх9, какой игра была в оригинале. Помню даже как мне кто-то писал, мол эта фича не может работать на дх9. Поэтому в ЧН и далее в ЗП намокание было сделано только на дх10 и дх11. Видео реализации на движке ТЧ с его дх9-рендером говорят обратное)
Эта фича — именно то, чего не хватало игре и после её ввода стало проводить время в игре куда приятнее. Более того, фича не просто была перенесена в ТЧ, она была доработана. Суть доработки заключалась в том, что намокшие поверхности высыхали не сразу. Какое-то время эффект сохранялся и постепенно сходил на нет. Это отлично видно на видео ниже.
Следующая фича так же связана с дождём и сейчас она есть в каждом втором моде. Но тогда проектов с такой фичей не было и смотрелось это очень свежо и придавало атмосферности игре. Фича — капли дождя на стекле от шлема. На момент реализации были учтены все необходимые моменты: в зданиях, под деревьями или вообще любым предметом эффект постепенно сходил на нет, возле костров эффект проходил быстрее.. Я думаю все знают, что в сталкере можно поднимать и переносить различные динамические модели? Фича была настолько хорошо сделана, что можно было поднять достаточно крупные модели над собой и эффект намокшего стекла сходил бы на нет :)
Во времена разработки проекта случился релиз 4-го фоллаута. Я, как фанат серии, был очень рад и во многом впечатлён игрой. Да, не идеальная, но жутко интересная, с большими возможностями и интересными фичами. В какой-то момент, скорее всего, я переиграл в него. Только этим можно объяснить появление следующей фичи в проекте.. Забегая наперёд скажу, что фича на самом деле интересная. Просто моя реализация подкачала. Возможно когда-нибудь я соберусь, доработаю её и в одном из обновлений проекта добавлю её. Это радиоактивный выброс. В 4м фоллауте выглядит безусловно на голову выше, однако на момент публикации видео меня устраивала и такая. А как вам вообще данная фича? При условии того, что будет внедрён ряд доработок, имеет право на жизнь или нет?
Время шло, а я занимался вводом всё новых и новых фич. На сей раз это был объёмный свет от любых источников освещения. Фича крутая и, как показывают свежие скриншоты, при небольшой доработке и грамотном использовании, может значительно улучшить картинку в игре.
И вот мы подошли к моменту, когда проект можно было бы выпускать. Может быть не идеальный, в чём-то уступающий другим, но.. Игру можно было спокойно пройти и при этом получать отличные эмоции от картинки, атмосферы проекта. На видео была демонстрация сравнения оригинальной игры и мода. Увы, на тот момент не мог исправить косяк с тем, что видео становилось темнее после загрузки на ютуб и поэтому в некоторых местах видео темнее, чем было на самом деле.
Но желание сделать проект ещё лучше победило. Я взялся за реализацию хоть и крутой фичи, но как раз той фишки, которая отняла бы у меня очень много времени. Это система аддонов на оружии. Суть в том, что тогда уже были моды с подобным. Но абсолютно все доступные проекты были с реализацией через, скажем так, одно место! Моя же реализация в корне отличалась, но и у неё были свои недочёты. Суть в том, что на всё оружие я добавлял дополнительные кости для новых аддонов и сами аддоны, а управлял всем этим через движок. Т.е. все аддоны были сразу на оружии, просто скрывались, если не было команды от движка на отрисовку определённого аддона. В других же проектах было много вариаций одной модели, но с разными аддонами. И при якобы снятии или установки аддона — игра подменяла оружие на другое, с установленным аддоном/без него. Сложно? Не забивайте голову ненужной инфой, просто посмотрите видео с моей реализацией :) Кстати говоря, на видео с анимациями ПП-Кедр видно о чём я писал выше. На модели заметно сразу несколько установленных аддонов.
Для тех, кто читает материал полностью хочу выразить благодарность и добавляю видео-отчёт о истории разработки, которое сделал ещё в 2017м году. Многие моменты от начала разработки и до этого момента там можно более детально рассмотреть.
Коль уж были сделаны аддоны, то почему бы не сделать игру ещё лучше? Тогда в сети набирала популярность совсем новая фича (на тот момент) — 3д прицелы. Многие и мечтать не могли о таком, а тут кто-то сделал. Да, я не автор сего творения, но я занимался переносом в движок проекта и последующими доработками по оптимизации. К слову, ещё тогда удалось добиться вполне неплохих показателей и фпс практически не падал.
Хоть графика была очень и очень неплохой, особенно на то время, но меня она не устраивала. Хотелось чего-то большего, уникального. И даже не спасало то, что уже тогда я начал переделывать локации с игры, добавляя новые детали, заменяя растительность на более проработанную. Вспоминая 4й фолл, именно благодаря нему я узнал термин PBR и начал изучать тему. Изучал-изучал и решился на глобальную переделку проекта.
Честно говоря, я тогда не осознавал сколько всего нужно будет переделать под полноценный пбр, а не как то говно, которое есть в других модах. Мало того, что абсолютно все текстуры должны были быть заменены на более качественные, у всех текстур должны были быть сделаны карты нормалей (а далеко не у всех в ТЧ они есть), так ещё нужно было делать хотя бы самый минимум дополнительных карт metalness и roughness. Я уже молчу про все остальные. Я не буду писать тут, как много текстур в игре. Кому интересно, откройте папку gamedata и посмотрите в её свойствах сколько там текстур. Получите примерное кол-во файлов, которое необходимо было переделать. К слову, на тот момент я осилил далеко не все ресурсы. Основная часть была переделана, но оставалось ещё очень много текстур, которые необходимо было переделать. И только сейчас, когда я плотно занялся проектом, я переделал вообще всё. И т.к. не хотелось упускать что-либо, я перепроверял даже то, что было сделано ранее. По итогу имею на руках полный пак высококачественных текстур в 2к и 4к разрешениях, с правильными нормалями, картами высот, доп. картами для pbr-a и всё это дело прописано в textures.ltx со своими настройками (thm-файлы не использую, т.к. это дополнительный гемор для меня, а разницы никакой не будет).
Конечно, рендер нужно было дорабатывать и дорабатывать, но крепкая основа уже была. Увы, на тот момент моих познаний не совсем хватало, что бы вывозить абсолютно всё и мне не стыдно это признать. Но т.к. цели были поставлены и опускать руки я не привык, со временем всё допилил.
По ходу разработки так же старался заменять текстуры на более проработанные. Кстати говоря, многие из них остались в проекте по сей день и в других модах их вы не встретите. Откуда я их брал?) Оставлю это в тайне. Кто действительно в теме — может узнать их и откуда они взялись. К слову, некоторые текстуры приходилось дорабатывать своими руками, а сейчас, перед релизом, когда перебирал ресурсы проекта, для улучшения текстур был использован ИИ. Об этом было несколько постов в группе.
По ходу разработки так же вводились некоторые тестовые фичи, типа нового блума, бликов и тд.
Так же добрались руки до одной старой фичи, которая уже была в проекте, но с визуальной точки зрения не совсем устраивала меня. Те самые капли дождя на шлеме. Сделаны по совсем иной технологии и на вид уже куда лучше, чем были. Так же была внедрена цветокоррекция с использованием LUT-текстур. Есть 5 пресетов на выбор и менять можно прямо в игре. К слову, эта фича есть в последней сборке проекта и будет доступной на релизе.
Что меня по прежнему не устраивало — тени в игре. Всегда напрягало то, как криво они выглядят, особенно в Тенях Чернобыля. Да, можно было повысить размер карты теней, да был неплохой алгоритм размытия теней.. Но это всё ни о чём, в сравнении с новой доработкой. В игру был внедрён PCSS (Percentage-Close Soft Shadows). Суть в том, что на удалении тени от источника освещения она становится более размытой, в то время как у своего основания, скажем так, будет чёткой.
Далее уже были видео с демонстрацией проекта, как он выглядел на тот момент (2020й год) и тд. Всё ещё можно было дорабатывать и дорабатывать, но даже тогда графика была очень даже приличной.
Однако сейчас проект в максимально для него доработанном состоянии. Да, есть множество идей о том, что можно сделать лучше и, откровенно говоря, некоторые моменты меня сильно не устраивают. Но.. Самое время делать релиз. Да, это будет не полная версия и в ней не будет очень многих вещей, которые я делал. Но основа проекта будет доступна всем, а я уже буду выпускать обновления с доработками. Первым делом я возьмусь за локации. По большей части они уже переделаны и нуждаются только в компиляции. Однако в планах пройтись вообще по всем, дабы перепроверить всё и, если необходимо, ещё доработать. К сожалению, я не могу сказать как быстро я смогу собрать локации, потому как мой ПК — сгорел и восстановить там было нечего, остались живыми только HDD. И сейчас я вынужден работать с очень слабой конфигурации (i5 3350p , 8 озу в одноканале и gtx 770). На этом пк максимум что я смогу — править локации в сдк, ни о какой компиляции речи быть не может. Да, ПК вытянул бы сборку локаций. Но с такими параметрами у него это займёт очень и очень много времени.
Из того, что осталось сделать на данный момент:
— закончить с текстурами персонажей
— поправить освещение в некоторых местах
и можно делать релиз. Да, изначально обещал его месяц назад, но тогда проект был бы явно хуже. Так что совсем не жалею о том, что решил взять ещё немного времени на доработку.
