Gamedev suffering
9.09K subscribers
960 photos
81 videos
13 files
2.34K links
Авторский блог Андрея Апанасика о разработке игр и индустрии.

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

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

Реклама: https://yangx.top/gamedev_suffering/2202
加入频道
Марк Дарра поделился некоторыми занимательными аспектами разработки 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. Рассматриваются механики, игровой цикл, экономика игры и т. д.

Всё по полочкам разложили.
Недельный геймдев: #123 — 28 мая, 2023

📜 Обновления/релизы/новости
- Microsoft подала апелляцию на запрет сделки с Activision Blizzard в Великобритании
- Мобильная Honkai: Star Rail заработала $132 млн за первый месяц
- Unity 2022 LTS выходит уже в июне
- Джейсон Скотт оцифровал более 90 кассет с конференции разработчиков игр 1999 года
- Аналитика AppsFlyer теперь на ПК и консолях
- 15 прибыльных игр и 6 провалов: статистика Paradox Interactive за 10 лет

🆓 Халява/раздачи/бандлы/курсы
- Новый демо-проект на Godot 4
- Epic Games представила руководство по работе с виртуальными пространствами

📝 Интересные статьи/видео
- Урезанная премия, кранчи и конфликт с руководством Interplay: Тим Кейн об уходе из команды Fallout 2
- 🇺🇸 Игра с помощью chatGPT и Midjourney для геймджема
- «Нет такой вещи как идеальная игра»: Марк Дарра о разработке Baldur’s Gate
- 🇺🇸 Эффективный доступ к данным текстуры
- 🇺🇸 10 советов Рами Исмаила по выживанию в инди-апокалипсисе
- Ludum Dare 53: как прийти в геймдев и попасть в топ-0.5% по «инновации» на своём первом геймджеме
- Атомарный подход в Unity
- Как соединить саундтрек и геймплей — рассказывают композиторы и геймдизайнеры
- 🇺🇸 «Секретное оружие» Valve
- Гайд по созданию процедурной текстуры в Substance Designer и Unreal Engine 5
- Графические эффекты в четырёх стихиях
- 🇺🇸 Туториал по работе с UI в Unreal Engine 5
- 🇺🇸 Marvel Snap — полная деконструкция
- 🇺🇸 Художница Blizzard о своём творческом пути и получении работы в AAA-студии
- Как делалась графика для «Джона Уика 4»
- taichi.js: Программируем на WebGPU без боли
- 🇺🇸 Распродажи издателей в Steam
- Игра «Wake Up»: история создания, первый тизер
- 🇺🇸 Как Unexplored 2 создаёт целые фантастические миры с нуля
- 🇺🇸 Создание игрового арта Call of Duty и Dead Space изнутри
- 🇺🇸 Как проводить непрерывные эксперименты на мобильных устройствах
- 🇺🇸 Мир снов Святой Трины из Elden Ring, созданный в Unreal Engine 5
- 🇺🇸 Как работает фотонное картирование

📙 Разное
- Роботизированная рука из кабелей, созданная с помощью геометрических нод в Blender
- Занимательный шейдер в Unity, имитирующий рисовку от руки

#gamedevnews #дайджест
Хоть видео и с прошлой недели, но рекомендую к просмотру.

Unexplored 2 — это как первая часть, но на максималках. В новой игре не просто случайная генерация комнат, но и всего мира, события регенерации участков после смерти.

Логика создания мира базируется на декларативных правилах и графах. Но ключевое во всём этом цикличность генерации.

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

Автор даже полноценную текстовую версию написал: https://aiandgames.substack.com/p/unexplored2
NoClip поговорили с Гэвином Эйзенбайсом о том, как он превратил десятилетний детский опыт придумывания игр в хит. Хоть документалка про создание Choo Choo Charles, но там в целом про его путь рассказывается и про отношение семьи.

Самое, как по мне, интересное, что первая коммерческая игра у него была за плечами ещё до совершеннолетия 😎

#ChooChooCharles #NoClip
Недельный геймдев: #124 — 4 июня, 2023

📜 Обновления/релизы/новости
- Unity 2022 LTS
- AppMagic запустил свой подкаст про игровую индустрию
- Rust GameDev #45 за апрель 2023
- Марк Браун запустил сервис поиска команды для участия в GMTK Game Jam 2023
- Открылся WN Game Finder, сервис по поиску игр для издателей и инвесторов
- Предстоящие изменения в API InAppProducts и управлении подписками
- Симулятор фермера Roots of Pacha вернули в продажу, но теперь уже без издателя
- Разработчик Duke Nukem Remastered извинился за обложку ремастера Duke Nukem 1+2, созданную с помощью ИИ
- Никто не хотел работать над Redfall
- Команда Blender представила Grease Pencil 3.0
- NVIDIA анонсировала технологию ACE — ИИ, отвечающий за речь и анимации NPC в диалогах
- Unreal Engine 5.2 обеспечивает встроенную поддержку Apple Silicon

🆓 Халява/раздачи/бандлы/курсы
- Процедурный генератор труб для Unity
- Плагины Reallusion для ZBrush и Character Creator

📝 Интересные статьи/видео
- 🇺🇸 Как сделать запоминающийся огненный уровень
- Технический геймдизайн. Конфиги, баланс и контент на примере PC стратегии
- 🇺🇸 Начинаем работу с Cascadeur
- Вымышленная история про плохой релиз
- Шутер «Проект Кощей», разработка игр на SFML C++
- Как использовать аналитику для поиска слабых мест в игре — советы от Azur Games
- 🇺🇸 Японский инди-разработчик Ginolabo: «Я всегда хотел сделать свою собственную RPG»
- 🇺🇸 Что нужно знать про соглашения с издателем
- Фиксим 21-летнюю игру
- 🇺🇸 Уважайте время игроков, делая более длинные игры
- 🇺🇸 10 ключевых уроков дизайна квестов из The Witcher 3 и Cyberpunk 2077
- 🇺🇸 Полезные ресурсы по созданию цифровых двойников реальных локаций
- 🇺🇸 Про синематики Horizon Forbidden West
- Пишем Тетрис на Svelte
- 🇺🇸 Как подросток создал популярную видеоигру — документалка о Choo Choo Charles
- 🇺🇸 Рабочая культура и практика найма в The Coalition
- 🇺🇸 Shader Execution Reordering и Киберпакн 2077
- 🇺🇸 Скрипты и данные при разработке игр
- 🇺🇸 Полезные советы по созданию персонажей в Unity
- 🇺🇸 Композитор Лена Рейн о своеё музыкальном стиле: «Я большой поклонник музыкальных метафор»

📙 Разное
- Тестирование отражений в реальном времени в AR
- Высокореалистичная береговая линия в UE5 с помощью Fluid Flux 2.0
- Моделирование жидкости WiP в Blender 3.6

#дайджест #gamedevnews
Новости по Nau Engine подъехали. Во-первых, разработкой Nau Engine занимается не VK, а «независимая команда». VK заявляют, что произошла путаница и СМИ неправильно поняли роль компании. Но, в любом случае, всё ещё не ясно, что за люди вообще над российским движком работают 🤔

А, во-вторых, немного тех. подробностей отсыпали в Дискорде:
- Движок на C++.
- Скриптовых языков будет на старте три: C++, C# и какой-то свой «простой язык скриптования, чтобы облегчить вход в разработку начинающих специалистов».
- Визуальный скриптинг будет.
- Будет работать на любой ОС, «в том числе и Linux» 🙃.
- Web-билды будут, консольные версии «в проработке».
- Граф. движки: DX12, Vulkan и Metal. Будет и поддержка RT с DLSS. Хотят сделать «простой пайплайн» по работе с FBX, glTF или USD.
- Хотят запрыгнуть на хайптрейн и добавить ИИ-инструменты.
- Касательно «легаси-кода», ответили, что «в современных реалиях open-source разработки создавать комплексные решения с нуля, очевидно, не имеет смысла». Видимо, и правда за основу что-то готовое взяли.

#NauEngine
📍 Ищут парней для эксперимента. Сделают из вас разработчиков видеоигр.

Для геймдев клуба это несложно. Денег не возьмут!

Их основатель поставил себе цель, что до конца года помочь еще как минимум 1000 разработчиков заработать свои первые деньги в GameDev.

Ему часто пишут в ЛС: «Евгений, что делать? Уже год пытаюсь сделать свою успешную игру, но художники и программисты постоянно косячат. Скачиваний нет. А я уже потратил все деньги и мотивация моя на нуле».

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

Нужно просто взять и повторить простые действия.

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

🔸 Нужно только пройти по ссылке и зарегистрироваться: https://gamedev-intensive.ru

🔸 Единственное, что нужно сделать — это перейти по ссылке и оставить заявку! Дело 2х минут! Не ленись!

🔸 Такой возможности точно больше не будет в ближайшие месяцы.

🔸 Не упусти свой шанс! Бесплатный доступ, только по этой ссылке

https://gamedev-intensive.ru

#реклама
Левел-дизайнер Bioshock Infinite опубликовал 20-минутное видео с разбором уровня/геймплея, который сделал для теста дизайна уровней в Irrational Games еще в 2011 году.

Ну и в целом он на канале рассказывает про дизайн уровней и геймдизайн, можно подписаться.

#leveldesign #BioshockInfinite
НОВЫЙ ВЫПУСК!

Жизнь и карьера Американа МакГи

Внутри истории о том, как МакГи тусил с Мэрлином Мэнсоном, Дэвидом Боуи и другими крутыми музыкантами, помогал автору Парка Юрского периода и Мира Дикого Запада создавать видеоигру, покорял Голливуд, переезжал жить в Китай и многое другое!

https://www.youtube.com/watch?v=eVynsMStjhU&lc=Ugyi3d_SbK7VBKgvkG94AaABAg
Недельный геймдев: #125 — 11 июня, 2023

📜 Обновления/релизы/новости
- Photon Quantum теперь бесплатен во время разработки
- В 2022 году ИРИ вложила в видеоигры почти миллиард рублей
- Fyrox Engine 0.30
- Немного тех. подробностей о российском Nau Engine
- Dead Cells преодолели отметку в 10 миллионов проданных копий по всему миру
- Обновлённый Grease Pencil в Blender или 3.0 (в планах)
- От Dead Cells до переосмысления ретро IP: нерассказанная история Evil Empire
- Apple упростила портирование Windows-игр на macOS — на Mac запустили Cyberpunk 2077 и «Ведьмака 3»

🆓 Халява/раздачи/бандлы/курсы
- Бесплатный контент в Unreal Marketplace за июнь 2023
- Unity Hidden Gems Humble Bundle

📝 Интересные статьи/видео
- Жизнь и карьера Американа МакГи
- 🇺🇸 Как Darkest Dungeon II набрала более 600 тысяч продаж
- 🇺🇸 Разбор уровня Bioshock Infinite
- Чем пугает серия Silent Hill, которой вдохновляются разработчики хорроров
- 🇺🇸 Создание модов для Age of Empires II с помощью нейросети
- 🇺🇸 7 шагов к успеху Slime Rancher 2
- 🇺🇸 Создание Лавкрафтовского окружения в Maya, Substance 3D Painter и Unreal Engine
- 🇺🇸 Работа над конструктором Bard’s Tale (1991)
- Реализация миссий в игре на Unity
- 🇺🇸 Layers of Fear переосмысливает ужасы с помощью Unreal Engine 5
- Как использовать нейросети в работе над UI: опыт художницы из Playkot
- 🇺🇸 Baldur’s Gate 2: Shadows of Amn и Throne of Bhaal: воспоминания и уроки
- 🇺🇸 Разбор системы брызгов
- Деконструкция математики движка провода из игры DETOUR
- 🇺🇸 Разбор шейдера водопада

📙 Разное
- Игры с геометрией в UE5
- Шейдер персонажей в стиле Zelda в Unity
- Анимация сборки набора LEGO в Blender
- За кулисами LURE

#дайджест #gamedevnews