Сказка о потерянных Куки.
Помнят ли многие, знают ли, что работаю я в Unity движке. Время долгое дело спорилось, работа над проектом ладилась, как вдруг беда пришла, откуда не ждали. Внезапные краши явились, подлые, частые и болезненные, в самый неподходящий момент. И что печальнее - краши не только в редакторе, но и в самом билде.
В общем, если коротко, всю прошлую неделю я про*бался в борьбе с непонятными крашами Unity движка и игры, которые возникли по непонятным мне причинам. Редкие краши редактора были и раньше, но работать было можно и перезагрузка решала проблему. Но внезапно я обнаружил что уже новая сборка игры стала крашиться при запуске уровней. Именно уровней, ибо в меню и в интро всё было хорошо.
Начались поиски причины. Я попробовал несколько версий движка. Всё это сопровождалось потерей 1-2 часов на сборку каждого билда. Логи особой информативности не имели, чат GPT помог определить лишь основные направления - что то не так было с процессами рендера.
Текст не влез, продолжение следует.
Помнят ли многие, знают ли, что работаю я в Unity движке. Время долгое дело спорилось, работа над проектом ладилась, как вдруг беда пришла, откуда не ждали. Внезапные краши явились, подлые, частые и болезненные, в самый неподходящий момент. И что печальнее - краши не только в редакторе, но и в самом билде.
В общем, если коротко, всю прошлую неделю я про*бался в борьбе с непонятными крашами Unity движка и игры, которые возникли по непонятным мне причинам. Редкие краши редактора были и раньше, но работать было можно и перезагрузка решала проблему. Но внезапно я обнаружил что уже новая сборка игры стала крашиться при запуске уровней. Именно уровней, ибо в меню и в интро всё было хорошо.
Начались поиски причины. Я попробовал несколько версий движка. Всё это сопровождалось потерей 1-2 часов на сборку каждого билда. Логи особой информативности не имели, чат GPT помог определить лишь основные направления - что то не так было с процессами рендера.
Текст не влез, продолжение следует.
😱25🤯10🔥5👍2😁2❤1
Основные гипотезы были связаны с шейдерами, постэффектами, системой освещения. В самом редакторе вылеты тоже стали чаще. Я начал проверять сцены методом исключений, выключал определённые блоки объектов в поиске проблемных. Пробовал делать сборку без постэффектов, менял режим Dx11 на Vulcan, Open gl и тд. В какой то момент обратил внимание на ошибки в консоли, связанные с системой декалей. Подозрение пало на устаревшие библиотеки этой системы, самому ассету уже больше 10ти лет. Данный факт был бы очень печальным, потому что пришлось бы много времени потратить на замену системы и расстановку новых декалей во всех локациях. Но всё же проверки показали, что дело было не в этом.
Далее я решил взять упрощённый уровень с некоторым наполнением, светильниками и мешами. Начал поочерёдно выключать объекты на нём и заметил особенность - при загрузке уровня краш происходил лишь в момент поворота камеры и её взгляда в определённую сторону. Сразу закралось подозрение, что в конкретной точке камера видит что-то, что движку очень не нравится и он решает покурить. Методом исключения выяснилось, что именно в той точке находился Point светильник.
Это немного обескуражило, поскольку я ожидал увидеть там какой-нибудь объект с необычным шейдером или что-то подобное. Но это был обычный светильник, ничем не примечательный. И тут обнаруживается, что светильник вызывает краш только в том случае, если его слот Cookie пуст! Стоило добавить кастомную Cookie в слот, и краш устранялся. Дальше представим, сколько мата было за время поиска проблемы и обнаружения настолько нелепой причины.
До конца так и не было понятны корни причины, но вероятно, это связано с одним из кастомных шейдеров в системе графики. Это был купленный мной ассет для использования цветовых Cookie , позволяющий задать цветовые оттенки например лампам или фонарям. Видимо системе шейдера требовалось принудительное назначение Cookie светильникам, хотя это не объясняет тот факт, что раньше всё работало нормально и проблема появилась лишь сейчас. Unity потрясающая, люблю её.
Вот примерно из таких ситуаций состоит весьма большой процент разработки. Постоянно всплывающие проблемы, с софтом, с кодом, с железом и тд.
Потом может расскажу ещё про один интересный кейс. Там была проблема с фризами, на решение которой тоже ушло около недели.
Будьте здоровы и берегите свои куки.
Далее я решил взять упрощённый уровень с некоторым наполнением, светильниками и мешами. Начал поочерёдно выключать объекты на нём и заметил особенность - при загрузке уровня краш происходил лишь в момент поворота камеры и её взгляда в определённую сторону. Сразу закралось подозрение, что в конкретной точке камера видит что-то, что движку очень не нравится и он решает покурить. Методом исключения выяснилось, что именно в той точке находился Point светильник.
Это немного обескуражило, поскольку я ожидал увидеть там какой-нибудь объект с необычным шейдером или что-то подобное. Но это был обычный светильник, ничем не примечательный. И тут обнаруживается, что светильник вызывает краш только в том случае, если его слот Cookie пуст! Стоило добавить кастомную Cookie в слот, и краш устранялся. Дальше представим, сколько мата было за время поиска проблемы и обнаружения настолько нелепой причины.
До конца так и не было понятны корни причины, но вероятно, это связано с одним из кастомных шейдеров в системе графики. Это был купленный мной ассет для использования цветовых Cookie , позволяющий задать цветовые оттенки например лампам или фонарям. Видимо системе шейдера требовалось принудительное назначение Cookie светильникам, хотя это не объясняет тот факт, что раньше всё работало нормально и проблема появилась лишь сейчас. Unity потрясающая, люблю её.
Вот примерно из таких ситуаций состоит весьма большой процент разработки. Постоянно всплывающие проблемы, с софтом, с кодом, с железом и тд.
Потом может расскажу ещё про один интересный кейс. Там была проблема с фризами, на решение которой тоже ушло около недели.
Будьте здоровы и берегите свои куки.
❤51😱16🔥9👍4🤔2
В "Радуге", как и в прошлых работах есть ряд объектов, имеющих реальные аналоги, всегда нравились такие детали. На кадрах хмелесушильня в Алферово. Давно хотел сам отснять зимой этот объект, но все никак не складывалось.
👍65❤22🔥14❤🔥1
Всем привет! Ещё одна история борьбы с непредвиденным в процессе разработки игры, которую обещал рассказать.
Примерно на втором году работы я уже имел несколько готовых уровней и интро-сцену. Обычно я стараюсь делать периодические тесты, создавая промежуточные билды, замеряю FPS, оцениваю наличие фризов и тд. За производительностью лучше следить в процессе работы, чтобы не упустить какие-то серьёзные нюансы, которые всплывут в финале. И до определённой поры всё было хорошо.
И вот, во время нового теста билда я замечаю, что в игре появились фризы. Непосредственно в билде, в редакторе всё было нормально. При вращении камеры стали заметны очень ощутимые неприятные задержки. Были предположения о том, что это связано с прогрузкой сцен, но тщательные проверки в итоге исключили этот вариант. Фризы были в любой сцене, даже на простом тестовом полигоне, где ничего нет.
➡️
Примерно на втором году работы я уже имел несколько готовых уровней и интро-сцену. Обычно я стараюсь делать периодические тесты, создавая промежуточные билды, замеряю FPS, оцениваю наличие фризов и тд. За производительностью лучше следить в процессе работы, чтобы не упустить какие-то серьёзные нюансы, которые всплывут в финале. И до определённой поры всё было хорошо.
И вот, во время нового теста билда я замечаю, что в игре появились фризы. Непосредственно в билде, в редакторе всё было нормально. При вращении камеры стали заметны очень ощутимые неприятные задержки. Были предположения о том, что это связано с прогрузкой сцен, но тщательные проверки в итоге исключили этот вариант. Фризы были в любой сцене, даже на простом тестовом полигоне, где ничего нет.
➡️
😱25🔥7❤6👍3
Значит это была либо глобальная проблема, например с освещением или пост-эффектами, либо что-то связанное с персонажем и его управляющими скриптами. Для проверки этих версий пришлось сделать сборку со специальными настройками, позволяющими во время игры поменять персонажа на упрощённую версию - летающую камеру. Также можно было включать и выключать пост-эффекты, отключать освещение, тени и т. д. Ни одно из этих условий не привело к результату, фризы были даже при наличии простой летающей камеры, без эффектов и без освещения. Должен сказать, что подобные ситуации в работе очень деморализуют. Хотя со временем ты привыкаешь, что за свою практику со всеми аналогичными трудностями в итоге удавалось справиться, значит починить удастся и это.
Помог мне в поиске проблемы случайный билд, который я решил сделать без интро-сцены, сразу открывалось меню игры. Я заметил что в этом билде фризов уже не было. Так подозрения пали на непосредственно на интро, что-то там неладное происходило. Чтобы это выяснить, пришлось снова включать и выключать разные блоки объектов. Я отключал свет, окружение, террейн, анимированный автомобиль, эффекты. Наконец выяснилось, что фризы пропадали после отключения систем частиц. Методом исключения осталось выяснить, каких именно.
В конечном итоге оказалось, что на корпусе автомобиля я установил частицы, которые во время движения раскидывали комки снега от колёс. Частицы имели форму меша-образца, то есть не были простым плейном или кубом, а также имели коллизию с террейном. То ли коллизия вызывала ошибки, то ли меш был глючным, но после появления частиц в кадре именно в этом месте будто бы оставался какой-то отпечаток или шлейф, который почему-то переносился и во все другие сцены и вызывал там фризы.
Удаление этой системы частиц полностью решило проблему. Решение простое, но поиск причины занял около недели. Такие вот пироги.
PS. По игре особых новостей пока нет, рутинные доработки, задачи по ачивкам, локализациям и т.д. Сроков пока тоже озвучить не могу.
Помог мне в поиске проблемы случайный билд, который я решил сделать без интро-сцены, сразу открывалось меню игры. Я заметил что в этом билде фризов уже не было. Так подозрения пали на непосредственно на интро, что-то там неладное происходило. Чтобы это выяснить, пришлось снова включать и выключать разные блоки объектов. Я отключал свет, окружение, террейн, анимированный автомобиль, эффекты. Наконец выяснилось, что фризы пропадали после отключения систем частиц. Методом исключения осталось выяснить, каких именно.
В конечном итоге оказалось, что на корпусе автомобиля я установил частицы, которые во время движения раскидывали комки снега от колёс. Частицы имели форму меша-образца, то есть не были простым плейном или кубом, а также имели коллизию с террейном. То ли коллизия вызывала ошибки, то ли меш был глючным, но после появления частиц в кадре именно в этом месте будто бы оставался какой-то отпечаток или шлейф, который почему-то переносился и во все другие сцены и вызывал там фризы.
Удаление этой системы частиц полностью решило проблему. Решение простое, но поиск причины занял около недели. Такие вот пироги.
PS. По игре особых новостей пока нет, рутинные доработки, задачи по ачивкам, локализациям и т.д. Сроков пока тоже озвучить не могу.
🔥51👍20🫡8❤5
Приветствую! Работа продолжается, доделываю хвосты. Много раз приходится возвращаться к одним и тем же локациям, где-то дополнять, что-то поправлять. Данный уровень на скриншоте я начал делать наверно года 4 назад. Довел его сперва до минимально приемлемого состояния и оставил. Теперь пришло время вернуться, донастроить запечку лайтмаппинга (перешедшие на полностью динамический свет и всякие люмены — поморщились) , дополнить пропсами, всякими трубами, кондеями, кабелями и т.д. В общем, процесс творческий, медитативный.
PS. Кстати, кому актуально, пеку с помощью Bakery, очень удобный инструмент.
PS. Кстати, кому актуально, пеку с помощью Bakery, очень удобный инструмент.
❤78🔥23👍10
На IGM вышло видео по моему проекту, дал ребятам развернутое интервью с пояснением некоторых деталей. В видео также присутствуют новые фрагменты, которые ранее не публиковались. Большая благодарность авторам.
https://www.youtube.com/watch?v=EiHrAeh3mU8
https://www.youtube.com/watch?v=EiHrAeh3mU8
YouTube
ПЕРВЫЙ ВЗГЛЯД: HAIL TO THE RAINBOW - ПОСТАПОКАЛИПСИС ПО-РУССКИ
ОТЕЧЕСТВЕННЫЕ ИГРЫ НА IGM.GG: https://go.igm.gg/tyjRN
ЭКСКЛЮЗИВНЫЙ КОНТЕНТ НА BOOSTY (18+) - https://bit.ly/3dZkatu
С Hail to the Rainbow ситуация разворачивается удивительная. Мало того, что демо-версия смогла подогреть интерес аудитории, так ещё и трейлер…
ЭКСКЛЮЗИВНЫЙ КОНТЕНТ НА BOOSTY (18+) - https://bit.ly/3dZkatu
С Hail to the Rainbow ситуация разворачивается удивительная. Мало того, что демо-версия смогла подогреть интерес аудитории, так ещё и трейлер…
🔥83👍15❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Нужно как-то подать признаки жизни. Процесс полировки продолжается. Сейчас он проходит в несколько этапов. Сперва пробегаюсь по всем локациям, правя основные грубые недочёты, где-то дыру коллайдером закрыть, где -то вспомогательные объекты удалить, окончательно утвердить положение крупных объектов для запечки света.
Затем новый проход по всем локам с мелкими доработками, правкой звуковых косяков, расстановкой мелких объектов и финальной донастройкой лайтмаппинга.
Затем проход по функциональной части, утверждение положения всех интерактивных объектов, типа лута, пазлов, включения по скриптам нужного и выключения ненужного.
И даже после десятков проходов всё равно обнаруживаешь, что где-то что-то забыл, например парящую в воздухе машину 😁
Затем новый проход по всем локам с мелкими доработками, правкой звуковых косяков, расстановкой мелких объектов и финальной донастройкой лайтмаппинга.
Затем проход по функциональной части, утверждение положения всех интерактивных объектов, типа лута, пазлов, включения по скриптам нужного и выключения ненужного.
И даже после десятков проходов всё равно обнаруживаешь, что где-то что-то забыл, например парящую в воздухе машину 😁
👍64❤🔥19❤13🔥6😁1
Кстати, у всех же слышен щелчок в моменте склейки кадра в этом видео? Может кто-то шарит по звуку, в последние месяцы появилась проблема, и в движке и за его пределами, стали появляться щелчки в моменты резкой смены уровня звука. Сперва думал, что дело в игре, но при монтаже видео тоже заметно. Также полагал, что дело именно в моей звуковой системе или дровах, но странно что это распространяется и на "готовый продукт ", который звучит косячно и на других компьютерах. Возможно ли такое? Может кто подскажет?
❤26🔥7❤🔥6🤷♂1
Всем привет! У ребят из студии "Мортёшка" вышел их новый проект под названием "Лихо одноглазое". От души поздравляю с новым детищем!
Страница Steam https://store.steampowered.com/app/2346840/OneEyed_Likho/
Страница Steam https://store.steampowered.com/app/2346840/OneEyed_Likho/
Steampowered
One-Eyed Likho on Steam
One-Eyed Likho is a grim first-person horror adventure set in a world inspired by a dark, Slavic fairy tale. Explore an unsettling and twisted land set in 19th-century Russia in your endeavor to escape your own evil fate.
🔥58❤5👍4👏2
Всем привет! Несколько новых скринов из разных локаций.
Полировка близится к концу, однако, впереди ещё много проверок, отладка баланса на уровнях сложности, проверка активации ачивок, тесты локализаций и т. д. Нужно также подготовить финальные материалы для страниц магазинов, протестировать заливку на ВК, подготовить релизный трейлер и прочие визуальные штуки. В общем, скучать не приходится, последние месяцы обещают быть крайне выматывающими.
Полировка близится к концу, однако, впереди ещё много проверок, отладка баланса на уровнях сложности, проверка активации ачивок, тесты локализаций и т. д. Нужно также подготовить финальные материалы для страниц магазинов, протестировать заливку на ВК, подготовить релизный трейлер и прочие визуальные штуки. В общем, скучать не приходится, последние месяцы обещают быть крайне выматывающими.
❤118🔥45👍10🤩4🆒2💅1