Gamedev suffering
9.39K subscribers
978 photos
89 videos
13 files
2.38K links
Авторский блог Андрея Апанасика о разработке игр и индустрии.

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

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

Реклама: https://t.me/gamedev_suffering/2202
Download Telegram
Недельный геймдев: #89 — 2 октября, 2022

📜 Обновления/релизы/новости
- Стала доступна экспериментальная версия Entities 1.0 для Unity
- Google закрыл Stadia
- VK объявила о продаже игрового холдинга My.Games за 642 миллиона долларов
- Valve перестанет проводить распродажу «Лунный Новый год» — её заменят весенней
- Intel выпустила апскейлер изображения в играх XeSS — он работает на видеокартах AMD и NVIDIA
- Все инструменты Substance 3D теперь бесплатны для студентов
- Godot 4.0 beta 2
- Godot 3.5.1
- Демонстрация превью вьюпорта Blender 3.4 для геометрических нод

🆓 Халява/раздачи/бандлы/курсы
- Звуковые эффекты уничтожения фруктов и овощей
- The Book of CP-System
- Unreal Engine 5 3D Game Development Book Bundle

📝 Интересные статьи/видео
- Отличный тред с подробным разбором реализации воды в Unreal Engine 4
- Базовые, но весьма полезные советы по работе со светом в Unity
- 12 месяцев Despotismа
- Создание теплицы в итальянском стиле в Blender, UE5 и Substance 3D
- Матчмейкинг в мобильных играх. Его влияние на монетизацию и удержание
- Очумелый саморучник — спрайты как в Doom’е без дорисовывания
- Как в сериале Netflix «The Silent Sea» воссоздали Луну с помощью технологии ICVFX в Unreal Engine
- Игры и инструменты становятся все более простыми
- CCPS, a Capcom CPS-1 SDK
- Unreal Engine: Unreal header tool и Рефлексия в деталях
- Советы экспертов по успеху мобильных инди-игр с Robot Squid и Superplus Games
- Проектирование поселений в мире Horizon Forbidden West
- Как собрать семантическое ядро для Google Play и App Store: руководство для инди-студий
- Dunkey хочет стать издателем. Мнение разработчика
- За что отвечает гейм-дизайнер на примере разработки Pathfinder: Wrath of the Righteous
- Стилизованная вода в UE5
- Какие жанры нужны геймерам на ПК — и изменится ли это
- Как Allods Team удерживали нагрузку десятков тысяч подключений для Warface
- No Captain Allowed! — кооперативная игра, разработанная командой из двух человек
- Введение в трассировку лучей с помощью Radeon Developer Tools Suite
- Xbox Game Pass в 2022 году: каков охват

📙 Разное
- Слайсер мешей, используя DOTS и Job’ы
- Тестирование SD-аддона для Blender
- Реалистичная симуляция песка в Cinema 4D
- Крутая симуляция воды в Houdini и UE5

#дайджест #gamedevnews
👍7
25👍3😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Игра JellyCar Worlds с физикой мягких тел и с использованием DOTS/ECS на Unity.

https://www.reddit.com/r/Unity3D/comments/xsxxa8/my_dotsecspowered_soft_body_physics_game_jellycar/

#DOTS #ECS #unity
🔥15😁5👍4💩1
This media is not supported in your browser
VIEW IN TELEGRAM
Объёмные облака, освещение, тень и атмосфера вокруг сферических тел планет с применением планетарной Lightning системы к облакам.

https://www.reddit.com/r/Unity3D/comments/xtgmb6/latest_work_on_optimized_round_planet_volumetrics/

#unity
🔥8😱8💩1
Планирую оживить в ближайшее время рубрику «Посиделки с инди» с интервью с нашими разработчиками игр.

Пока для теста d-fens помогла с текстовой расшифровкой одного старого выпуска с Алексеем Flazm Давыдовым.

Если всё ок пройдёт, то будем на регулярной основе работать.

#ПосиделкиСИнди
🔥18👍32👎1
На годовщину Ultima Online разработчики рассказали про занятный случай c дюпом предметов. Разобрал кратко в Твиттере. Самая вишенка в истории в том, что вместо какого-то фикса нормального, они помечали такие предметы, а потом после выкатки обновления разом их все удалили 😈

Баг проявлялся на границах зон. Если сократить, то суть бага: один игрок бросат сундук в лагающем участке (между зонами), а потом другой игрок пытается подобрать его одновременно с тем, как бросивший игрок пытается его же поднять.
В итоге у каждого оказывалась копия сундука.

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

Каждый игровой сервер фактически был разделён на районы, и был код, который обрабатывал передачу состояния игры, условий объектов и событий с одной стороны границы на другой. Но пересечение этих границ в качестве игрока иногда заметно тормозило.

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

У игры не было привычной БД. Использовали дампы памяти 🤔
1. Каждый шард выполнял отключение/резервное копирование в определённое время.
2. Полное игровое состояние каждого ареасерверы сбрасывалось из памяти в большой двоичный файл.
3. Как только серверы завершали резервное копирование, они отключились, перезапускались и переходили в режим ожидания, в то время как «игровой сервер» делал то же самое.
4. Игровой сервер выключался, перезапускался, а затем инструктировал каждый ареасервер загрузить свою последнюю заведомо исправную резервную копию.
5. Каждый ареасервер загружал бинарную резервную копию и воссоздавал ранее сохранённое состояние игры; он также выполнял любые триггеры/хуки.
6. Куча других вещей, включая появление новых мобов или ежедневных редких предметов.
7. Ареасерверы инорфмировали, что всё в порядке, и сообщали игровому серверу, а он повторно объявлял о себе авторизационным серверам, что он доступен для игры.

П.2 был самой большой проблемой. Найти дубли в дампе нереально.

Но п.5 натолкнул разработчиков на идейку: на старте сервака помечать наиболее ценные предметы и сохранять их в глобальный хеш-реестр.

В общем, на ценных предметах висела уникальная метка. Когда по предмету проводилась логика какая-то по копированию, то на копии оставалась метка и можно было свериться с глобальным реестром. Если уже был предмет с такой меткой, то копия потом помечалась тегом «I AM DUPED».

За несколько недель скопилось много таких предметов и стали решать, что же делать.

Но когда начали общаться с директором и QA/КМ'ами, то те сразу дали понять, что дропать все дубли не самая лучшая идея, т. к. вызовет гнев очень большого числа игроков.

В итоге:
1. Нашли багоюзеров и их хранилища
2. Нашли всех причастных в «кольце дублирования»
3. Написал скрипт
4. Служба поддержки массово забанила мошенников
5. Остановили соединение gameserv/loginserv с теми же серверами, к каждому жилищу, прикрепили скрипт

Сам скрипт:
1. Удалить дом и его содержимое. Рекурсивно.
2. Заполнить область чёрным щебнем.
3. Создать кучу вечных огненных полей среди щебня.
4. В центре поставить соломенный манекен с надписью «An Effigy of a Traitor».

Мир игры вспыхнул, как и жопы игроков 😈

Поддержку завалили письмами.

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

#UltimaOnline
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6
Длинные посты (наподобие последнего про UO) лучше прям так публиковать или ссылкой на пост на другой платформе (DTF, Телеграф и т. п)? Как вам удобней читать?
Anonymous Poll
62%
Пост в Телеге
38%
На другой платформе, а в Телеге ссылку указывать
This media is not supported in your browser
VIEW IN TELEGRAM
UE 5.1 будет иметь на борту фреймворк ML Deformer для создания кастомных моделей и новую модель Neural Morph Model. Инструмент позволяет выполнять высококачественные деформации в режиме реального времени.

Персонаж c видео использует ~1 МБ ML-памяти и занимает менее 100 микросекунд на CPU и 40 микросекунд на GPU.

https://twitter.com/JohnEMotionFX/status/1578520855508058112

#UnrealEngine #UE5 #ML
🔥15❤‍🔥2👍2
Йоханнес Бойвен поделился знаниями о скульптинге человеческих тел в ZBrush и Maya.

https://www.artstation.com/artwork/Je1qY0
👍91
Недельный геймдев: #90 — 9 октября, 2022

📜 Обновления/релизы/новости
- Вышла превью версия Unreal Engine 5.1
- UE 5.1 будет иметь на борту фреймворк ML Deformer для создания кастомных моделей и новую модель Neural Morph Model
- Российский разработчик Сультим Цырендашиев выпустил мод с трассировкой лучей для первой Quake
- Godot 2022 showreels
- Вышел GDevelop 5.1
- Крупное исследование русскоязычного Кипра от App2Top

🆓 Халява/раздачи/бандлы/курсы
- Бесплатные ассеты для UE за октябрь 2022
- Бандл книг для геймдизайнеров

📝 Интересные статьи/видео
- Горящие дома и жопы игроков в Ultima Online: как чинили баг с дюпом предметов
- Noclip Podcast 92: будущее Disco Elysium
- Поработал над игрой и не сошёл с ума, читая рецензии
- «Нефелия: Сквозь облака»: полезные ассеты для неба и погоды
- Пикселизирующая пушка как в Ratchet & Clank в Unity
- Введение в инструменты для пиксельарт-художников
- Чеклист, если хотите сделать отличный игровой трейлер
- Создание сцены с уютной таверной в Unreal Engine
- Неформальный Эксель: OpenGL, игры на GDI+ и инфографика теперь и в VBA
- Разработчики саги Remothered обсуждают создание Batora: Lost Haven
- Сочетание милого с оккультным в Cult of the Lamb
- Создание французской косы с помощью Maya XGen
- Практические советы по росту игр на различных рынках
- Стоит ли участвовать в Gamescom
- Скидка на ваши игры: 7 чётких правил
- Сказ о том, как разработчик свой воксельный 3д движок создавал
- Кватернионы: геометрическая интерпретация
- Создание стилизованной кожаной сумки в Maya, ZBrush и Substance 3D Painter
- Босс Ripple Effect: «мы должны принять тот факт, что некоторые люди будут работать полностью удалённо»
- Внедрение отслеживания пути в Justice: интервью с Динггеном Жаном из NetEase
- Дизайн уровней. Обучение игровым механикам
- Список советов и рекомендаций по 3D-скульптингу
- Green Hawk Platoon: переход с UE4 на UE5
- Вот почему вашей игре нужен LiveOps
- Алан Патмор из Humble Bundle рассказывает об издательском деле, разработке игр и инди-играх
- Декали с трипланарной проекцией, учитывающей положение, масштаб и вращение
- Ретаргетинг анимации
- Утраченное искусство портативных демейков

📙 Разное
- Эксперименты с технологией моделирования волос в Unity
- Игра JellyCar Worlds с физикой мягких тел и с использованием DOTS/ECS на Unity
- Объёмные облака в Unity

#дайджест #gamedevnews
🔥4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Немного Ранмы. Скетчи в Крите, риг и анимация в Блендере.

https://twitter.com/giwono0708/status/1578593014871920641

#anime #blender
❤‍🔥166👍1
Люблю такие обсуждения на Реддите, где люди делятся своими мыслями/идеями по какой-то теме.

В этот раз вопрос о том, не теряют ли люди удовольствия от прохождения игр и не появляются ли сложности при погружении из-за того, что мы сами создаём игры и знаем, как вся эта магия/хакки «дыма и зеркал» работает.

https://www.reddit.com/r/gamedev/comments/xxef9s/do_gamedevs_find_it_hard_to_immerse_themselves/

#reddit
❤‍🔥91👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Nanite в Unreal Engine 5.1 намного лучше справляется с мелкими объектами. Проблема с той же листвой была с момента выхода альфы UE5.

Видно, что команда UE усердно работает в этом направлении, что очень радует.

https://twitter.com/tasaki_yota/status/1578686510919872512

#UE5 #UnrealEngine #Nanite
👍11🔥42
На фоне выхода ремейка The Last of Us Part I сотрудники Naughty Dog поделились материалами по игре.
1. https://artstation.com/artwork/g8l0x8
2. https://artstation.com/artwork/zDL4Om
3. https://artstation.com/artwork/qQGDvy
4. https://artstation.com/artwork/o2wvR4
5. https://artstation.com/artwork/eJwnlY

#TheLastOfUs
❤‍🔥7🔥5