GameDev: разработка игр – Telegram
GameDev: разработка игр
7.69K subscribers
757 photos
173 videos
1 file
1.09K links
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

Разместить рекламу: @tproger_sales_bot

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Так вот как это работает
Мы хотим, чтобы вам было комфортно в нашем сообществе, поэтому нам интересно ваше мнение

Для этого нужно поболтать с нашим дизайнером Женей и рассказать ему, каким IT-сервисом вы чаще всего пользуетесь. Это займёт не больше 20 минут вашего времени. Чтобы поучаствовать, нужно оставить свои контакты в этой форме:

https://tprg.ru/tHws
Как работают пули, снаряды и гранаты в играх — разбираемся в баллистике и рейкастах

При создании снарядов обычно используется 2 метода регистрации попадания: хитскан и баллистика.

Хитскан — это примитивная симуляция патрона: из оружия по его направлению выпускается луч, который летит до цели и проверяет, попадает ли игрок по ней или не встречается ли на пути луча препятствие.

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

Про преимущества и недостатки этих двух методов, а также про способы их применения можно почитать в этой статье:

https://tprg.ru/esSv

#теория
Делаем процедурный эффект электрических разрядов в Unity

Автор детально показывает, как с помощью Unity VFX Graph создать процедурный шейдер электрического эффекта — просто и красиво:

https://youtu.be/Afh5zY6zxLs

#шейдеры #unity
Нейроканал — новый Telegram-канал от Tproger, где мы будем собирать в лучшие материалы по искусственному интеллекту, машинной обучению, нейронным сетям и другим темам из этой области.

Подключайтесь: @neuro_channel
This media is not supported in your browser
VIEW IN TELEGRAM
Реддитор показал интересное решение для мобильных игр. Используя данные со встроенного гироскопа, в игре под нужным углом немного отклоняется камера. Это создаёт ощущение объёмного мира. Фича не революционная, но смотрится круто.

В какой мобильной игре зашла бы эта фича?

#reddit #3d #mobile
Базовые советы по оптимизации игры на Unity3D

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

— Старайтесь реже использовать свойства. Поля и методы — ваши друзья.
— Кешируйте всё, что получаете через GetComponent.
— Используйте по возможности for вместо foreach.
— Хоть LINQ и удобен, но он также создаёт большую нагрузку. Поэтому лучше отдать предпочтение простым инструкциям.
— Избавляйтесь от пустых Update и FixedUpdate. По возможности переносите всю логику с FixedUpdate в Update.
— Уменьшайте количество используемых материалов, ведь от их количества зависит количество проходов отрисовки. Больше проходов — больше времени рисуется кадр.
— Используйте LOD-объекты, чтобы сэкономить на детализации объектов, которые находятся далеко от камеры.

Эти и другие советы расписаны в статье:

https://tprg.ru/Lsvk

P.S. Как считаете, уместно ли заявление Кнута про оптимизацию к таким советам?

#оптимизация #unity #инди
У кого такое было?
Что такое тайлы и как с ними работать в Unity

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

https://youtu.be/6-jlx2QVTuY

При работе с тайлами вы используете встроенный редактор или сторонние решения?

#инструменты #2d #unity
Делитесь в комментариях скриншотами, гифками и видео из своих игр.

#скриншотник
This media is not supported in your browser
VIEW IN TELEGRAM
Реддитор показал, как плавают на лодках настоящие крутые ребята — им не нужны вёсла или парус. Ждём такую фичу в Sea of Thieves?

Делитесь забавными багами из своих игр в комментариях.

#reddit
Если вы пропустили появление Nanite или ещё не успели разобраться в нём

Nanite — это фича последней версии Unreal Engine. Она позволяет рендерить сцены быстрее обычного меш-рендеринга. Скорость рендера увеличивается за счёт того, что подгружается только видимая камере геометрия. Меш разбивается на бесшовные кластеры трисов, основываясь на сглаживании и швах развёртки. Кластеры генерируются на основе уровней детализации в зависимости от расстояния до камеры.

Держите статью, в которой детально разобрали весь процесс подключения, настройки и использования технологии Nanite:

https://tprg.ru/cw0C

Кто уже пользовался этой технологией? Что можете сказать о ней?

#ue
Запланировали делать мультиплеерную игру на Unity и ещё не определились с сетевым движком?

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

Движки оценивали по следующим категориям: стабильность/поддержка, простота пользования, производительность, масштабируемость, функциональность и стоимость:

#unity #мультиплеер
Угадай игру по отзыву. Правильный ответ будет в следующем посте.

Как обычно — ждём в комментариях!

#угадайигру
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчик сделал 3D-шутер, который весит всего 13 КБ

И в него можно сыграть прямо в браузере.

Игра называется Q1K3. Автор вдохновился оригинальной Quake. У игрока есть три вида оружия, а противостоят ему пять видов противников. На этом разработчик не остановился и уместил в игру звуки, саундтрек и даже динамическое освещение.

Игра написана на JS в рамках конкурса Js13kGames. Детальнее можно почитать на странице игры.

Поиграть можно прямо тут:

https://tprg.ru/YOeT

А ответ к предыдущему посту: Dying Light
Чашечка Java — Telegram-канал c материалами по Java со всего интернета. А значит и на русском языке, и на английском.

Обновления в версиях языка, инструменты, структуры данных, сложные конструкции языка, связанные с Java технологии и фреймворки – обо всём этом читайте в канале: @a_cup_of_java
В утечке из GeForce Now нашли много неанонсированных для ПК игр, среди которых есть God of War, Crysis 4, XCOM 3 и многое другое

GeForce Now — это игровой стриминговый сервис. Через него вы можете играть во все доступные там игры, не обладая мощным игровым ПК и скачанной игрой. Достаточно иметь стабильный интернет.

Пользователь, вытянувший данные с серверов Now, подробно рассказал о процессе в своём блоге. Полный список вытянутых игр содержит тысячи пунктов. Вот некоторые из них: God of War, Demon’s Souls, Gran Turismo 7, Batman: Arkham Knight RTX Remaster, BioShock 2022 и RTX Remaster, Crysis 4, Gears 6, Hitman Pro, XCOM 3. К сожалению, наличие этих и других игр в списке не гарантирует скорое официальное появление их на сервисе.

Автор слива отдельно упоминает, что в базе были эмуляторы Dolphin и New Super Mario Bros. Что странно, ведь Nintendo вряд ли бы отдала куда-то свои игры.

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

https://tprg.ru/hkQy

Как считаете, Nvidia собирается нас радовать? Или это смахивает на фейк?
Создаём реалистичный ландшафт с помощью World Machine

World Machine используется для процедурной генерации 3D-ландшафтов, которые впоследствии переносятся в игры и фильмы. Рельеф и текстуры можно экспортировать в Unity и Unreal Engine.

Построение ландшафта ведётся через ноды. Держите краткий курс по этому редактору:

https://youtu.be/7EtGeggLAsg

#инструменты #3d #левелдизайн
Трюки в C#, которые облегчат вам жизнь

Держите статью про полезные вещи в C#, которые помогут начинающим. Сохраняйте и пользуйтесь:

— Инициализаторы объектов, массивов и коллекций. Поля объектов можно заполнять сразу при инициализации самого объекта: Employee emp = new Employee {Name="John Smith", StartDate=DateTime.Now()};

— Оператор объединения со значением null. ?? — оператор, который возвращает левый операнд, если тот не null, иначе он вернёт правый операнд: var result = someValue ?? defaultValue; В одной строке может быть несколько таких операторов.

— Интерполированные строки. В строки можно удобно вставлять значения переменных без конкатенации: var someString = $"Some data: {someVariable}, some more data: {someOtherVariable}";

— Оператор безопасной навигации. Если какой-либо из операндов будет null, то возвращаемое значение тоже будет null: var currentAge = customer?.profile?.age;

— Ключевое слово yield. Используется в итераторах. С его помощью можно возвращать промежуточное значение, то есть не выходя из метода. Пример есть в статье.

Детальнее про эти и ещё 5 трюков можно почитать тут:

https://tprg.ru/lUbe

#unity #код #начинающим