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

Unity *

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

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

Монетизация мобильных игр: Как выбрать между рекламой, покупками и подписками

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

Монетизация — это про поиск баланса между эмоциями игроков и заработком студии. За несколько лет работы над играми на Unity мы перепробовали кучу подходов: от назойливой рекламы до хитрых подписок. В этой статье расскажу, как выбирать между основными моделями монетизации.

Читать далее

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

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

Всем привет! Меня зовут Владимир, в этом году я заканчиваю обучение в магистратуре по направлению «Программирование игр» в одном из федеральных университетов. В рамках своей выпускной квалификационной работы я решил затронуть довольно актуальную для Unity‑разработчиков тему — сравнение архитектурных подходов MonoBehaviour и Zenject при создании игрового проекта.

Что меня сподвигло на такое исследование? Начнем с того, что, в сфере разработки игр я относительно недавно и опыта работы над большими проектами у меня нет. Когда была поставлена задача выбрать тему диплома, больших раздумий не было нужна игра, для «Я Игр», но как её делать? Практически с каждого обучающего ресурса, говорят не использовать подход Monobehaviour для больших проектов, так как это сложно расширяемая архитектура. Хотя на мой взгляд это не совсем верно. Именно с этого началась работа над темой моей ВКР.

Целью которой поставить точку в спорах в моей голове об архитектурных подходах и прийти к более оптимальному выбору.

И параллельно, подтвердить или опровергнуть гипотезу «Более сложная архитектура упрощает разработку».

Читать далее

Сериализация в Unity: известные атрибуты и их проблемы

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

Любой Unity-разработчик знаком с атрибутом [SerializeField], который позволяет сериализовывать непубличные члены класса и, соответственно, отображать их в инспекторе. Но, в силу его ограниченности, позже начали появляться и другие способы сериализации.

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

Читать далее

AR-технологии в Unity: Твой первый шаг в дополненную реальность с AR Foundation

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

Первые шаги в дополненную реальность. Простой туториал по AR Foundation в Unity для начинающих. Создай свое первое AR-приложение.
Всё проще, чем кажется!

Читать далее

Вселенная Сетевых Игр в Unity: Руководство для Юного Создателя

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

Простое и понятное руководство по Unity Netcode for GameObjects, которое поможет начинающим разработчикам (и не только!) сделать первый шаг в мир сетевых игр.

Читать далее

WaveManager: Реализуем систему управления волнами врагов в Unity

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

Реализация системы управления волнами для создания захватывающих столкновений с противниками — это достаточно эффективный способ постепенно увеличивать сложность, поддерживая вовлеченность игроков. В этом руководстве я поделюсь с вами своим опытом реализации WaveManager'а в Unity, включая создание скриптов, генерацию врагов и интеграцию пользовательского интерфейса.

Читать далее

Zenject (Extenject) в Unity: Исчерпывающее руководство по внедрению зависимостей

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

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

Zenject (Extenject) решает это раз и навсегда.

Эта статья о том, что такое zenject и как им пользоваться.

Читать далее

Оптимизируйте свой код с Unity Job System

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

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

Читать далее

Как я делал свой первый прототип игры на Unity

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

Вводные: всегда хотел работать в геймдеве, поэтому решил начать с малого — попробовать сделать хоть какой‑то прототип игры с нуля. С C# знаком на среднем уровне, с блендером на нулевом), с Unity чуть‑чуть (делал тетрис, и пытался сделать мультиплеер для него поверх Steam через Spacewar).

Изначально идея была сделать что‑то на минут 10–15, как обычно в голове много идей и мелочей, реализация которых поможет создать более приятный геймплей, но когда доходит дело до реализации, то приходит понимание, что не все так легко, как кажется.

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

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

Стена была сделана из нескольких плоскостей, на которые была натянута текстура кирпичной кладки, предварительно пикселизованная.

Читать далее

Как сделать процедурную анимацию персонажа в Blender для Unity

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

Создайте живые движения персонажей. Туториал по процедурной анимации в Blender и её импорту в Unity.

Читать далее

SharedLogic. Общий игровой код для Unity-клиента и .NET-сервера, который экономит ваши силы

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

Я хочу поделиться практическим подходом, который позволяет переиспользовать ваш игровой код на C# из Unity на .NET-бэкенде — это даёт возможность верифицировать действия игрока, защищает от читерства и обеспечивает мгновенный отклик без лагов.

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

Как это работает:

• Команды игрока мгновенно выполняются на клиенте.

• Та же команда вместе с хэшем состояния отправляется на сервер и повторно выполняется для верификации.

• Любые попытки изменить код или память клиента будут обнаружены и отклонены сервером.

• Игровая логика вынесена в .dll-плагин, который используется и в Unity-клиенте, и на .NET-бэкенде.

В статье есть полноценный пример на Unity («Connect Four»), открытый исходный код и подробное описание архитектуры.

Читать статью

Процедурная генерация миров: как создать уникальные локации для каждого игрока

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

Как работает процедурная генерация в играх? В этой статье разбираемся с основными понятиями и алгоритмами процедурной генерации.

Читать далее

Никому не советую, но мы попробовали, или Интеграция игры в React Native с помощью Unity, Game Engine и Godot

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

Меня зовут Алексей Цуцоев, я разработчик мобильных приложений в KODE, и я хочу поделиться историей того, как мы внедряли игру в уже готовое React-Native приложение. Как выбирали технологию, с какими трудностями столкнулись и к каким выводам пришли.

Читать далее

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

Как создать 3D Tilemap в unity без кода

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

В Unity есть отличный функционал по созданию 2D Tilemap, который позволяет реализовать красивые изометрические и 2D миры.

Но, что если нужно создать именно 3d Tilemap?

В этой статье я расскажу как это сделать без единой строчки кода.

Читать далее

Как наша студия ушла от гиперказуала и что из этого вышло

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

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

Пришло время выбора: продолжать штамповать одноразовые проекты или рискнуть и сделать что-то своё. Мы выбрали второе.

Читать далее

Руководство для Unity-разработчика: Модульное тестирование

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

Давайте будем честны: как Unity-разработчики, мы все пишем код, который может содержать ошибки. Это касается и меня, и вас, и даже искусственного интеллекта.

Многие разработчики программного обеспечения считают модульное (или unit) тестирование важнейшим инструментом для раннего выявления и предотвращения регрессий. Но действительно ли оно эффективно в контексте разработки Unity-проектов?

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

Читать далее

UI-система для Unity. Надстройка над UI Toolkit

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

Привет. Я занимаюсь реализацией UI в нашей небольшой команде, разрабатывающей игры. Долгое время занимался 3D-моделированием, моушн-дизайном, UX/UI-дизайном, построением дизайн-систем. Позже жизнь привела меня в игровую индустрию, где я применил предыдущие навыки.

Команда разрабатывала гиперказуальные игры, и на момент моего присоединения к ней происходила перестройка — переход от гиперказуальных игр к хардкорным проектам. Тогда рассматривались два варианта новых проектов:

Читать далее

Объясняем UniTask так, чтобы понял даже ребенок (для Unity разработчиков и не только)

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

Пишешь игру на Unity? Нужна производительность?
UniTask – решение!
Просто о сложном в этой статье. (Примеры про роботов, лего и машинки уже тут)

Читать далее

JSON в Unity за 10 минут

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

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

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

Читать далее

А точно ли самый простой жанр?

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

А точно ли самый простой жанр?

Почему визуальные новеллы — это далеко не всегда «тонны текста со статичными картинками», а полноценный, трудоемкий жанр.

Когда мы с небольшим составом в команде только начали делать визуальную новеллу, в голове звучал вопрос: «Это же вроде легкий жанр… Просто текст, картинки и немного музыки, да?»

Прошло уже больше года разработки. Сотни часов. И теперь у меня встречный вопрос: а точно ли он простой?

Читать далее