Год из жизни CTO в GameDev
https://habr.com/ru/post/709124/
Интересная статья про опыт CTO в игровой индустрии. Даже добавить особо нечего :)
#новости
https://habr.com/ru/post/709124/
Интересная статья про опыт CTO в игровой индустрии. Даже добавить особо нечего :)
#новости
Хабр
2022. Год из жизни CTO в GameDev
Доброго времени, Хабр! Сначала немного представлюсь. Меня зовут Сергей. В IT я уже более 13 лет из них в GameDev уже более восьми. Так вышло, что до написания статьи на Хабр дошел только сейчас. И...
👍2
Media is too big
VIEW IN TELEGRAM
"Бесконечный" скролл
#задачка
Сделать скролл который будет вмещать в себя 500 000 элементов случайного размера по высоте и не будет тормозить. Например игровой чат или система диалога, где размер текста непредсказуем.
Решение:
https://github.com/Nox7atra/Unity-Test-Tasks/blob/master/Assets/Unity-Test-Tasks/Task_3/Scripts/FastDialogScreen.cs
https://github.com/Nox7atra/Unity-Test-Tasks/blob/master/Assets/Unity-Test-Tasks/Task_3/Scripts/DialogBubble.cs
В репозитории я убрал мок генерацию 721 000 строк, так как не у всех сцена с таким числом запустится. Это просто дорого по оперативной памяти. Это задачка возможно даже посложнее, чем прошлая.
#задачка
Сделать скролл который будет вмещать в себя 500 000 элементов случайного размера по высоте и не будет тормозить. Например игровой чат или система диалога, где размер текста непредсказуем.
Решение:
👍7
Григорий Дядиченко
"Бесконечный" скролл #задачка Сделать скролл который будет вмещать в себя 500 000 элементов случайного размера по высоте и не будет тормозить. Например игровой чат или система диалога, где размер текста непредсказуем. Решение: https://github.com/Nox7atra/Unity…
Обоснование задачки "Бесконечный" скролл
Скриншот так сказать для пруфов. На видео листается 720 896 элементов. Просто тормозит оно не из-за скролла, а из-за отрисовки инспектора. Если цеплять это окно. Так вот, а теперь по деталям решения задачи.
В первую очередь это задача на знание того, как сделать "свой контент сайз фиттер" и понимание, чем плохи лейауты Unity. Так как на лейаутах всё ляжет даже на 100 элементах на мобилках. И оно уже будет тормозить.
Окна адаптирующиеся под текст делаются очень просто. Для этого надо знать про существование метода. GetPreferredValues в TextMeshPro. И уметь работать с размерами RectTransform.
Из важных нюансов, что для контроля высоты нужно прописывать доп. параметры в метод. В виде желаемой ширины и желаемой высоты. Так как иначе юнити берёт настройки не из рект трансформа, а судя по всему из шрифта.
А вот часть с бесконечным скроллом уже сложнее. Так как нужно понимать, как работать с пулом, со скролл вью и с тем, как делаются в целом нетормозящие скроллы.
Просто плохо сделанные скроллы — это моя боль. Первый проект, который я делал на фрилансе ещё пять лет назад передали мне со скроллом на лейаутах и контент сайз фиттерах юнити. И на 40 элементах оно не выдавало 60 фпс на топовом устройстве. А на скроллах очень заметны тормоза. Поэтому у меня в целом аллергия на Unity лейауты.
Тут просто показано решение одним скриптом, как с помощью методов расчитать размер контента и вместо 720к+ элементов мы будем переставлять 8 элементов. И в этом весь трюк. Плюс ряд оптимизаций. Остальное можно понять разобрав код.
Скриншот так сказать для пруфов. На видео листается 720 896 элементов. Просто тормозит оно не из-за скролла, а из-за отрисовки инспектора. Если цеплять это окно. Так вот, а теперь по деталям решения задачи.
Окна адаптирующиеся под текст делаются очень просто. Для этого надо знать про существование метода. GetPreferredValues в TextMeshPro. И уметь работать с размерами RectTransform.
Из важных нюансов, что для контроля высоты нужно прописывать доп. параметры в метод. В виде желаемой ширины и желаемой высоты. Так как иначе юнити берёт настройки не из рект трансформа, а судя по всему из шрифта.
А вот часть с бесконечным скроллом уже сложнее. Так как нужно понимать, как работать с пулом, со скролл вью и с тем, как делаются в целом нетормозящие скроллы.
Просто плохо сделанные скроллы — это моя боль. Первый проект, который я делал на фрилансе ещё пять лет назад передали мне со скроллом на лейаутах и контент сайз фиттерах юнити. И на 40 элементах оно не выдавало 60 фпс на топовом устройстве. А на скроллах очень заметны тормоза. Поэтому у меня в целом аллергия на Unity лейауты.
Тут просто показано решение одним скриптом, как с помощью методов расчитать размер контента и вместо 720к+ элементов мы будем переставлять 8 элементов. И в этом весь трюк. Плюс ряд оптимизаций. Остальное можно понять разобрав код.
👍10
Интересная подборка туториалов от Unity
https://blog.unity.com/games/7-tutorials-to-help-uplevel-your-unity-skills-in-2023
Прикольный набор курсов для новичков. Даже AR охватывает. Правда фейсмаски меня сначала заинтриговали, а потом это оказывается про айос. Так что ничё особо нового :) Но всё равно неплохие обзорные курсы и бесплатные в плюс к тому.
#новости
https://blog.unity.com/games/7-tutorials-to-help-uplevel-your-unity-skills-in-2023
Прикольный набор курсов для новичков. Даже AR охватывает. Правда фейсмаски меня сначала заинтриговали, а потом это оказывается про айос. Так что ничё особо нового :) Но всё равно неплохие обзорные курсы и бесплатные в плюс к тому.
#новости
Unity Blog
7 tutorials to help uplevel your Unity skills in 2023 | Unity Blog
Have a Unity-centered New Year’s resolution? We’ve curated seven resources to help you conquer new skills or improve upon existing ones in 2023.
👍3❤1
Про JPEG
https://www.youtube.com/watch?v=0me3guauqOU
Интересный ролик про JPEG. Всегда интересно разбирать алгоритмы сжатия и т.п. Когда понимаешь идеи лежащие в этом всём, то становится понятнее как решать более сложные задачи. А текстуры — это одна из основных сущностей игровой разработке. И понимать их устройство, что такое цветовые пространства, что такое изображение в памяти и так далее. Это даёт в разы больше инструментов для реализации классных проектов.
#интересное
https://www.youtube.com/watch?v=0me3guauqOU
Интересный ролик про JPEG. Всегда интересно разбирать алгоритмы сжатия и т.п. Когда понимаешь идеи лежащие в этом всём, то становится понятнее как решать более сложные задачи. А текстуры — это одна из основных сущностей игровой разработке. И понимать их устройство, что такое цветовые пространства, что такое изображение в памяти и так далее. Это даёт в разы больше инструментов для реализации классных проектов.
#интересное
YouTube
The Unreasonable Effectiveness of JPEG: A Signal Processing Approach
Visit https://brilliant.org/Reducible/ to get started learning STEM for free, and the first 200 people will get 20% off their annual premium subnoscription.
Chapters:
00:00 Introducing JPEG and RGB Representation
2:15 Lossy Compression
3:41 What information…
Chapters:
00:00 Introducing JPEG and RGB Representation
2:15 Lossy Compression
3:41 What information…
👍8
Media is too big
VIEW IN TELEGRAM
Doom запустили в инспекторе
https://github.com/xabblll/DoomInUnityInspector
Есть такое дело, дум запускать где угодно. И вот и на Unity запустили Doom. Можно поиграть в инспекторе :) Если вдруг кто забыл управление. Ctrl стрелять, пробел открывать использовать (открывать двери)
Чтобы установить себе в редактор и заниматься более важными вещами чем какая-то там разработка нужно в Package Manager добавить git url https://github.com/xabblll/DoomInUnityInspector.git
И всё. Дум работает. На версии 2021.3.16 — протестировано :)
#новости
https://github.com/xabblll/DoomInUnityInspector
Есть такое дело, дум запускать где угодно. И вот и на Unity запустили Doom. Можно поиграть в инспекторе :) Если вдруг кто забыл управление. Ctrl стрелять, пробел открывать использовать (открывать двери)
Чтобы установить себе в редактор и заниматься более важными вещами чем какая-то там разработка нужно в Package Manager добавить git url https://github.com/xabblll/DoomInUnityInspector.git
И всё. Дум работает. На версии 2021.3.16 — протестировано :)
#новости
😁21
Как же иногда бесит Git LFS
Git lfs часто и любопытно ломается. То какой-то файл найти не может, то что-то ещё. Особенно забавно он себя начинает вести с несколькими ремоутами. Так как там если у тебя локально нет какого-то файла, то запушить бывает целым приключением. За последние 2 месяца правил я какие-то проблемы уже дважды. Сейчас вот, так как у нас был переезд сервера гитлаба на новый, то как бы гит проблемы не увидел. Того, что это атака по середине и его ssh клиент почему-то не ругался. А вот lfs же (так как у меня не было одного файла, мне нужно было сделать git lfs fetch --all) начал ругаться. Ок. Сделали хендшейк с хостом, вроде всё ок? Не, теперь он просит пароль при ssh подключении. Кайф
Но бесит даже не это. Но любопытно такой кайф только под виндой? Промт с паролем нельзя закрыть не убив процессы руками. Ну то есть git-lfs будто бы не знает концепт "сопроцессов". Так как ожидаешь поведение. ЛФС сопросцесс гит клиента, ssh клиенты сопроцессы lfs. Поэтому когда закрываешь гит, всё должно закрыться. Но нет. Оно всё равно открывает окно с паролем. Допустим вы знаете, что этот промт открывает процесс ssh. Но просто закрыть его нельзя, так как ssh клиент будет переподнят git lfs. Поэтому сначала убивается гит лфс, а потом ссх клиент. И даже логику транзакций так обработать не трудно, создав демона для этой задачи, если рассуждать что с "сопроцессами" что-то пойдёт не так. Все локи и прочее в гите — это текстовые файлы конфигурации. Ну сейчас нет никакой проблемы хоть перед опасными операциями делать полный бекап, а потом восстанавливать из него "демоном" если процесс закрылся как-то не так. Но незакрывающиеся окна — это раздражает.
Ладно, пойду что ли ремоут пока на https заменю, чтобы сделать то, что мне надо. Это вероятно сработает.
Git lfs часто и любопытно ломается. То какой-то файл найти не может, то что-то ещё. Особенно забавно он себя начинает вести с несколькими ремоутами. Так как там если у тебя локально нет какого-то файла, то запушить бывает целым приключением. За последние 2 месяца правил я какие-то проблемы уже дважды. Сейчас вот, так как у нас был переезд сервера гитлаба на новый, то как бы гит проблемы не увидел. Того, что это атака по середине и его ssh клиент почему-то не ругался. А вот lfs же (так как у меня не было одного файла, мне нужно было сделать git lfs fetch --all) начал ругаться. Ок. Сделали хендшейк с хостом, вроде всё ок? Не, теперь он просит пароль при ssh подключении. Кайф
Но бесит даже не это. Но любопытно такой кайф только под виндой? Промт с паролем нельзя закрыть не убив процессы руками. Ну то есть git-lfs будто бы не знает концепт "сопроцессов". Так как ожидаешь поведение. ЛФС сопросцесс гит клиента, ssh клиенты сопроцессы lfs. Поэтому когда закрываешь гит, всё должно закрыться. Но нет. Оно всё равно открывает окно с паролем. Допустим вы знаете, что этот промт открывает процесс ssh. Но просто закрыть его нельзя, так как ssh клиент будет переподнят git lfs. Поэтому сначала убивается гит лфс, а потом ссх клиент. И даже логику транзакций так обработать не трудно, создав демона для этой задачи, если рассуждать что с "сопроцессами" что-то пойдёт не так. Все локи и прочее в гите — это текстовые файлы конфигурации. Ну сейчас нет никакой проблемы хоть перед опасными операциями делать полный бекап, а потом восстанавливать из него "демоном" если процесс закрылся как-то не так. Но незакрывающиеся окна — это раздражает.
Ладно, пойду что ли ремоут пока на https заменю, чтобы сделать то, что мне надо. Это вероятно сработает.
❤1🤯1
Нейросети и скандалы
https://www.reddit.com/r/Art/comments/105o2dg/artistic_integrity_is_under_attack_me_digital_2023/
Скандалы с артом продолжаются. Раньше у нас художники защищались от нейроарта. А теперь их решение наносит ответный удар, но уже на реддите. Это отлично показывает почему нельзя "взять и забанить AI арт". Хотя любопытно то, что модератор посоветовал сменить стиль. Это довольно странно и грубо.
Как год заканчивался нейросетями, так как ChatGPT и Midjorney выглядят как магия, так он видимо и начнётся.
#новости
https://www.reddit.com/r/Art/comments/105o2dg/artistic_integrity_is_under_attack_me_digital_2023/
Скандалы с артом продолжаются. Раньше у нас художники защищались от нейроарта. А теперь их решение наносит ответный удар, но уже на реддите. Это отлично показывает почему нельзя "взять и забанить AI арт". Хотя любопытно то, что модератор посоветовал сменить стиль. Это довольно странно и грубо.
Как год заканчивался нейросетями, так как ChatGPT и Midjorney выглядят как магия, так он видимо и начнётся.
#новости
Reddit
From the Art community on Reddit: artistic integrity is under attack, me, digital, 2023
Posted by gr1imly - 153,132 votes and 94 comments
🤡2🔥1
Вопрос-ответ 3
Например, есть класс переключатель панелей юай. Где располагаешь скрипты в иерархии? Он бы находился на объекте канваса среди других компонентов, или на пустом отдельном объекте? Как ребенок канваса или как отдельный объект?
Скрины будут чуть ниже, так как ответ будет длинным. Тут важно понимать вот что. Я не люблю Code First подход. Вообще. Я считаю его неудобным. И дальше я объясню почему и схему организации используемую почти во всех проектах.
Менеджеры
Отвечая конкретно на на вопрос. Для меня класс переключатель экранов — это менеджер экранов. Я бы его обозвал каким-нить роутером, так как в будущем он может пригодится для функционала дип линок. Поэтому он лежал бы в [MANAGERS] из первого скриншота. Многие менеджеры — это монобехи, если им нужны Start, Awake или Update, которые лежат в отдельном объекте в сцене.
Я не люблю делать какой-то бусстрап скрипт или любую централизованную систему запуска приложения. Мне нравится когда по сути все "сервисы" или фичи имеют свой менеджер, свои реализации, свою инициализацию и т.п. И не запускаются из какой-то одной точки.
GUI
Интерфейсы же очевидно являются монобехами. Скрипты это обычно вроде UIPanel или типа того, которые управляют отрисовкой и вызывают методы или кидают события, которые реализует интерфейс. И тут хочется сделать важную ремарку. Я терпеть не могу в них Code First процесс. Особенно часто встречаемое AddListener на кнопки в гуе, вместо прокидывания через сериализацию Unity и вот почему.
Чем плох Code First? И зачем нужна такая организация?
Когда вы единственный разработчик системы, знаете свою систему и никому никогда не нужно её поддерживать. Пишите как чувствуете. А в остальных случаях давайте разберём такую вещь как расследование бага в неизвестной тебе фиче.
У вас баг, что по какой-то кнопке неверно что-то работает. Как проще всего локализовать проблему? Представим сложную панель и два случая. Баг причём визуальный и без логов, скажем вёрстка едет.
Случай первый. Кнопка подписана через сериализацию на то, что она запускает. Вы заходите в сцену. Проходите до того, чтобы инстанцировался нужный гуй. Находите кнопку и видите, что она вызывает.
Случай второй. У вас подписана в виджете в AddListener. Напоминаю, вы не знаете устройство системы. И допустим коллега, что её делал в отпуске или это легаси, и его уже нет в компании. Вы делаете тоже самое, смотрите все виджеты и скрипты в панели, пока не найдёте кнопку на которую будет подписка. И хорошо если по названиям нет дубликатов, чтобы не запутаться. Либо гадаете где она вызывается по IDE или логике названий. Либо самый длинный путь идти от точки входа подсистемы и разбираться где вызов именно этой кнопки.
Организация по "подпапкам" и т.п. выполняет ту же функцию. Как и строгие грамотные названия, организация ассетов. Всё нужно организовывать так, чтобы вам потом было удобно расследовать "что не так". И в целом разбираться в том, как работает проект. А благодаря редактору удобно это делать разрабатывая всё по схеме MVVM и используя все возможности визуального связывания с моделью.
Напоминаю, что интересующие вас вопросы можно задать тут.
#вопросы
Например, есть класс переключатель панелей юай. Где располагаешь скрипты в иерархии? Он бы находился на объекте канваса среди других компонентов, или на пустом отдельном объекте? Как ребенок канваса или как отдельный объект?
Скрины будут чуть ниже, так как ответ будет длинным. Тут важно понимать вот что. Я не люблю Code First подход. Вообще. Я считаю его неудобным. И дальше я объясню почему и схему организации используемую почти во всех проектах.
Менеджеры
Отвечая конкретно на на вопрос. Для меня класс переключатель экранов — это менеджер экранов. Я бы его обозвал каким-нить роутером, так как в будущем он может пригодится для функционала дип линок. Поэтому он лежал бы в [MANAGERS] из первого скриншота. Многие менеджеры — это монобехи, если им нужны Start, Awake или Update, которые лежат в отдельном объекте в сцене.
Я не люблю делать какой-то бусстрап скрипт или любую централизованную систему запуска приложения. Мне нравится когда по сути все "сервисы" или фичи имеют свой менеджер, свои реализации, свою инициализацию и т.п. И не запускаются из какой-то одной точки.
GUI
Интерфейсы же очевидно являются монобехами. Скрипты это обычно вроде UIPanel или типа того, которые управляют отрисовкой и вызывают методы или кидают события, которые реализует интерфейс. И тут хочется сделать важную ремарку. Я терпеть не могу в них Code First процесс. Особенно часто встречаемое AddListener на кнопки в гуе, вместо прокидывания через сериализацию Unity и вот почему.
Чем плох Code First? И зачем нужна такая организация?
Когда вы единственный разработчик системы, знаете свою систему и никому никогда не нужно её поддерживать. Пишите как чувствуете. А в остальных случаях давайте разберём такую вещь как расследование бага в неизвестной тебе фиче.
У вас баг, что по какой-то кнопке неверно что-то работает. Как проще всего локализовать проблему? Представим сложную панель и два случая. Баг причём визуальный и без логов, скажем вёрстка едет.
Случай первый. Кнопка подписана через сериализацию на то, что она запускает. Вы заходите в сцену. Проходите до того, чтобы инстанцировался нужный гуй. Находите кнопку и видите, что она вызывает.
Случай второй. У вас подписана в виджете в AddListener. Напоминаю, вы не знаете устройство системы. И допустим коллега, что её делал в отпуске или это легаси, и его уже нет в компании. Вы делаете тоже самое, смотрите все виджеты и скрипты в панели, пока не найдёте кнопку на которую будет подписка. И хорошо если по названиям нет дубликатов, чтобы не запутаться. Либо гадаете где она вызывается по IDE или логике названий. Либо самый длинный путь идти от точки входа подсистемы и разбираться где вызов именно этой кнопки.
Организация по "подпапкам" и т.п. выполняет ту же функцию. Как и строгие грамотные названия, организация ассетов. Всё нужно организовывать так, чтобы вам потом было удобно расследовать "что не так". И в целом разбираться в том, как работает проект. А благодаря редактору удобно это делать разрабатывая всё по схеме MVVM и используя все возможности визуального связывания с моделью.
Напоминаю, что интересующие вас вопросы можно задать тут.
#вопросы
Google Docs
Вопросы Григорию Дядиченко
Форма для вопросов в блог https://news.1rj.ru/str/+pP5hUX-sqVc1ZDgy. Задать вопрос можно в любой форме, проверять я буду раз в неделю. И периодически напоминать о существовании такой формы.
👍4😐4
Крутая инфа по левел-дизайну
Хочу порекомендовать блог своего приятеля.
Вася эксперт в игровой индустрии. Прошёл путь от тестировщика и PM до геймдизайнера и продюсера. Но основной его опыт и страсть - левел-дизайн. В его канале можно найти как инструменты для прототипирования игр и разбор дизайнерских решений, так и новости игр, приправленные авторскими инсайдами и замечаниями.
Самые интересные публикации он собрал в закрепе. Там даже есть его личный цикл по левел-дизайну, участвующий в конкурсе Технотекст 2022 на Хабр.
Все комментарии он читает и активно отвечает. Подпишитесь, передайте привет!
#реклама
Хочу порекомендовать блог своего приятеля.
Вася эксперт в игровой индустрии. Прошёл путь от тестировщика и PM до геймдизайнера и продюсера. Но основной его опыт и страсть - левел-дизайн. В его канале можно найти как инструменты для прототипирования игр и разбор дизайнерских решений, так и новости игр, приправленные авторскими инсайдами и замечаниями.
Самые интересные публикации он собрал в закрепе. Там даже есть его личный цикл по левел-дизайну, участвующий в конкурсе Технотекст 2022 на Хабр.
Все комментарии он читает и активно отвечает. Подпишитесь, передайте привет!
#реклама
👍7🔥1🗿1
Вооружимся архитектурой
#задачка
Итак, началась трудовая неделя. Сегодня у нас день холиварных тем. Утро началось с обсуждения подходов к архитектуре, так что самое время для архитектурной задачи :)
Вы решили сделать с друзьями свой скайрим. У вас пока в игре есть два вида оружия: молот и меч. Они отличаются уроном, прочностью и скоростью атаки. Плюс логикой атаки. Атака молота аое в круговой зоне. Атака меча бьёт до 3 ближайших противников. К вам пришёл катжит и за лунный сахар предложил купить у него схему архитектуры на картинке выше. Предложите решение лучше. В чём проблема данной схемы?
Решение теперь будет публиковаться на следующий день или позже, чтобы не спамить кучей сообщений. Тут решение не единственное верное. Но я распишу моё решение такой задачи с обоснованием. Так сказать условия чтобы размять свои архитектурные извилины.
#задачка
Итак, началась трудовая неделя. Сегодня у нас день холиварных тем. Утро началось с обсуждения подходов к архитектуре, так что самое время для архитектурной задачи :)
Вы решили сделать с друзьями свой скайрим. У вас пока в игре есть два вида оружия: молот и меч. Они отличаются уроном, прочностью и скоростью атаки. Плюс логикой атаки. Атака молота аое в круговой зоне. Атака меча бьёт до 3 ближайших противников. К вам пришёл катжит и за лунный сахар предложил купить у него схему архитектуры на картинке выше. Предложите решение лучше. В чём проблема данной схемы?
Решение теперь будет публиковаться на следующий день или позже, чтобы не спамить кучей сообщений. Тут решение не единственное верное. Но я распишу моё решение такой задачи с обоснованием. Так сказать условия чтобы размять свои архитектурные извилины.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
UV Checker
http://uvchecker.byvalle.com/
Прикольная тулза генерирующая разные uv-checker текстуры. Если вы занимаетесь VFX или шейдерами, то у вас по любому под рукой должны быть такие текстуры.
Я когда-то добью свой тулкит с меш генерацией разных примитивов для VFX (по нему у меня пока творческий кризис). И так как там есть автогенерация uv для моделей и прочего. И поэтому я часто пользуюсь такими текстурами, чтобы проверять, что всё отработало корректно и нигде ничего не деформировалось.
#новости
http://uvchecker.byvalle.com/
Прикольная тулза генерирующая разные uv-checker текстуры. Если вы занимаетесь VFX или шейдерами, то у вас по любому под рукой должны быть такие текстуры.
Я когда-то добью свой тулкит с меш генерацией разных примитивов для VFX (по нему у меня пока творческий кризис). И так как там есть автогенерация uv для моделей и прочего. И поэтому я часто пользуюсь такими текстурами, чтобы проверять, что всё отработало корректно и нигде ничего не деформировалось.
#новости
❤🔥4👏1
Игры в рекламе
https://www.glossy.co/beauty/pradas-candy-crush-fragrance-campaign-drives-sales-bounce-1800-traffic-growth/
Прикольный кейс как с помощью интеграции бренда в игру получилось увеличить трафик и продажи на 1800%. Возможно настанет эра продакт плейсмента в играх (хотя он и так в некоторой степени присутствует). Я всегда любил игры и геймфикацию. Даже целый продукт на эту тему сделал в прошлом году https://whitelabelgames.ru :) Теперь будет можно говорить чуть увереннее «Как это зачем вам нужна игра в вашем приложении? Вот что Prada делает».
#новости
https://www.glossy.co/beauty/pradas-candy-crush-fragrance-campaign-drives-sales-bounce-1800-traffic-growth/
Прикольный кейс как с помощью интеграции бренда в игру получилось увеличить трафик и продажи на 1800%. Возможно настанет эра продакт плейсмента в играх (хотя он и так в некоторой степени присутствует). Я всегда любил игры и геймфикацию. Даже целый продукт на эту тему сделал в прошлом году https://whitelabelgames.ru :) Теперь будет можно говорить чуть увереннее «Как это зачем вам нужна игра в вашем приложении? Вот что Prada делает».
#новости
Glossy
Glossy Pop Newsletter: A 10-year-old Urban Decay eyeshadow is back, thanks to Gen Z
For Prada Fragrance's foray into the casual gaming space via a new Candy Crush campaign, the payoff has been sweet.
🔥3
Главный навык разработчика
Чем отличается сеньор от джуна? Можно долго дискутировать насколько хорошо надо знать чистую архитектуру, паттерны и солид. Сколько строк кода написать и лет отслужить в разработке. Сколько языков, фреймворков знать. И я считаю всё это фигнёй.
Есть мнение, что сеньор — это тот, кому можно дать задачу и отвернуться. И она будет сделана. И сделана хорошо. Всем уровням ниже нужен контроль. И это ближе к истине.
Я считаю главный навык серьора уметь докапываться до сути проблем и вещей. Не соврешать глупых ошибок, иметь набор привычек — может и мидл. Но сеньор видя проблему первоначально разберётся: «а в чём она действительно заключается?»
И это набор техник и навыков проводить такие вещи правильно. И любой серьор знает главное. Нельзя верить стековерфлоу, гуглу и т.п.
Я встречал много бредовых, тупых, неправильных ответов. И давно разучился копипастить со стековерфлоу, пока не пойму «а что конкретно делает то решение, которое мне предлагают». Для примера возьмём недавний пост с метрикой.
Вы не шарите как работает градл. И это относительно норма для юнити разраба, хотя разобраться в системе конфигурации сборки и её конфигах — не то чтобы прям рокет саенс. Вы находите (как и я), решение в интернете в виде моего решения костыля, с удалением зависимости через град. И копипастите не разобравшись что это. По сути у вас может дальше сломаться приложение и вы не в курсе, что вы создали потенциальный риск в системе. Баг исправился, тесты прошли, всё хорошо. Хорошо же?
Нет, так как это решение костыль. И если в проблеме покопаться (у меня задача полного расследования заняла 4 часа) То в ишью аркора можно найти, что это баг гугла и в какой версии его поправили. И найти настоящее решение бага. Не костыльное и без рисков.
Помимо этого есть случаи, когда ты копаешься в край, так как понимаешь, что «ну не может это не работать, иначе об этом бы кричал весь интернет». И это на мой взгляд отличает сеньора. Он не гадает. Он разбирается в сути. И если решается делать костыль, то именно потому что всё понятно, это и называется — воркэраунд. Сеньор не оставляет проблему без полного понимания и не ведётся на ответы из интернета, так как понимает суть программирования. Он не просто пишет код, он умеет «понимать систему». И понимать, как отсекать варианты идей о том в чём заключается проблема быстро и оперативно.
#мысли
Чем отличается сеньор от джуна? Можно долго дискутировать насколько хорошо надо знать чистую архитектуру, паттерны и солид. Сколько строк кода написать и лет отслужить в разработке. Сколько языков, фреймворков знать. И я считаю всё это фигнёй.
Есть мнение, что сеньор — это тот, кому можно дать задачу и отвернуться. И она будет сделана. И сделана хорошо. Всем уровням ниже нужен контроль. И это ближе к истине.
Я считаю главный навык серьора уметь докапываться до сути проблем и вещей. Не соврешать глупых ошибок, иметь набор привычек — может и мидл. Но сеньор видя проблему первоначально разберётся: «а в чём она действительно заключается?»
И это набор техник и навыков проводить такие вещи правильно. И любой серьор знает главное. Нельзя верить стековерфлоу, гуглу и т.п.
Я встречал много бредовых, тупых, неправильных ответов. И давно разучился копипастить со стековерфлоу, пока не пойму «а что конкретно делает то решение, которое мне предлагают». Для примера возьмём недавний пост с метрикой.
Вы не шарите как работает градл. И это относительно норма для юнити разраба, хотя разобраться в системе конфигурации сборки и её конфигах — не то чтобы прям рокет саенс. Вы находите (как и я), решение в интернете в виде моего решения костыля, с удалением зависимости через град. И копипастите не разобравшись что это. По сути у вас может дальше сломаться приложение и вы не в курсе, что вы создали потенциальный риск в системе. Баг исправился, тесты прошли, всё хорошо. Хорошо же?
Нет, так как это решение костыль. И если в проблеме покопаться (у меня задача полного расследования заняла 4 часа) То в ишью аркора можно найти, что это баг гугла и в какой версии его поправили. И найти настоящее решение бага. Не костыльное и без рисков.
Помимо этого есть случаи, когда ты копаешься в край, так как понимаешь, что «ну не может это не работать, иначе об этом бы кричал весь интернет». И это на мой взгляд отличает сеньора. Он не гадает. Он разбирается в сути. И если решается делать костыль, то именно потому что всё понятно, это и называется — воркэраунд. Сеньор не оставляет проблему без полного понимания и не ведётся на ответы из интернета, так как понимает суть программирования. Он не просто пишет код, он умеет «понимать систему». И понимать, как отсекать варианты идей о том в чём заключается проблема быстро и оперативно.
#мысли
Telegram
Григорий Дядиченко
Appmetrica и ARCore
Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity).…
Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity).…
🔥7👍3🤯1
Apple Reality Pro
https://www.gamedeveloper.com/business/report-apple-preparing-reality-pro-headset-for-fall-2023-release-
Конечно информация не подтвержденная, но если Apple выпустит свою гарнитуру в 2023 году, то будет интересно изменит ли это как-то AR&VR рынок.
#новости
https://www.gamedeveloper.com/business/report-apple-preparing-reality-pro-headset-for-fall-2023-release-
Конечно информация не подтвержденная, но если Apple выпустит свою гарнитуру в 2023 году, то будет интересно изменит ли это как-то AR&VR рынок.
#новости
Game Developer
Report: Apple preparing Reality Pro headset for fall 2023 release
Apple will reportedly reveal its Reality Pro mixed reality headset in June ahead of a planned fall 2023 release.
Почему ТЗ стоит денег?
https://habr.com/ru/post/709784/
Написал статью в несвойственный для себя хаб. Так сказать решил скомпилировать небольшой опыт управления проектами и рассказать почему тз стоит денег и это так важно. Не всегда конечно получается составить грамотное тз, так как часто приходится работать с горящими проектами. Но тем кто работает в фрилансе, аутсорсе или заказывает подрядные работы статья может быть полезна. Да и просто для общего ознакомления с аутсорсом.
Делитесь статьей, если она вам понравится, с теми, кому она может быть интересна. Это мотивирует писать больше интересных статей, да и в целом развивать блог :)
#статья
https://habr.com/ru/post/709784/
Написал статью в несвойственный для себя хаб. Так сказать решил скомпилировать небольшой опыт управления проектами и рассказать почему тз стоит денег и это так важно. Не всегда конечно получается составить грамотное тз, так как часто приходится работать с горящими проектами. Но тем кто работает в фрилансе, аутсорсе или заказывает подрядные работы статья может быть полезна. Да и просто для общего ознакомления с аутсорсом.
Делитесь статьей, если она вам понравится, с теми, кому она может быть интересна. Это мотивирует писать больше интересных статей, да и в целом развивать блог :)
#статья
Хабр
Почему ТЗ стоит денег?
Всем привет, меня зовут Дядиченко Григорий и я технический продюсер. Я в аутсорсе в роли фрилансера, аутсорс студии, заказчика и подрядчика уже 6 лет. В 2017 году я ушёл с последней постоянной работы...
👍9🔥1
Огромная подборка книг про геймдев
https://habr.com/ru/post/709684/
Если кому-то нужен список литературы на лето чтобы знать всё про геймдев — то вот он. Как общий глоссарий всяких книг может пригодится. Я тоже переодически составляю подборки. По рендеру как пример. Мне иногда в подборках правда не хватает инфы что в каком порядке читать и кому. Так как по той же разработке мне не хватает Рихтера. Но с другой стороны я бы не стал начинать изучения шарпа с Рихтера.
Хотя главное помнить всем юнити разрабам, что Рихтера прочесть надо обязательно и весьма желательно его перечитывать раз в несколько лет.
#новости
https://habr.com/ru/post/709684/
Если кому-то нужен список литературы на лето чтобы знать всё про геймдев — то вот он. Как общий глоссарий всяких книг может пригодится. Я тоже переодически составляю подборки. По рендеру как пример. Мне иногда в подборках правда не хватает инфы что в каком порядке читать и кому. Так как по той же разработке мне не хватает Рихтера. Но с другой стороны я бы не стал начинать изучения шарпа с Рихтера.
Хотя главное помнить всем юнити разрабам, что Рихтера прочесть надо обязательно и весьма желательно его перечитывать раз в несколько лет.
#новости
Хабр
150 книг для тех, кто делает игры
С Новым Годом уважаемые читатели! Как можно понять из заголовка я собрал для вас 150 книг (и несколько полезных ссылок) из областей разработки игр, геймдизайна, нарративного дизайна и прочих смежных...
🔥12👍1
Volumetric Ocean System Unity
https://80.lv/articles/a-volumetric-ocean-system-set-up-in-unity/
Симатичная система волюметрического океана, которую разработчик разрабатывает для своей игры. Вода, огонь и архитектура — это вечные темы разработки конечно :)
#новости
https://80.lv/articles/a-volumetric-ocean-system-set-up-in-unity/
Симатичная система волюметрического океана, которую разработчик разрабатывает для своей игры. Вода, огонь и архитектура — это вечные темы разработки конечно :)
#новости
80LV
A Volumetric Ocean System Set Up in Unity
The system was developed by Mike Bushell for an upcoming game.
❤3👍1
Планы Unity на будущее
https://unity.com/roadmap/unity-platform
Общаясь с одним знакомым я с удивлением узнал что он не в курсе что у Unity есть публичные роадмапы и планы. Юнити с давних времён в разных форматах выкладывает то, что планирует сделать в будущих версиях. Это не всегда исполняется, но часто показывает горизонт планирования и о чём думает Unity. Помимо этого там же можно проголосовать насколько важна та или иная фича для вас. Я очень хочу чтобы была сделана и потыкать такую фичу, как Shader Quality Settings. Это бы в ряде проектов мне пригодилось, где я пользуюсь Unity шейдерами. Вдруг вы тоже не знали, что такое есть.
#интересное
https://unity.com/roadmap/unity-platform
Общаясь с одним знакомым я с удивлением узнал что он не в курсе что у Unity есть публичные роадмапы и планы. Юнити с давних времён в разных форматах выкладывает то, что планирует сделать в будущих версиях. Это не всегда исполняется, но часто показывает горизонт планирования и о чём думает Unity. Помимо этого там же можно проголосовать насколько важна та или иная фича для вас. Я очень хочу чтобы была сделана и потыкать такую фичу, как Shader Quality Settings. Это бы в ряде проектов мне пригодилось, где я пользуюсь Unity шейдерами. Вдруг вы тоже не знали, что такое есть.
#интересное
👍5