Как Unity отказались от своих строк
В 2014 году в движке Unity набралось столько критических изменений и новинок, что «пятерка» фактически была другим движком. И хотя многие за одинаковым фасадом не особо этого и заметили, но изменения коснулись всех компонентов движка, начиная от файловой системы и заканчивая рендером. Питерский офис EA имел свою ветку основного репозитария, отставая от мастера максимум на месяц. Я уже писал про различные реализации и типы строк в игровых движках, но в Unity была своя реализация, имевшая как положительные так и отрицательные стороны, которая использовалась практически во всех подсистемах. К ней привыкли, знали слабые стороны и плохие «use cases» и хорошие «best practices». Поэтому когда эту систему стали выпиливать из движка много чего поломалось, и если у обычных пользователей был сразу переход на новую версию и наблюдались только отголоски шторма, то допущенные до «тела» наловили много прикольных багов.
https://habr.com/ru/articles/854494/
#gamedev
👉 @game_devv
В 2014 году в движке Unity набралось столько критических изменений и новинок, что «пятерка» фактически была другим движком. И хотя многие за одинаковым фасадом не особо этого и заметили, но изменения коснулись всех компонентов движка, начиная от файловой системы и заканчивая рендером. Питерский офис EA имел свою ветку основного репозитария, отставая от мастера максимум на месяц. Я уже писал про различные реализации и типы строк в игровых движках, но в Unity была своя реализация, имевшая как положительные так и отрицательные стороны, которая использовалась практически во всех подсистемах. К ней привыкли, знали слабые стороны и плохие «use cases» и хорошие «best practices». Поэтому когда эту систему стали выпиливать из движка много чего поломалось, и если у обычных пользователей был сразу переход на новую версию и наблюдались только отголоски шторма, то допущенные до «тела» наловили много прикольных багов.
https://habr.com/ru/articles/854494/
#gamedev
👉 @game_devv
This media is not supported in your browser
VIEW IN TELEGRAM
Магическая игральная кость
Создаёте жуткую настольную игру? Посмотрите на эти зловещие кости 🎲 !
Автор ushadersbible
#madewithunity #unity3d #indiedev #gamedev
👉 @game_devv
Создаёте жуткую настольную игру? Посмотрите на эти зловещие кости 🎲 !
Автор ushadersbible
#madewithunity #unity3d #indiedev #gamedev
👉 @game_devv
Media is too big
VIEW IN TELEGRAM
105+ БЕСПЛАТНЫХ ассетов Unity (ноябрь 2024 - Asset Store)
Приготовьтесь поднять уровень своей разработки игр с помощью 105 бесплатных активов Unity за октябрь и ноябрь 2024 года! В этой коллекции есть все - от потрясающих моделей до потрясающих текстур и даже улучшений геймплея. И что самое приятное? Кроме того, прямо сейчас вас ждет специальный бесплатный актив. Подписывайтесь на Speed Tutor, чтобы получать больше потрясающего контента по Unity!
https://assetstore.unity.com/lists/free-assets-october-2024-5773721563141
#madewithunity #unity3d #gamedev
👉 @game_devv
Приготовьтесь поднять уровень своей разработки игр с помощью 105 бесплатных активов Unity за октябрь и ноябрь 2024 года! В этой коллекции есть все - от потрясающих моделей до потрясающих текстур и даже улучшений геймплея. И что самое приятное? Кроме того, прямо сейчас вас ждет специальный бесплатный актив. Подписывайтесь на Speed Tutor, чтобы получать больше потрясающего контента по Unity!
https://assetstore.unity.com/lists/free-assets-october-2024-5773721563141
#madewithunity #unity3d #gamedev
👉 @game_devv
Пишите код как профессионал: рефакторинг с использованием шаблонов!
Чистый код начинается здесь! В этом видео мы преобразуем плотно связанный проект Unity в чистую и поддерживаемую систему, используя проверенные принципы и шаблоны программирования. Вы узнаете, как применить принцип DRY (Don't Repeat Yourself), чтобы избавиться от избыточного кода, внедрить шаблон Фабрика для масштабируемого создания объектов и рефакторить громоздкую систему анимации.
Мы также познакомим вас с шаблоном Стратегия для динамического поведения оружия и создадим легковесную мини-состоячную машину для обработки логики прицеливания. Независимо от того, новичок вы или опытный разработчик, это видео поможет вам писать лучший, умнее и чище код для ваших проектов в Unity!
https://www.youtube.com/watch?v=OnlR4TczIPY
#unity3d #gamedev
👉 @game_devv
Чистый код начинается здесь! В этом видео мы преобразуем плотно связанный проект Unity в чистую и поддерживаемую систему, используя проверенные принципы и шаблоны программирования. Вы узнаете, как применить принцип DRY (Don't Repeat Yourself), чтобы избавиться от избыточного кода, внедрить шаблон Фабрика для масштабируемого создания объектов и рефакторить громоздкую систему анимации.
Мы также познакомим вас с шаблоном Стратегия для динамического поведения оружия и создадим легковесную мини-состоячную машину для обработки логики прицеливания. Независимо от того, новичок вы или опытный разработчик, это видео поможет вам писать лучший, умнее и чище код для ваших проектов в Unity!
https://www.youtube.com/watch?v=OnlR4TczIPY
#unity3d #gamedev
👉 @game_devv
YouTube
Code Like a Pro: Refactoring to Patterns!
Clean Code starts here! In this video, we transform an tightly coupled Unity project into a clean, maintainable system using proven programming principles and patterns. Learn how to apply DRY (Don't Repeat Yourself) to eliminate redundant code, implement…
Fheroes2
Это воссоздание игрового движка Heroes of Might and Magic II.
Этот открытый многоплатформенный проект, написанный с нуля, призван воспроизвести оригинальную игру со значительными улучшениями игрового процесса, графики и логики.
https://github.com/ihhub/fheroes2
#gamedev
👉 @game_devv
Это воссоздание игрового движка Heroes of Might and Magic II.
Этот открытый многоплатформенный проект, написанный с нуля, призван воспроизвести оригинальную игру со значительными улучшениями игрового процесса, графики и логики.
https://github.com/ihhub/fheroes2
#gamedev
👉 @game_devv
Media is too big
VIEW IN TELEGRAM
Как правильно сделать пауза в игре на Unity
В этом видео разберем, как создать функциональность паузы в игре на платформе Unity. Вы узнаете, как добавить кнопку паузы в свою игру, а также как настроить ее для остановки игры во время игровой сессии.
В видео представлены примеры кода, которые можно использовать для создания паузы в игре. Также рассмотрим различные подходы к реализации функциональности паузы в игре. Разберемся, как использовать Time.timeScale для управления временем в игре, на что он влияет. А также разберем пример своей системы паузы в игре на Unity.
Это видео будет полезно для разработчиков игр, которые хотят улучшить игровой процесс, добавив в свою игру функцию паузы.
источник
#gamedev
👉 @game_devv
В этом видео разберем, как создать функциональность паузы в игре на платформе Unity. Вы узнаете, как добавить кнопку паузы в свою игру, а также как настроить ее для остановки игры во время игровой сессии.
В видео представлены примеры кода, которые можно использовать для создания паузы в игре. Также рассмотрим различные подходы к реализации функциональности паузы в игре. Разберемся, как использовать Time.timeScale для управления временем в игре, на что он влияет. А также разберем пример своей системы паузы в игре на Unity.
Это видео будет полезно для разработчиков игр, которые хотят улучшить игровой процесс, добавив в свою игру функцию паузы.
источник
#gamedev
👉 @game_devv
Task-based мышление в игровых движках
Игры всегда требовали высокой производительности системы, а игровые движки разрабатывались с учетом надлежащей поддержки многопоточных вычислений, чтобы задействовать все ресурсы компьютера. Но применение хороших абстракций сильно усложняет разработку и хотя многопоточность открывает очень широкие возможности в играх, проблем она также добавляет порядком. Вообще разработка любого софта с поддержкой многопоточности — это отдельный вопрос, и статей на эту тему написано немало. Здесь я решил показать основные шаблоны применения системы задач, которая с большой вероятностью будет реализована в любом игровом движке, ну а также их плюсы и минусы разных подходов.
Большинству игр «хватает» одного потока, это обычно подразумевает наличие главного треда, где выполняются все игровые задачи (обработка ввода, обновление мира, рендеринг и т. п.), для каждого кадра. И такая модель последовательных вычислений сохранялась очень долго, да и сейчас применяется в большом числе игр, особенно мобильных, задействую ресурсы одного ядра. Есть конечно хорошо выделяемые задачи, вроде загрузки текстур, звуков, но это скорее исключение, в силу обособленности данных для таких задач. Чтобы сделать исключение правилом разработчики игровых движков приучают пользователей этих самых движков разделять игровые «циклы» на независимые «задачи», которые могут выполняться отдельно в «менеджере задач», который уже в свою очередь может запускать их на разных ядрах. Профит тут конечно очевидный — параллельное выполнение — это основной фактор повышения производительности игр.
Что еще можно вынести в другой поток без особого ущерба для игры?
https://habr.com/ru/articles/861540/
#gamedev
👉 @game_devv
Игры всегда требовали высокой производительности системы, а игровые движки разрабатывались с учетом надлежащей поддержки многопоточных вычислений, чтобы задействовать все ресурсы компьютера. Но применение хороших абстракций сильно усложняет разработку и хотя многопоточность открывает очень широкие возможности в играх, проблем она также добавляет порядком. Вообще разработка любого софта с поддержкой многопоточности — это отдельный вопрос, и статей на эту тему написано немало. Здесь я решил показать основные шаблоны применения системы задач, которая с большой вероятностью будет реализована в любом игровом движке, ну а также их плюсы и минусы разных подходов.
Большинству игр «хватает» одного потока, это обычно подразумевает наличие главного треда, где выполняются все игровые задачи (обработка ввода, обновление мира, рендеринг и т. п.), для каждого кадра. И такая модель последовательных вычислений сохранялась очень долго, да и сейчас применяется в большом числе игр, особенно мобильных, задействую ресурсы одного ядра. Есть конечно хорошо выделяемые задачи, вроде загрузки текстур, звуков, но это скорее исключение, в силу обособленности данных для таких задач. Чтобы сделать исключение правилом разработчики игровых движков приучают пользователей этих самых движков разделять игровые «циклы» на независимые «задачи», которые могут выполняться отдельно в «менеджере задач», который уже в свою очередь может запускать их на разных ядрах. Профит тут конечно очевидный — параллельное выполнение — это основной фактор повышения производительности игр.
Что еще можно вынести в другой поток без особого ущерба для игры?
https://habr.com/ru/articles/861540/
#gamedev
👉 @game_devv
Media is too big
VIEW IN TELEGRAM
Как придумать сценарий игры, а не фильма. Сюжет — это не текст
Начинающие разработчики не всегда понимают, что сценарий игры — это не только текст. Вместо сценариев у них получаются «литературные произведения», на основе которых игру не сделать.
источник
#gamedev
👉 @game_devv
Начинающие разработчики не всегда понимают, что сценарий игры — это не только текст. Вместо сценариев у них получаются «литературные произведения», на основе которых игру не сделать.
источник
#gamedev
👉 @game_devv
This media is not supported in your browser
VIEW IN TELEGRAM
Использование трипланарного шейдера для рельефа упрощает работу, так как он использует normal для определения того, какая из текстур отображается!
#gamedev
👉 @game_devv
#gamedev
👉 @game_devv
Wolfenstein 3D / Blake Stone (1992/3)
Разработчик: id Software
Издатель: Apogee Software
Платформа: DOS
На основе предыдущего движка Catacomb был сделан серьёзный апгрейд на VGA-графику. И играть стало интереснее. Как в большинстве случаев с компанией id, исходники сравнительно легко читать, хотя ключевые части написаны на 16-битном ассемблере (в Doom уже такого не встретишь).
Интересно отметить, что для рисования вертикальных линий они динамически генерируют разные функции для каждой из возможных высот стен.
У Fabien можно найти инструкцию по компиляции исходников на современных инструментах.
Blake Stone, ответвление от Apogee на том же движке, вышло в 1993 году, за неделю до Doom. Можно представить, почему оно кануло в лету.
Исходники: github.com/id-Software/wolf3d
#gamedev
👉 @game_devv
Разработчик: id Software
Издатель: Apogee Software
Платформа: DOS
На основе предыдущего движка Catacomb был сделан серьёзный апгрейд на VGA-графику. И играть стало интереснее. Как в большинстве случаев с компанией id, исходники сравнительно легко читать, хотя ключевые части написаны на 16-битном ассемблере (в Doom уже такого не встретишь).
Интересно отметить, что для рисования вертикальных линий они динамически генерируют разные функции для каждой из возможных высот стен.
У Fabien можно найти инструкцию по компиляции исходников на современных инструментах.
Blake Stone, ответвление от Apogee на том же движке, вышло в 1993 году, за неделю до Doom. Можно представить, почему оно кануло в лету.
Исходники: github.com/id-Software/wolf3d
#gamedev
👉 @game_devv