Gamedev suffering
8.25K subscribers
853 photos
70 videos
13 files
2.23K links
Авторский блог Андрея Апанасика о разработке игр и индустрии.

Разрабытываю сервис для оперирования LiveOps: https://balancy.co

Мысли про другие вещи мне интересные: @apanasik_jobless

Реклама: https://t.me/gamedev_suffering/2202
Админ @Suvitruf
Download Telegram
Простите, что мусолю эту тему, но Unity на вопрос о том, почему ToS снесли, ответила, буквально, что там «было мало просмотров».

😱

#unity
Please open Telegram to view this post
VIEW IN TELEGRAM
Ого, что это тут у нас? Неплохая техническая статья про C# Job System, Burst compiler и BatchRendererGroup в блоге Unity?

#unity
Явно все уже в курсе, что Джон Ричителло покинул пост главы Unity. На фоне скандала вокруг смены лицензирования ожидаемый ход. Но, что удивило, вижу мнение, даже среди людей из индустрии, что это приведёт к каким-то (позитивным) изменениям. Смею вас расстроить — ничего не изменится. Ричителло просто стал козлом отпущения.

И отдельно отмечу, что смена главы ни на что не повлияет не только потому что на его место придёт такой же корпорат, но и, в основном, потому что роль чисто номинальная. Всем рулит совет директоров, а люди там специфичные. К тому же, финансовая дыра в области ̶п̶а̶х̶ движка никуда не делась, компании всё ещё надо этот вопрос решить.

#unity #скандалы
В курсе, думаю, про Cities: Skylines 2 и печальную производительность. Хорошая статейка с разбором. Основной момент связан с тем, что такие игры обычно сжирают много CPU, но Cities: Skylines 2 почему-то очень грузит GPU.

А причины две:
1. Слишком много ненужной геометрии. Про это уже кучу мемасиков сделали.
2. Использование DOTS+HDRP (да, игра на Юнити, кто не знал).

Многие проблемы бы решили LOD'ы и дефолтная culling система, вот только...Colossal Order запилили собственную не очень оптимальную реализацию кулинга. А это, в свою очередь, было вызвано тем, что им пришлось пилить много чего самим на стороне рендера, т. к, внезапно, у Unity всё ещё не всё гладко с интеграцией DOTS и HDRP (кек).

Как автор статьи заключает: разрабы, скорей всего, начали пилить на экспериментальной версии DOTS, чтоб не упереться в CPU, что в итоге привело к тому, что игра упёрлась в GPU.

Реализация виртуальных текстур в игре тоже своя, кстати, т. к. Юнитишная в бете.

#unity #DOTS
За неделю много всяких новостей по Unity появилось. Поэтому одним постом опубликую.

- Юнитишная команда, занимающаяся Shader Graph, объявила о выпуске новых сэмпловых проектов, доступных для 2021 LTS, 2022 LTS и будущих релизов. В коллекции более 140 Shader Graph.
- Релиз Unity 2023.2 Tech Stream. Улучшения по части графики, Shader Graph для UGUI, поддержка Meta Quest 3, новые AR, VR, MR шаблоны, улучшения по части UI Toolkit и рантайм биндингов, новый модуль Highlights module для профайлинга. И много другого.
- Возврат к корням: следующая версия движка с новыми ИИ-инструментами будет Unity 6. Разработчики получат ранний доступ к инструментам на базе ИИ: Unity Muse и Unity Sentis. Дадут потыкать WebGPU и Unity Cloud для работы в команде.
- Бетка Unity Asset Manager. Все ассеты в одном месте, с просмотрщиком, для удобной работы в команде. Unity Industry subscription включает 120 гиг на место.

#unity
Forwarded from Заметки безработного Апанасика (Andrei Apanasik (Balancy))
Трудовые будни с Unity. В WebGL билде UnityWebRequest посылал порой закарапченный json. Почему? Фиг его знает. Я оборачивал вызов UploadHandlerRaw в using, чтобы у меня не было ошибок к редакторе об утечках памяти (нет, ручной Dispose не помогал).

Но если UploadHandlerRaw создавать ручками и ручками диспоузить, то в WebGL всё норм. Правда, в редакторе ругается на лики. В итоге пришлось в if/else заворачивать и чекать платформу в рантайме 🙈

// for WebGL have to create and clean it manually, 'cause otherwise data will be corrupted
if (Application.platform == RuntimePlatform.WebGLPlayer)
{
uh = new UploadHandlerRaw(body);
request.uploadHandler?.Dispose();
request.uploadHandler = uh;
}
else
{
// looks like Unity internally creates handler,
// so we need to clear this shit to prevent memory leaks 🤦‍♂️
// https://forum.unity.com/threads/a-native-collection-has-not-been-disposed-resulting-in-a-memory-leak.1136068/
using (var uh2 = new UploadHandlerRaw(body))
{
request.uploadHandler?.Dispose();
request.uploadHandler = uh2;
}
}


Обсуждение на форуме.

#unity
Иронично 😂

#unity #WebGPU
Please open Telegram to view this post
VIEW IN TELEGRAM
Не первый такой твит от бывших сотрудников Unity (Майк в Юнити много лет проработал как тех. дир), мол «компания разваливается на части». Кейсы, которые раньше закрывались за дни, сейчас резолвятся за месяцы.

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

#unity