Gamedev suffering
7.14K subscribers
783 photos
61 videos
13 files
2.13K links
Авторский блог Андрея Апанасика о разработке игр и индустрии.

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

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

Реклама: https://t.me/gamedev_suffering/2202
Админ @Suvitruf
Download Telegram
Между тем, вышел Unreal Engine 5.2. Основное: Procedural Content Generation Framework (PCG) для заполнения больших сцен в UE5 и Substrate, модульная система создания материалов.

Помимо этого появилась Chaos Flesh (система моделирования мышц и мягких тел в реальном времени), обновили Nanite, Lumen и Path tracing.

#ue5 #unrealengine
Тим Кейн порадовал нас очередным видео. В этот раз про разработку The Temple of Elemental Evil. Набросал основные моменты в посте.

Что пошло не так:
- Разделились на команды: одна делала The Temple of Elemental Evil, другая Vampire: The Masquerade – Bloodlines.
- Тим подписался с Atari сделать игру за 18 месяцев (New Vegas, например, у которой уже был подходящий движок и большая команда, тоже был сделан за 18 месяцев).
- Согласился добавить в игру барда и друида. Это очень сложные классы для реализации, нужно было до последнего напирать на то, чтобы их не добавлять.
- Атари предложили выбрать любой модуль, он выбрал этот из-за ностальгии (как он считает, зря).
- Многие новые сотрудники не знали по D&D вообще ничего.
- В середине разработки перешли с D&D 3.0 на 3.5. На это дали всего 2 месяца.

Атари в какой-то момент пересмотрели уже одобренные моменты:
1. Имена NPC (легко поменять).
2. Сделать так, чтобы детям нельзя было навредить. Слишком сложно реализовать. В итоговой версии их просто вырезали (хе-хе). Но в диалогах порой осталось упоминания, типа «детишки играют во дворе», а там никого не было.
3. Нужно было вырезать кучу контента.

За пару месяцев до релиза Тим решил сделать группу с бардом и почти сразу же наткнулся на кучу багов, он связаться с QA Атари, чтоб узнать, как так получилось. Те ответили, что им не нравится этот класс, поэтому они его не тестировали» 🙈

После релиза игры команда всё ещё выпускала патчи, но не все увидели свет из-за издателя.

Само видео: https://www.youtube.com/watch?v=t4718r53zAs

#TroikaGames #atari #TheTempleofElementalEvil
Недельный геймдев: #121 — 14 мая, 2023

📜 Обновления/релизы/новости
- Британский регулятор наложил дополнительные ограничения на Microsoft и Activision Blizzard
- Stability AI выпустили Stable Animation SDK, инструмент преобразования текста в анимацию
- Бета Marmoset Toolbag 4.06
- Unreal Engine 5.2
- Для Roblox в бете появилась поддержка glTF
- Steam обновил Online Conduct и явно прописал там байт и троллинг
- Теперь доступен ремастер сцены Sponza для Unity
- Авторы эмулятора Switch для Android решили остановить разработку на фоне нескольких DMCA-страйков от Nintendo
- Геймдизайнер Тим Кейн (один из создателей оригинальной Fallout) на Ютубе канал начал вести
- EA инвестирует в создание «игр как платформы»
- 7 июля стартует GMTK Game Jam 2023
- AMD представили Capsaicin Framework — исследовательскую ARR-платформу

🆓 Халява/раздачи/бандлы/курсы
- 370 бесплатных кистей для ZBrush от XMD Source
- Ultimate Unity Assets от Eldamar Studio

📝 Интересные статьи/видео
- «Упрощай, даже если команда тебя ненавидит»: Бен Броуд про разработку Marvel Snap
- 🇺🇸 Деконстракт внутриигрового магазина Clash of Clans (+шаблоны)
- «Нам не нравится класс, поэтому мы его не тестировали»: Тим Кейн рассказал про разработку The Temple of Elemental Evil
- 🇺🇸 Death of a Game: Back 4 Blood
- 🇺🇸 Разработчик Kingdom о создании пиксельного окружения
- 🇺🇸 Quake PVS: жемчужина оптимизации рендеринга
- Мультяшная графика продаётся лучше реалистичной. Так ли это на самом деле
- 🇺🇸 Создание реалистичных лицевых анимаций для The Quarry
- Руководство по игровому балансу. Часть 2
- 🇺🇸 UGC: как Fortnite (и Roblox) возглавляют следующую волну
- 🇺🇸 Что делает невозможного босса крутым
- Русские шашки: представление доски с помощью двух uint64
- 🇺🇸 Kabam об использовании Unreal Engine для разработки кроссплатформенных игр
- Урок на Unity. Интерактивное взаимодействие игрока с окружающими предметами в 3D с помощью меток
- 🇺🇸 The Lord of the Rings: Gollum переосмысливает Средиземье Толкина
- 🇺🇸 Небольшая хитрость при работе с сабдивами в ZBrush
- 🇺🇸 Как разработчики Darkest Dungeon II изменили ранний доступ
- 🇺🇸 Pokémon – Rapidash
- 🇺🇸 Подробное описание запуска Everspace в Steam
- 🇺🇸 5 уроков дизайна Breath of the Wild
- 🇺🇸 Безбюджетный маркетинг для инди-игр
- 🇺🇸 Как Mika на Kickstarter собрала 1,4 миллиона долларов
- 🇺🇸 Создание визуальных эффектов с помощью Niagara в Unreal Engine

📙 Разное
- Potato Lumen
- Стилизованное под Ghibli 3D-окружение, созданное в Unreal Engine
- Пиксельные облака пыли в Unity

#gamedevnews #дайджест
В Steam планируется обновочка по части треканья трафика 🥳

1. Трафик будет разбит по регионам.
2. Сильно улучшат идентификацию и добавят больше инфы по внешним источникам.
3. Отключат поддержку Google Analytics.

Что же касается utm-ссылок:
1. Если пользователь перешёл по ссылке в браузере, а затем перешёл в приложуху, то будут нормально это учитывать.
2. Окно отчётов по конверсиям уменьшится, можно будет в течение 24 часов смотреть.
3. Разбивка по регионам.
4. Разбивка по девайсу: мобилка или десктоп.
5. Разбивка на новых и старых игроков. Можно будет понять процент новых игроков.

#steam
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from dot(ufna, dev)
Весьма важный апдейт, который, к слову, показывает насколько анрил не то чтобы открыт. Гитовый репозиторий - лишь кусочек кода, куча всего льется в сетапе "из веба".

Ради интереса попробуйте завести эту машинку, не выполняя Setup.bat или отрубив интернет :)

И не то чтобы это не было секретом полишинеля, но ружье неприятненько выстрелило!

https://forums.unrealengine.com/t/upcoming-disruption-of-service-impacting-unreal-engine-users-on-github/1155880
На разработчика и издателя King of Avalon подали коллективный иск за ложную рекламу.

В игровом магазине продаются наборы с перечёркнутой ценой, мол распродажа (4.99$ вместо 120.9$), но по факту цена всегда такая (привет продавцам курсов по разработке). Забавно, что такой же иск они получали в 2022 на их игру State of Survival .

Интересный прецедент. Следим за ситуацией 🌚

#суд
Разработчик Factorio поделился некоторыми подробностями работы внутренних систем, в частности, рассказал про ECS.

Большая часть игры не использует никакого подобия entity component system. ECS отлично подходит, когда нужно применить некоторое преобразование к набору данных независимо от каких-либо других переменных. К примеру, добавить вектор движения к текущей позиции. Но если у вас 5-10 переменных связаны со сменой позиции, то толку от ECS не будет.

Примером этого являются логистические и строительные роботы. У них есть много разных условий:
- Хватит ли энергии у робота, чтобы совершить полное движение?
- Вышла ли цель за пределы зоны логистической сети, и робот должен отменить задание, которое ему было приказано?
- Есть ли вообще у него работа, которую он должен выполнять, или он просто ждёт команды?
Общая проблема такова: все эти проверки используют данные, характерные для логистических роботов. Если бы робот использовал «компонент положения/движения», этот компонент не имел бы понятия ни об одном из этих условий. Можно попытаться включить эти условия в сам компонент, но он вряд ли будет очень читабельным и, вероятно, будет не очень по производительности.

Боевая система использует два вида снарядов: хитсканы и проджектайлы.

Для отрисовки логика прогоняет видимую область экрана в несколько потоков, находя, что нужно отобразить, и собирая информацию, которая позже отправляется на GPU.

Основные моменты, благодаря которым в Factorio всё хорошо с производительностью:
- Система быстрого сна/пробуждения, когда сущностям не нужно выполнять работу. Когда объект «засыпает», то он полностью исключается из цикла обновлений, пока что-то внешнее снова его не включит. Время сна/пробуждения O(1). Большинство вещей большую часть времени в ожидании изменения состояния. Например: если в сборочной машине заканчиваются ингредиенты, она просто выключается. Как только что-то добавляет ресурсы, действие помещения предметов в инвентарь уведомляет машину о том, что они были добавлены, что «пробуждает» машину.
- В худшем случае никакая часть логики обновления не может превышать O(N); если обновление 5 000 машин занимает 1 миллисекунду, то 10 000 должно занять максимум 2 миллисекунды. В идеале менее 2 миллисекунд, но это редко возможно.
- Уменьшение работы с кусками оперативки, которые необходимо тыкать каждый тик. Процессоры очень быстрые в наши дни, и основными ограничителями в большинстве игр-симуляторов являются загрузка памяти в CPU и выгрузка обратно в ОЗУ.

https://www.reddit.com/r/factorio/comments/13bsf3s/technical_questions/

#factorio
> Это я, Тим, сейчас 3 часа утра, и я...не могу уснуть
> Такое случается, в такие моменты пытаюсь быть продуктивным

Буквально лицо инди-геймдева 😭

https://www.youtube.com/watch?v=mHMFG8uvOb0
Деволверы на GDC про работу с социалочками для Cult of the Lamb рассказали. Вроде базовые вещи, но многие всё равно как-то забивают на это. Есть и несколько примеров других игр. Может позже краткую выжимку накидаю.

А докладчик энергичный, приятно смотреть и слушать 😳

https://www.youtube.com/watch?v=Bp0-lfjDDFk

#SMM #CultoftheLamb #GDC
Недельный геймдев: #122 — 21 мая, 2023

📜 Обновления/релизы/новости
- На разработчика и издателя King of Avalon подали коллективный иск за ложную рекламу
- Atari приобрела Nightdive, разработчика ремейка System Shock, за 19,5 млн долларов
- Евросоюз и Китай одобрили сделку Microsoft и Activision Blizzard
- Для 3ds max версии 2023-2024 вышел Sculp Tool
- Cascadeur 2023.1
- В Австрии официально признали, что лутбоксы в FIFA Ultimate Team нарушают закон об азартных играх
- Roots of Pacha скрыли из Steam из-за конфликта между издателем и разработчиками
- Будущее отслеживания трафика в Steam
- Пре-альфа версия Смуты (якобы)

🆓 Халява/раздачи/бандлы/курсы
- Polygon Assets от Animpic Creative Studio

📝 Интересные статьи/видео
- Как Factorio умудряется работать без лагов с таким числом элементов на экране
- 🇺🇸 Cult of the Lamb: взращиваем интернет-культ
- Mundfish о гейм-дизайне Atomic Heart: «Нужно было соблюсти баланс между амбициями, здравым смыслом и датой релиза»
- 🇺🇸 Как сделать убойные креативы для гиперказуальной игры
- 🇺🇸 Do Not Feed the Monkeys 2099: разработка футуристического симулятора вуайериста
- 🇺🇸 Введение пайплайны разработки игр
- 🇺🇸 Почему 1000 тру фанатов на самом деле не работает для игр
- 🇺🇸 Как подготовить игру для инвесторов и издателей
- 🇺🇸 3 вещи, которые следует учитывать при создании нарративных инструментов
- 🇺🇸 Беседа с креативными лидерами The Legend of Zelda: Tears of the Kingdom
- 🇺🇸 Творческое путешествие по разработке игры, которая удовлетворит всех
- Как адаптировать игру к экранам мобильных устройств
- Не нашёл интересующей игры и создал её сам, или как за пару дней сделать игру
- 🇺🇸 Tape To Tape: как спортивная инди-игра получила невероятные продажи
- 🇺🇸 Работа с оружием и гравитацией в Moon Mystery
- 🇺🇸 Настройка фоточной игровой механики в Godot
- 🇺🇸 Как облака работают в видеоиграх
- 🇺🇸 Огромная база издателей игр на PC и консоли
- 🇺🇸 60 маркетинговых ошибок и как их избежать
- 🇺🇸 Какие жанры на ПК лучше всего конвертируют предрелизный интерес
- 🇺🇸 Поговорим про WebGPU
- 🇺🇸 Обновлённый Path Tracing в Cyberpunk 2077

📙 Разное
- Эксперименты с UE5.2 substrate material
- Интересная техника создания нефотореалистичных глаз
- Загрузка Юнитишных .prefab и .unity в Godot Engine
- Google Earth в Unity

#gamedevnews #дайджест
Джейсон Скотт оцифровал более 90 кассет с конференции разработчиков игр 1999 года.

70+ часов презентаций.

https://archive.org/details/1999_Game_Developers_Conference_Audio

#gdc
Марк Дарра поделился некоторыми занимательными аспектами разработки Baldur's Gate.

- Написал скриптовый язык BGScript для диалогов, чтоб определять, какую фразу показывать. Там не было ни for-цикла, ни булевого оператора OR. «Если вы пишете скриптовый язык, то будьте уверены, что его будут использовать под задачи, под которые вы его не затачивали».
Тот же BGScript стали использовать не только для диалогов, но и для ИИ существ. Касательно системы диалогов...в игре есть персонаж Biff the Understudy (который позже и в других играх серии стал использоваться), появляющийся, если NPC отсутствует, когда игра требует от него произнести реплики. Вместо этого персонажа реплику произносит Бифф.
- Работал над основным игровым боевым циклом. BG основана на правилах D&D 2, в которой боевая система использует 6-секундные раунды. В игре был небольшой эксплойт, связанные с тем, что раунды кастов заклинаний и атаки оружием считались отдельно. Как следствие, после каста заклинания можно было использовать очень медленное оружие, атака которого пройдёт в рамках этого же раунда.
- Среди его разработок формат файлов 2DA, который, по сути, являл собой двумерный массив. Позволяло добавлять новые данные в проект. 2DA подразумевался как промежуточный формат, который парсился бы в другой. Не было задумано, чтоб он держался открытым и чтоб на него ссылались. Такой формат хорошо подходил для табличек из D&D. И...позже его начали использовать для совсем разных вещей, в том числе хранили ссылки на другие 2DA, что в итоге приводило к четырёхмерным массивам. Если учесть, что файлы держались открытыми, то производительность была такая себе.
- Во всех их движках была возможность переопределять директории. Файлы в таких папках использовались вместо встроенных в структуры данных. Судя по всему, похоже на то, как работает тот же htaccess в Апаче, когда переопределяет конфиги из директорий выше по иерархии.
- Прям перед релизом у них всё ещё был баг, который приводил к крашу. Проявлялся именно в релизном билде и случайным образом. В итоге они взяли дебажную версия игру, причесали и оптимизировали как могли, а потом именно её и релизнули 😂
- Логика AI прогонялась каждый фрейм. Для Минска была отдельная проверка, чтобы выловить баг, которая на фпс сильно влияла. В BG2 убрали проверку, что добавило 3 фрейма в секунду.
«Иногда тебе просто нужно делать то, что ты должен, чтобы выпустить игру. Нет такой вещи как идеальная игра».
- Работая над дополнением Tales of the Sword Coast уже в роли лида, Марк усвоил важный урок — твои эмоции это тоже инструмент. Если ты на лид позиции, то должен быть осторожен с их проявлением внутри команды.

Оформил в виде статейки, если кому-то так удобней: https://dtf.ru/u/1922-andrei-apanasik/1845023-net-takoy-veshchi-kak-idealnaya-igra-mark-darra-o-razrabotke-baldur-s-gate
Интересны ли вам подобные ретроспективы от Тима Кейна, Марка Дарра или других разработчиков? Продолжать?
Anonymous Poll
88%
Да
12%
Нет
Олег Чумаков написал статью, как с командой в рамках Ludum Dare 53 сделал игру с помощью chatGPT и Midjourney.

Арт, история, диалоги, персонажи, локации сгенерированы. Пытались и код на Lua для Defold'а сгенерировать, но ничего путёвого не вышло.

Примеры промптов в статье присутствуют.

https://blog.luden.io/generated-adventure-the-postmortem-of-a-game-made-with-chatgpt-and-midjourney-prompts-included-f87e7e615204

#AI
В последней статье DeconstructorOfFun разобрали Marvel Snap. Рассматриваются механики, игровой цикл, экономика игры и т. д.

Всё по полочкам разложили.