Как стать автором
Поиск
Написать публикацию
Обновить
46.68

Unity *

Инструмент разработки 2D/3D-игр

Сначала показывать
Порог рейтинга
Уровень сложности

Гуманитарий с 0 знаний в программировании. 3 часть. Первые шаги в C# (и слегка Unity)

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров11K

Фрустрация + неизвестность + подготовка к госам/диплома + изучение C# = достаточный уровень напряжения и стресса.

Что этот ждуниор нам расскажет...

Почему Cities: Skylines 2 так тормозит (часть 2, самое мясо)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров33K

[Первая часть]

Генерация скайбокса

В игре используется встроенная система неба HDRP Unity, то есть она генерирует текстуру скайбокса (кубическую карту) в каждом кадре. Это занимает около 0,65 миллисекунды, что не очень много по сравнению со всем остальным, но если игра нацелена на генерацию 60 FPS, то это будет почти 4% от общего бюджета времени на кадр.

Предварительный проход

Теперь мы переходим к самому рендерингу. В C:S2 используется отложенный рендеринг: по сути, это означает, что рендеринг выполняется за несколько фаз и с использованием множества промежуточных render target. Первая фаза — это предварительный проход, создающий попиксельную информацию о глубине, нормалях и (преположительно) о гладкости, записывая их в две текстуры.

Этот проход на удивление затратен, он занимает примерно 8,2 миллисекунды, то есть слишком много, и именно здесь начинает проявляться одна из самых больших проблем рендеринга игры. Но для начала нам нужно поговорить о тех самых зубах.

Читать далее

Почему Cities: Skylines 2 так тормозит (часть 1)

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров31K

Одна из самых долгожданных игр для PC Cities: Skylines 2 вышла в конце октября, но получила смешанные отзывы. По моим ощущениям, геймплейно и с точки зрения симуляции игра сделала шаг в правильном направлении, и по крайней мере, теоретически она выглядит более целостной по функциям, чем первая часть. Однако в ней присутствуют существенные изъяны, от проблем с балансом и спорных дизайнерских решений до багов, из-за которых экономическая симуляция игры становится практически бесцельной. Стала ли она достойным преемником оригинала — пока вопрос открытый, но все сходятся в одном: производительность проекта далека от должного уровня.

Читать далее

Road Run, или как я свою первую игру делал. Часть 2

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров3.2K

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

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

Значит надо создать какое-нибудь окружающее пространство для услады взора игрока. Для начала поле зрения игрока следует ограничить, ведь заполнять всё пространство от игрока до горизонта моделями затратно как по времени, так и по производительности.

Читать далее

Road Run, или как я свою первую игру делал. Часть 1

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров7.8K

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

Читать далее

Архитектура unity проектов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров25K

За всю карьеру удалось поработать на множестве игровых проектов в качестве лида. За более чем 5 лет удалось насмотреться на разные подходы к созданию проектов.

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

Не волнуйтесь, никаких SOLID и других изотерических практик. Коротко, по делу, подкрепленное использованием на нескольких проектах.

Читать далее

One-on-one. Девлог. Карта со сложным кастомным эффектом

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров949

На этой неделе продолжил (и пока что закончил) рефакторинг. За счет этого быстро добавил карту, на реализацию которой раньше ушла бы куча времени.

Читать далее

Как TDD помогает мне делать RTS

Время на прочтение4 мин
Количество просмотров7.1K

Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кейсом, как Test Driven Development помогает мне разрабатывать мою RTS игру.

Читать далее

PVS-Studio помогает оптимизировать проекты на Unity Engine

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.9K

Недавно анализатор PVS-Studio начал выдавать предупреждения о возможностях оптимизации кода в проектах под Unity Engine. Какие они, эти предупреждения? Как анализатор понимает, какой код стоит оптимизировать? Почему это сделано именно для Unity? Ответы в заметке.

Читать далее

One-on-one. Девлог. Отделение логики от анимаций и переход на ивенты

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

На этой неделе не делал новые фичи, зато наконец сделал более удобную архитектуру. Это упростит разработку в дальнейшем.

Читать далее

Нодовая архитектура на Unity

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров7.8K

Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.

Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContainer. Поэтому чего-то феноменального в этой статье вы не увидите. Но, поскольку я люблю делать свои велосипеды, то в свою архитектуру я привнес парочку интересных вещей, которых нет в других DI фреймворках на Unity. Ну шо, поехали :)

Читать далее

Модульные механики на Unity

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8.1K

Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье хотел бы рассказать, как можно делать модульные механики для игровых объектов, за счет разделения данных и логики без ECS.

Читать далее

Godot — это не новая Unity. Анатомия вызова API в Godot

Время на прочтение26 мин
Количество просмотров27K

Эта статья выросла из бесед с Godot-разработчиками. Они заботятся о том, чтобы поднимаемые проблемы решались, и стремятся улучшать ситуацию. Определённо, в Godot грядут серьёзные изменения, но сама платформа пока находится на ранней стадии развития. Поэтому сложно говорить с уверенностью, что именно изменится и в какой степени. На самом деле, я полагаю, что Godot ждёт самое светлое будущее.  

Апдейт: ведущий разработчик Godot Хуан Линьетски опубликовал ответ на этот пост.

Читать далее

Ближайшие события

«Ушами Саунд-Дизайнера | Проект 01» — Unity 2D Game Kit + FMOD

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров2K

Привет! Меня зовут Даниил, я занимаюсь саунд-дизайном (sound design) и пишу музыку. Это первая моя статья и по совместительству пилотная в планируемом цикле; поэтому, вероятно, она будет содержать дополнительную информацию, которую я планирую перенести в отдельную публикацию (если данная серия получит продолжение).

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

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

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

Сейчас я планирую рассмотреть наиболее нетривиальные моменты с упором на процесс имплементации аудио. В противном случае статья может незаметно превратиться N-страничный нечитабельный талмуд. Все учебные проекты, о которых будет рассказано, находятся в свободном доступе и выполнены на Unity engine (Asset Store) и Unreal engine (Unreal Engine Marketplace).

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

Читать далее

Итак, вы решили перейти с Unity на Unreal Engine

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров28K

Наверно, произошло что-то плохое, и теперь вы читаете эту статью. Сочувствую! Давайте начнём по порядку.

Меня зовут Джо Уинтергрин, я генералист Unreal Engine. Можете взглянуть на все мои ресурсы. В статье я приведу полезную информацию для новичков в Unreal, имевших опыт работы с Unity.

С чего начать?

• Прочитайте документацию по Gameplay Framework. Всю целиком! У Unreal есть Gameplay Framework. Прочитайте документацию и освойтесь в ней. Это правильное решение при разработке любого типа игры. Не пропускайте её. Держите её под рукой, чтобы перечитывать.

• Влейтесь в сообщество. Это учетверит вашу скорость обучения. Есть Discord для бывших Unity-разработчиков Алекса Роуза и есть мой Discord.

• Почитайте Epic Online Learning Library. Вот она. Делайте упор на статьи, написанные Epic Games.

• Скачайте последнюю версию Unreal Engine из Epic Games Launcher. На данный момент это 5.3. В общем случае всегда стоит начинать проект на самой новой версии. Кроме того, нет никаких причин больше пользоваться UE4 — UE5 лучше и имеет все возможности UE4.

• Изучите документацию «Unreal Engine for Unity Developers» компании Epic. Это хороший способ начать. Вот она.

• Прочитайте статью целиком. Я знаю, здесь много текста, но не ничего не пропускайте! Всё это очень важная и точная информация! В Интернете много некачественных сведений об Unreal, но не здесь. Здесь всё правильно.

Читать далее

Unity: 8 ошибок при использовании Async

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров22K

Это вторая статья из серии про использование async/await в Unity. В первой мы разобрали восемь причин отказаться от Coroutine в пользу Async. В данной же статье посмотрим на самые распространённые ошибки при использовании async/await.

Читать далее

Unity стреляет себе в ногу

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K

Разбор полётов. В чём суть смены модели лицензирования Unity? Чем это грозит? Убьёт ли это инди и, в частности, гиперказуалки? Нужно ли прям сейчас бежать на другой движок?

Читать далее

Работа с Gradient через jobs + burst

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.6K

В Unity есть класс Gradient, который предоставляет удобные средства для управления градиентом в рантайме и редакторе. Но т.к. это класс, а не структура использовать его через Job system и burst нельзя. Это первая проблема. Вторая проблема — это работа с ключами градиента. Получение значений осуществляется через массив, который создаётся в куче. И как следствие напрягает сборщик мусора.

Сейчас я покажу как можно решить эти проблемы. И в качестве бонуса получить увеличение производительности до 8 раз при выполнении метода Evaluate.

Читать далее

Что же беспокоит разработчиков в связи с Unity Runtime Fee? (TL;DR)

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров11K
Дисклеймер: эта статья не претендует на стопроцентную правдивость и/или объективность, в ней перечислены краткие выводы, к которым я пришел после прочтения определенной части соответствующего треда на форуме.

На днях представитель Unity Technologies (далее — Unity) сообщил, что с января 2024 года Unity начнет взимать дополнительную плату с разработчиков за установки игр, созданных на основе игрового движка Unity Engine.

Это изменение также коснется уже выпущенных игр, однако установки не будут считаться ретроактивно, то есть разработчиков НЕ заставят платить за установки до 2024 года.

Если кратко, то суть нововведения заключается в том, что, после преодоления определенного уровня дохода с игры и пользовательских установок, с разработчика будет взиматься дополнительная плата за каждую последующую копию, установленную пользователями.

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

Заявление вызвало бурное негодование разработчиков не только на форуме Unity, но и во всех популярных медиа. Вот список основных претензий разработчиков:
Читать дальше →

Всероссийский конкурс «Начни игру» и публикация приложения в RuStore

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.8K

Изначально статья была написана в январе 2023

Думаю не стоит лишний раз напоминать о той обстановке, в которой мы живём последний год. Как только всё тогда началось, вновь пошли разговоры про импортозамещение и поддержку отечественного производителя, в том числе и в IT. Было очевидно, что в нашей стране за последние N лет в этом отношении было сделано немного, мягко говоря. Тем не менее, ещё не всё потеряно. :-)

Читать далее