Gamedev suffering
6.75K subscribers
765 photos
60 videos
13 files
2.1K links
Авторский блог Андрея Апанасика о разработке игр и индустрии.

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

Мысли про ругие вещи мне интересные: @apanasik_jobless почитать.

Реклама: https://t.me/gamedev_suffering/2202
Админ @Suvitruf
Download Telegram
Рассказ разработчика Spelunky 2 с GDC 2021.

Дерек Ю рассказал, как появилась идея сиквела, как проходило разработка и в целом поразмышлял про текущее состояние инди и роглайтов.

Из забавного — сравнивает подобные игры с острой едой. Если человек никогда не пробовал, то вообще не оценит. Чтоб помимо дискомфорта испытать наслаждение, нужно сделать множество подходов.

#Spelunky2 #GDC
Экспрессивный доклад с GDC 2021 от Карен Стивенс с конкретными примерами того, как сделать игры более доступными. Речь как про конкретные устройства, так и про настройки внутри игр.

И, что самое важное, часть подобных настроек не требует больших ресурсов на реализацию, но позволит насладиться игрой тем, кто иначе не смог бы.

#GDC
В своём докладе с GDC 2021 года музыкальный руководитель и композитор CDPR Марцин Пшибылович и старший композитор П.Т. Адамчик делятся творческими подходами, которые они использовали при написании музыки для Cyberpunk 2077.

#GDC #Cyberpunk2077
Полезный доклад от Bend Studio про людской ИИ в Days Gone. По большей части тут не про логику отдельного актора, а про сквады и то, как происходит организация компаньонов в рамках группы.

Рассказано всё на концептуальном уровне. Будет понятно даже тем, кто с ИИ никогда не работал.

#GDC #DaysGone #AI
Норм доклад от Bluepoint Games. Докладчик начинает с Shadow of the Colossus, но дальше и про другие игры рассказывает. Конкретные примеры и конкретные проблемы/подходы обсуждает. То, что надо.

Несколько моментов, который запомнились. При использование сторонних библиотек:
1. Если библиотека не даёт прямого контроля над тем, как она получает память — не используйте её.
2. Если не можете управлять поведением библиотеки в многопоточной среде — не используйте её.
3. Если не можете контролировать то, как библиотека грузит файлы — не используйте её.

Не особо подробно про связь движков рассказал. Но несколько моментов:
1. Ориг. движок отвечает за логику.
2. Графон и многие другие подсистемы (звук, работа с файлами и т. д) крутятся в BPE.
3. В некоторых играх те же анимации (стейты) в ориг. движке, в каких-то выносили в BPE

Связанность движков минимальная. Иногда они пишут спец. прослойку между BPE и ориг. движком. Эта прослойка пишется под каждый проект (а потом выбрасывается), тогда как весь код BPE полностью переносится от проекта к проекту.

#BluepointGames #ShadowoftheColossus #GDC
AMD выложила видео и слайды своих презентаций с GDC 2022.

- FidelityFX Super Resolution 2.0
Видео
Презентация

- A guided tour of Blackreef: rendering technologies in Deathloop
Видео
Презентация

- Performant Reflective Beauty - Hybrid Raytracing with Far Cry 6
Видео
Презентация

- Raytracing Performance Revealed - How to optimize your game with the RDTS
Видео
Презентация

- Breaking down the world of Athia: the technologies of Forspoken
Видео
Презентация

- AMD Ryzen Processor Software Optimization
Видео
Презентация

#AMD #GDC
В презентации с GDC рассказывается о реализации deferred texturing. Техника разработана для снижения стоимости рендеринга растительности. Представлен подробный взгляд на различные этапы реализации, рассмотрено то, как интегрируется в пайплайн рендеринга Decima.

Дополнительно показано, как реализовать решение с VRS на оборудовании без нативной поддержки.

#HorizonForbiddenWest #GDC
Часто вижу ехидные смешки про оптимизацию и техническое состояние Halo Infinite. Всем советую посмотреть недавнее видео с GDC от разработчиков. Станет всё понятно. Я в треде в твиттере про это написал.

Всё дело в том, что при разработке Halo 5 движок был заточен под Xbox One с их 8 ядрами и фиксированным фпс. Для Infinite нужно было переделать движок, чтобы он работал под кучей разного железа (особенно на ПК) с варьирующимся фреймрейтом при этом.

Раньше они задачи раскидывали ручками на конкретные ядра. Большая проблема онбординга из-за этого. Даже если человек пишет абсолютно новую подсистему, то ему нужно разобраться, что за работа в основном потоке и что во вспомогательных.
К тому же, сложно добавлять новые подсистемы, чтобы не возникло проблем с синхронизацией.

Переписали движок, разделив часть по использованию времени CPU на 2 части: Fixed update, Variable update. Дальше очевидным решением было завести систему рабочих потоков. При этом, старое легаси говно никуда не делось. Пришлось добавить синкПоинты, когда основной поток ожидал, пока выполнятся jobs'ы.

Система рабочих потоков помогла:
1. Нормально зависимости задать.
2. Выделить части систем, чтоб они работали чисто на джобсах. Весь рендер в итоге на них стал крутиться.
3. Новичкам было проще погрузиться, т. к. они могли посмотреть хайлевел представление системы.

В целом решение оказалось норм. Но из больших проблем, например, отсутствие нормальной настройки зависимостей между данными и воркерами. Особенно если используются общие ресурсы.

#GDC #HaloInfinite
Очередной доклад про тестирование в геймдеве. Хоть, в целом, ничего нового, но хуже не будет, если закрепить основные тезисы.

- Хоть какие-то тесты лучше полного отсутствия.
- Профит от тестов виден будет не сразу.
- Тестировать чисто интерфейсы такое себе.
- Делать вещи публичными чисто ради теста плохо.
- Тестировать нужно по месту логики: ассерты и т.п.
- Стресс-тесты круто. Помогает отловить пограничные случаи за счёт массовости.
- Если чувствуете, что поддержка тестов слишком много ресурсов отнимает, попробуйте сменить гранулярность.

#тестирование #GDC
Хороший доклад про опенсорсную игру Space Station 13.

Разобраны плюсы/минусы разработки игры с открытым исходным кодом и рассказано про взаимодействие с сообществом.

#SpaceStation13 #GDC