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

Unity *

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

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

Сетевой чат в Unity: Часть 1 — Основы и простой интерфейс

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

Просто о сложном: первая часть из серии статей на тему создания сетевого чата в Unity с использованием Netcode for GameObjects. Для тех, кто начинает разбираться в сетевой логике.

Читать далее

Новости

Как убить игру парой слов?

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

Я уже несколько лет провожу геймджемы и постоянно вижу холивары вокруг судейского фидбека. Да что за сын маминой подруги этот «фидбек», почему за ним так гоняются?

Читать далее

Процедурная генерация миров с использованием AI: интеграция MidJourney и GauGAN2 в геймдев

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

Создание сотен локаций вручную непрактично для инди-разработчиков, а алгоритмы шума о которых я писал ранее ограничены. Искусственный интеллект, такой как MidJourney и NVIDIA GauGAN2 (интегрирована в NVIDIA Canvas, бесплатно доступный для пользователей с видеокартами NVIDIA RTX), предлагает новые возможности: нейросети генерируют текстуры, биомы и концепт-арт с высокой детализацией.

Читать далее

Мой худший образец полезного кода

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

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

Читать далее

Как подключить Ton Connect 2.0 к проекту на Unity

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

В рамках данной статьи будет рассмотрена библиотека Uniton Connect, с помощью которой можно быстро реализовать подключение TON кошельков и отправку транзакций.

Читать далее

Свой проект — это ловушка для новичка

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

Когда мне было 16, я устроился работать в небольшую студию. Это была по факту официальная работа: с реальными задачами, пайплайном, дедлайнами и даже большим издателем. Тогда это казалось чем-то невероятным. Игра, над которой мы работали, выглядела амбициозно. У неё были красивые промо, целевая аудитория, маркетинг — всё как у взрослых.

А в центре команды был парень, старший разработчик, которому на тот момент было 23. Для меня он был почти как герой: я только начинал, а он уже 7 лет программировал. Уверенный, спокойный, очень самостоятельный. Я всерьёз думал, что именно к этому и стоит стремиться.

Но потом к нам присоединились более опытные ребята. Разработчики, у которых за плечами были и запущенные проекты, и провальные — но главное — была реальная практика и мышление архитектора. Они сразу начали задавать вопросы: — Почему у нас 6000 строк в одном скрипте? — Почему нет нормального разделения логики? — Почему переменные называются a, b1, mainLogic, veryImportantManager?

Код, который мы считали рабочим, оказался большой горой хрупкого говнокода, которая могла рухнуть от любого изменения. И когда она рушилась — её латали так же вслепую. Без юнит-тестов, без понимания, почему оно работает. Главное, чтобы запускалось.

🧨 А потом проект провалился. Несмотря на издателя

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее
1
23 ...