Сейчас такую историю расскажу. Закачаетесь.
В общем, пахал я как чорт последние два дня.
Все обновил, все маст хэвное доделал, локи красивые, шрифты починены, билд пашет, в стим залит, жму публикацию...
Не установлен мобильный аунтификатор. Блен.
Качаю, устанавливаю, успешно регаюсь. Лезу обратно в стимворкс, жму публикацию...
Мои мобильные данные изменились, поэтому три дня билды не могут заливаться в главную ветку. Блен [2].
Отослал голубей в поддержку стима. Может, ускорят процесс пыточного дела
В общем, пахал я как чорт последние два дня.
Все обновил, все маст хэвное доделал, локи красивые, шрифты починены, билд пашет, в стим залит, жму публикацию...
Не установлен мобильный аунтификатор. Блен.
Качаю, устанавливаю, успешно регаюсь. Лезу обратно в стимворкс, жму публикацию...
Мои мобильные данные изменились, поэтому три дня билды не могут заливаться в главную ветку. Блен [2].
Отослал голубей в поддержку стима. Может, ускорят процесс пыточного дела
🗿3👍1
А еще, был смешной момент.
Заколебавшись от жизни такой я загрузил по началу папку с билдом... Пустую. И лишь каким-то чудом заметил что вес апдейта нуль байтов.
Ну как каким-то... У меня было открыто одновременно два окна с двумя разными версиями СДК стима (штука грузящая билды) и в старой был старый билд. Я с ней сверялся что все делаю правильно, и хотел грузить новое с новой. Потом я осознал что не понимаю, из какой что грузил, и перепугался что второй раз старый билд загрузил.
Лишь затем я полез сравнивать манифесты, и обнаружил, что в новом вообще нет данных. Хотя я уверен что точно куда-то копировал данные с билдом. В какую папку я его пихнул - загадка.
Такие дела 🤔
Заколебавшись от жизни такой я загрузил по началу папку с билдом... Пустую. И лишь каким-то чудом заметил что вес апдейта нуль байтов.
Ну как каким-то... У меня было открыто одновременно два окна с двумя разными версиями СДК стима (штука грузящая билды) и в старой был старый билд. Я с ней сверялся что все делаю правильно, и хотел грузить новое с новой. Потом я осознал что не понимаю, из какой что грузил, и перепугался что второй раз старый билд загрузил.
Лишь затем я полез сравнивать манифесты, и обнаружил, что в новом вообще нет данных. Хотя я уверен что точно куда-то копировал данные с билдом. В какую папку я его пихнул - загадка.
Такие дела 🤔
👍2❤1
Я тупой! Я все это время пытался загрузить полную версию игры из моей библиотеки, которая не существует в репозиториях стима!
Я не заходил на страничку магазина и не нажимал "играть демо"! Я заходил на страницу игры в библиотеки и нажимал "играть!".
Ох это так тупо...
Ребят, отдыхайте и высыпайтесь, и не куда-то, а сном. Это важно 🫠
Я не заходил на страничку магазина и не нажимал "играть демо"! Я заходил на страницу игры в библиотеки и нажимал "играть!".
Ох это так тупо...
Ребят, отдыхайте и высыпайтесь, и не куда-то, а сном. Это важно 🫠
🔥2😁2
Так, старая локализация сломана. Срочно делаю новую, в этот раз на встроенном локализационном туле юнити, а не на кастоме с json табличками ☠️
Хроники безумца:
Я сменил систему локализации и переписал все связанные скрипты. Оно работает! Осталось переписать все игровые тексты и привязать все по новой.
А еще, я пришил к аллигатору ракетомет, надеюсь, ничего плохого не случится.
Я сменил систему локализации и переписал все связанные скрипты. Оно работает! Осталось переписать все игровые тексты и привязать все по новой.
А еще, я пришил к аллигатору ракетомет, надеюсь, ничего плохого не случится.
Мне не выразить словами степень количества факапов на квадратный релиз, конечно.
Особенно с учетом того, что релиз сам по себе был факапом.
Особенно с учетом того, что релиз сам по себе был факапом.
🕊3🌭1
Так, сегодняшний день был днем обновления арта на странице стима.
Зачистка всех нежелательных следов нейронок на фоне (коридор генерился в свое время, перерисовал, вот поверх), улучшение качества тентаклей, добавление свисающей из вентиляции ручки, которую на капсулах не видно толком...
Так же немного изменил сами изображения для стима.
Главной победой я считаю маленькую капсулу для списков игр в поисковнике стима.
И да, внезапно, стим изменил стандартные разрешения для своих штук. Кто вообще придумал формат 1232х706?
Зачистка всех нежелательных следов нейронок на фоне (коридор генерился в свое время, перерисовал, вот поверх), улучшение качества тентаклей, добавление свисающей из вентиляции ручки, которую на капсулах не видно толком...
Так же немного изменил сами изображения для стима.
Главной победой я считаю маленькую капсулу для списков игр в поисковнике стима.
И да, внезапно, стим изменил стандартные разрешения для своих штук. Кто вообще придумал формат 1232х706?
🔥1
Ух, беда-печаль-огорчение...
На самом деле вообще ни разу нет, очень ожидаемо. Это стата того как в демо играли. Пока что именно запускали его, как я понял, почти 50 юзеров. Ставили себе в библиотеку, скачивали и все такое - что-то около 600.
Помянем того несчастного, который играл в это два часа (возможно, это был я сам)
На самом деле вообще ни разу нет, очень ожидаемо. Это стата того как в демо играли. Пока что именно запускали его, как я понял, почти 50 юзеров. Ставили себе в библиотеку, скачивали и все такое - что-то около 600.
Помянем того несчастного, который играл в это два часа (возможно, это был я сам)
😱1
Случилась картина Репина "Юнити выносил мне мозг очередные пять часов мелкой хренью, которая не упоминается примерно нигде".
Поясняю. Я сделал экран загрузки в главном меню. По умолчанию, он выключен.
Так же, я сделал несколько текстовых объектов на этом экране. Тексовые объекты с подключенной локализацией, через плагин с системой таблиц, которые асинхронно подгружают любой текст в сцену вне зависимости от того что творится в сцене.
И экран и текста на нем включаются по нажатию кнопки начала игры. Одновременно с этим запускается асинхронная загрузка уровня, прогресс которой передается в заполняющийся ползунок. Все красиво, все чинно.
Собираю все в билд, запускаю - половина текстов не локализуется.
Просто не загружается, оставляя базовый текст объекта. Запуск в редакторе - все работает. В билде - нет.
Начал тесты.
С начала, я выяснил, что если текстовые объекты сделать не дочерними объектами загрузочного экрана, то все работает. Но тогда надо было делать два синхронно анимируемых загрузочных экрана, чтобы на одном была загрузка, на другом текста, и это не имело смысла.
Далее я выяснил что смена текстов влияет на результат. А точнее смена таблиц. Не работала одна из локализационных таблиц. Перенос нужной строки в другую таблицу все успешно чинил. Но, ломалось все, что было в вонючей таблице, и решительно не понятно почему. Мне надо было выяснить и знать как предотвратить такую нестабильность.
Разумеется, я начал советоваться с чатом gpt, и он насоветовал мне миллион вариантов того как костылем сделать обновление текста на локализацию в любой момент жизни. Но... Это не работало.
В целом, ИИшко корректно предположила - дело в подгрузке таблиц в билде. В редакторе они всегда заранее подгружены и сохранены в кэше. В билде на это надо время... И начал давать совершенно нерабочие варианты кода обновления текста после подгрузки таблиц.
Я даже проверил время на инициализацию таблиц локализации научным методом включения зеленого квадратика поверх красненького, когда корутина подгрузки табличек завершена. Результат - почти мгновенно. Дело было не в том, что что-то упорно не грузилось.
Лишь после того как все не сработало, я предположил что есть конфликт между асинхронной загрузкой текста и асинхронной загрузкой локации.
Поставил простенький таймер ожидания подгрузки локализации в логику начала загрузки локации... И все починилось!
То есть, я включал загрузочный экран, несколько асинхронных процессов, и, процесс загрузки уровня то ли останавливал, то ли ломал подгрузку таблицы, поэтому никакое обновление текстового поля сработать на нем уже не могло.
По факту, я починил это добавив загрузочное время для элементов загрузочного экрана. Загрузка для загрузки загрузки...
В интернетах описания подобной проблемы у локализации юнити я просто не нашел. Никаких предостережений, или чего-то в этом духе.
И, если честно, я в культурном шоке от таких приколов.
Штука, которая так все обгаживает, да еще и только в самом билде, не в редакторе - это подстава немыслимых габаритов.
Поясняю. Я сделал экран загрузки в главном меню. По умолчанию, он выключен.
Так же, я сделал несколько текстовых объектов на этом экране. Тексовые объекты с подключенной локализацией, через плагин с системой таблиц, которые асинхронно подгружают любой текст в сцену вне зависимости от того что творится в сцене.
И экран и текста на нем включаются по нажатию кнопки начала игры. Одновременно с этим запускается асинхронная загрузка уровня, прогресс которой передается в заполняющийся ползунок. Все красиво, все чинно.
Собираю все в билд, запускаю - половина текстов не локализуется.
Просто не загружается, оставляя базовый текст объекта. Запуск в редакторе - все работает. В билде - нет.
Начал тесты.
С начала, я выяснил, что если текстовые объекты сделать не дочерними объектами загрузочного экрана, то все работает. Но тогда надо было делать два синхронно анимируемых загрузочных экрана, чтобы на одном была загрузка, на другом текста, и это не имело смысла.
Далее я выяснил что смена текстов влияет на результат. А точнее смена таблиц. Не работала одна из локализационных таблиц. Перенос нужной строки в другую таблицу все успешно чинил. Но, ломалось все, что было в вонючей таблице, и решительно не понятно почему. Мне надо было выяснить и знать как предотвратить такую нестабильность.
Разумеется, я начал советоваться с чатом gpt, и он насоветовал мне миллион вариантов того как костылем сделать обновление текста на локализацию в любой момент жизни. Но... Это не работало.
В целом, ИИшко корректно предположила - дело в подгрузке таблиц в билде. В редакторе они всегда заранее подгружены и сохранены в кэше. В билде на это надо время... И начал давать совершенно нерабочие варианты кода обновления текста после подгрузки таблиц.
Я даже проверил время на инициализацию таблиц локализации научным методом включения зеленого квадратика поверх красненького, когда корутина подгрузки табличек завершена. Результат - почти мгновенно. Дело было не в том, что что-то упорно не грузилось.
Лишь после того как все не сработало, я предположил что есть конфликт между асинхронной загрузкой текста и асинхронной загрузкой локации.
Поставил простенький таймер ожидания подгрузки локализации в логику начала загрузки локации... И все починилось!
То есть, я включал загрузочный экран, несколько асинхронных процессов, и, процесс загрузки уровня то ли останавливал, то ли ломал подгрузку таблицы, поэтому никакое обновление текстового поля сработать на нем уже не могло.
По факту, я починил это добавив загрузочное время для элементов загрузочного экрана. Загрузка для загрузки загрузки...
В интернетах описания подобной проблемы у локализации юнити я просто не нашел. Никаких предостережений, или чего-то в этом духе.
И, если честно, я в культурном шоке от таких приколов.
Штука, которая так все обгаживает, да еще и только в самом билде, не в редакторе - это подстава немыслимых габаритов.
👍1
⚡️Новый апдейт!⚡️
Добавлены:
- Анимации в главном меню
- Экран загрузки
- Кнопка выбора языка
- Интерактивный осмотр ряда предметов и активация диалога, вместо автоматической активации.
- Раскиданы второстепенные подсказки для обучения.
Починены:
- сломанные маршруты зомби, заставляющие их утыкаться в препятствие и дергаться на месте.
- неверный выбор посвечиваемого спрайта в диалогах с Лейтенантом, приводивший к его перманентной затененности.
- Ошибку, при которой стартовый экран с запиской и диалоговое окно с первым монологом Лео могли открыться одновременно.
Добавлены:
- Анимации в главном меню
- Экран загрузки
- Кнопка выбора языка
- Интерактивный осмотр ряда предметов и активация диалога, вместо автоматической активации.
- Раскиданы второстепенные подсказки для обучения.
Починены:
- сломанные маршруты зомби, заставляющие их утыкаться в препятствие и дергаться на месте.
- неверный выбор посвечиваемого спрайта в диалогах с Лейтенантом, приводивший к его перманентной затененности.
- Ошибку, при которой стартовый экран с запиской и диалоговое окно с первым монологом Лео могли открыться одновременно.
👍2
Наконец-то исправил баг с щупальцами.
Они по какой-то причине комкались и обрезались до состояния... Того что на скрине.
Оказалось что причина Culling mode в анимации, который почему-то ломал все скейлы. Обычно, он используется для оптимизации, и должен был спасти мне производительность, но, похоже, проще отрубать весь объект щупалец пока он не в экране, чем заниматься оптимизацией анимации.
Они по какой-то причине комкались и обрезались до состояния... Того что на скрине.
Оказалось что причина Culling mode в анимации, который почему-то ломал все скейлы. Обычно, он используется для оптимизации, и должен был спасти мне производительность, но, похоже, проще отрубать весь объект щупалец пока он не в экране, чем заниматься оптимизацией анимации.
👍2
Хитбоксы зомбаков починены... Повторяю, хитбоксы зомбаков починены.
Прежняя система замеряла дистанцию от оружия до игрока в момент атаки. Результаты были отстой и контролировать пределы угрозы слишком сложно.
Насоветовал это мне чат gpt, как более "правильный" способ замерять че там по атаке.
Вернулся к дедовсому методу размещения коллайдера. В зоне где примерно машется оружием. Работает идеально. Границы настраиваются за пару секунд. Все хиты теперь выглядят совершенно справедливо.
Мораль - не слушайте советы чата жпт.
Прежняя система замеряла дистанцию от оружия до игрока в момент атаки. Результаты были отстой и контролировать пределы угрозы слишком сложно.
Насоветовал это мне чат gpt, как более "правильный" способ замерять че там по атаке.
Вернулся к дедовсому методу размещения коллайдера. В зоне где примерно машется оружием. Работает идеально. Границы настраиваются за пару секунд. Все хиты теперь выглядят совершенно справедливо.
Мораль - не слушайте советы чата жпт.
👍1😁1
Если кратко, второй день рефакторю код врагов, дверей и взаимодействующего со всем этим персонажа.
Цель - заставить вонючек научиться нормально ходить через двери.
Цель - заставить вонючек научиться нормально ходить через двери.
🔥1
У монстров нормально работали патрули.
Весь день потратил на то чтобы научить монстров прерывать их и делать маршруты из дверей. Научились.
Сломал все патрули 😒
Весь день потратил на то чтобы научить монстров прерывать их и делать маршруты из дверей. Научились.
Сломал все патрули 😒
😁2
Очередной день до трех часов ночи сижу, пытаюсь починить систему патруля.
Уже жалею что нет готового решения за бабки (на самом деле есть, но не для моего случая).
Некоторые вещи не работают просто потому что в одной из сотен строк кода я забыл обнулить значение переменной с временными данными важными для хранения данных о том в какую дверь надо идти, и если та не пуста, монстр просто не идет в любую другую дверь. Это еще не говоря о вероятности побежать не в ту дверь, если их несколько, и он уже бегал в "не ту".
Другие сломаны на уровне аниматора, чьи бихевиоры работают очень по разному, от разных штук. Например, длительности перехода одной анимации к другой.
А где-то все просто сломано потому что вот так вот жизнь распорядилась, видимо. Например, когда монстр должен доходить до точки патруля, но не доходит, и идет к следующей. При чем, дебаггинг говорит что в момент перехода на следование новой точке, у него минимальная необходимая дистанция до нее достигнута, а эта же переменная выведенная в инспектор говорит что там еще переть и переть... Мистика.
Так и живем (тяжело) 🫠
Уже жалею что нет готового решения за бабки (на самом деле есть, но не для моего случая).
Некоторые вещи не работают просто потому что в одной из сотен строк кода я забыл обнулить значение переменной с временными данными важными для хранения данных о том в какую дверь надо идти, и если та не пуста, монстр просто не идет в любую другую дверь. Это еще не говоря о вероятности побежать не в ту дверь, если их несколько, и он уже бегал в "не ту".
Другие сломаны на уровне аниматора, чьи бихевиоры работают очень по разному, от разных штук. Например, длительности перехода одной анимации к другой.
А где-то все просто сломано потому что вот так вот жизнь распорядилась, видимо. Например, когда монстр должен доходить до точки патруля, но не доходит, и идет к следующей. При чем, дебаггинг говорит что в момент перехода на следование новой точке, у него минимальная необходимая дистанция до нее достигнута, а эта же переменная выведенная в инспектор говорит что там еще переть и переть... Мистика.
Так и живем (тяжело) 🫠
😱4😁1