Как стать автором
Обновить
16
0

Пользователь

Отправить сообщение

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

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

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

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

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

Читать далее

Нет, Open Source не означает «бесплатная поддержка»

Время на прочтение6 мин
Количество просмотров29K
Год назад разработчик опенсорсной программы Raccoon APK Downloader заявил, что отныне приём баг-репортов — это часть платной поддержки. Идея обсуждается до сих пор и вызывает споры по понятным причинам. С одной стороны, это как-то контринтуитивно… С другой стороны, определённая логика тоже есть… В общем, судите сами, вот оригинальная заметка Патрика Альбрихта, её бурное обсуждение и пояснение позиции по итогам обсуждения.

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

Юзер:	Здравствуйте, хочу зарепортить баг в вашей программе.
Я:		Отлично! Для этого откройте тикет, пожалуйста.
Юзер:	Но тикеты вроде входят в платный пакет?
Я:		И?
Юзер:	Просто хочу сказать, что ваша программа сломана, чтобы вы могли починить её.
Я:		Да, с вашей стороны это запрос на поддержку. Пожалуйста, откройте тикет.
Юзер:	…бл%$#%$...
Читать дальше →

Физическое моделирование на GPU с использованием compute shader в среде Unity3D

Время на прочтение17 мин
Количество просмотров39K
В этом руководстве я расскажу, как использовать compute shader для реализации вычислений на видеокарте — на примере модели волос:

22 342 кратное ускорение загрузки геометрии в Unity

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

Меня зовут Артем Толстогузов, и я вхожу в группу анонимных Unity-программистов.

У меня:

навязчивое желание переложить всю работу с CPU на GPU;

небольшой фетиш в области оптимизаций всего что только возможно;

хронический интерес к шейдерам, графическому пайплайну и технологиям;

патологический синдром самозванца.

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

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

Читать далее

Как мы замахнулись на мобильный fast paced шутер: технологии и подходы

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


Год назад у нас в компании был один проект — мобильный шутер War Robots с относительно медленными, но красочными и напряженными боями. Игра продолжает развиваться, у нее десятки миллионов установок и игроков по всему миру, постоянно выходят апдейты. В какой-то момент мы захотели сделать динамичный шутер на Unity со скоростями, сравнимыми с Overwatch, CS:GO или Quake. Но реализовать задуманное для мобильных платформ (в первую очередь iOS и Android) на основе War Robots при текущих архитектуре и подходах было практически нереально.

Мы понимали, как это сделать в теории — есть много статей, презентаций на YouTube, детально рассказывающих о том, как написать шутер, как работать с сетью, какие возникают проблемы и как их решать. Здесь нет Rocket Science, все эти подходы придумали еще 30 лет назад и за это время они особо не поменялись. НО: у нас не было практики.

Забегая вперед, скажу — нам удалось реализовать задуманное. Мы создали для мобильных платформ динамичный быстрый шутер, который сейчас находится в бета-тестировании и активно дорабатывается. И мне очень хотелось бы всем этим поделиться. Это первая, обзорная статья с перечислением и кратким описанием практически всего того, что мы используем (прошу не путать с другим нашим проектом в разработке, технологии и подходы в котором похожие, но отличаются в деталях).
Читать дальше →

Source Generators в действии

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

C# 9 дал долгожданную возможность кодогенерации, интегрированную с компилятором. Тем, кто мечтал избавиться от тысяч строк шаблонного кода или попробовать метапрограммирование, стало проще это сделать.


Ранее Андрей Дятлов TessenR выступил на конференции DotNext с докладом «Source Generators в действии». А теперь, пока мы готовим следующий DotNext, сделали для Хабра текстовую расшифровку его доклада.



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


Ответы на все эти и другие вопросы — в тексте.

Читать дальше →

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name в XAML с помощью C# Source Generators

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



В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать новые исходные файлы на этапе компиляции. При этом, API новых генераторов исходного кода схож с API анализаторов Roslyn. Генерировать код можно как с помощью Roslyn Compiler API, так и методом конкатенации обычных строк.


В данном материале рассмотрим процесс реализации ISourceGenerator для генерации типизированных ссылок на элементы управления AvaloniaUI, объявленные в XAML. В процессе разработки научим генератор компилировать XAML с помощью API компилятора XamlX, используемого в AvaloniaUI, и системы типов XamlX, реализованной поверх API семантической модели Roslyn.

Читать дальше →

Flatbuffers в Unity — ускорили сериализацию в 40 раз

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

Недавно мы отказались от загрузки и парсинга JSON в нашем Unity-клиенте в пользу двоичного формата, на основе Flatbuffers. В этой статье вы узнаете:

- Почему мы это сделали? 
- Что такое Flatbuffers?
- Как вам сделать это самим?
- Какую выгоду вы можете из этого извлечь?

Читать далее

Подключаем SignalR к Unity

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

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

Читать далее

Как создать telegram бот на C# быстро?

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

Как создать telegram bot на C# быстро?

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

Читать далее

Под капотом Graveyard Keeper: Как реализованы графические эффекты

Время на прочтение5 мин
Количество просмотров56K
Всем привет! Целых 4 года я не писал на Хабр. Последняя моя серия постов была о различных инструментах и приемах, которые мы применяли на нашей прошлой игре (разрабатывая ее на Unity). С тех пор игру ту мы благополучно выпустили, а также выпустили и новую. Так что теперь можно немного выдохнуть и написать несколько новых статей, которые могут быть кому-то полезны.


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

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

Для начала, кратко перечислю из чего собирается картинка в нашей игре:
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность