Обновить
14.63

Unity *

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

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

IL2CPP: Обертки P/Invoke для типов и методов

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


Это шестая статья из серии по IL2CPP. На этот раз мы посмотрим, как il2cpp.exe генерирует обертки для методов и типов, необходимые для взаимодействия управляемого и нативного кода. В частности, мы обсудим разницу между непреобразуемыми и преобразуемыми типами, разберемся с маршалингом строк и массивов и поговорим о расходах на маршалинг.
Читать дальше →

Локализация Unity-игры на хинди

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

Публикуя свою игру в Play-Market, я локализовал её только на два языка: английский и русский. Обзорные статьи по игре размещал тоже, соответственно, только на русскоязычных и англоязычных форумах. Статистика первого месяца позволила определить перечень стран, в которых игру начали активно качать. Поэтому было решено для закрепления успеха добавить локализацию еще на ряд языков. Среди прочих интерес к игре проявила и Индия.
Читать дальше →

Особенности разработки мобильной MMO RTS. Часть 4

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


Содержание:


  1. Оптимизация размера игры
  2. Бандлы и загружаемые ресурсы. Что требуется от системы?
  3. Дифы манифеста
  4. Экономия на кодогенерации

Мы прошли экватор цикла о создании MMO RTS. Сегодняшняя статья посвящена оптимизации.
Читать дальше →

Звуковые эффекты в виртуальных мирах

Время на прочтение4 мин
Количество просмотров5.7K
Данная статья является третьей в цикле про качественную разработку VR-проектов. Ранее мы уже изучили принципы оптимизации в статье «Рендеринг и оптимизация в VR-разработке». Ссылки на другие материалы можно найти в обзорной статье.

До сих пор звуковые эффекты играли при разработке ПО второстепенную роль и едва ли были заметны. Но при VR-разработке они становятся неотъемлемой составляющей проекта.

Правильное звуковое сопровождение VR-проекта значительно повышает погружение пользователя и усиливает эмоции.

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

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

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

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

Сначала пробежимся по аппаратному и программному обеспечению и узнаем, почему даже сегодня при симуляции звука прибегают к обману.

1.500.000 установок за 3 месяца — история разработки Tap Tap Builder

Время на прочтение4 мин
Количество просмотров25K
Добрый день! Я — инди-разработчик и автор игры Tap Tap Builder. В этой небольшой статье я поделюсь своим опытом и расскажу, как маленькая игра прокладывает себе путь в большой мир.

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

Игра-головоломка Neo Angle. Работа с уровнями в Unity

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


Всем доброго времени суток! Я бы хотел вам рассказать историю своей новой игры-головоломки Neo Angle, а также поделиться опытом импортирования, хранения и генерации уровней в Unity.
Читать дальше →

Пишем игровую логику на C#. Часть 2/2

Время на прочтение11 мин
Количество просмотров24K
Это продолжение предыдущей статьи. Мы шаг за шагом создаем движок, на котором будет работать игровая логика нашей экономической стратегии. Если вы видите это впервые — настоятельно рекомендую начать с Части 1, так как это зависимое продолжение и требует ее контекста.

Как и раньше — внизу статьи вы можете найти полный код на ГитХаб и ссылку на бесплатное скачивание.



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

Пишем игровую логику на C#. Часть 1/2

Время на прочтение12 мин
Количество просмотров99K
Всем привет. В связи с выходом моей игры SpaceLab на GreenLight я решил начать серию статей о разработке игры на C#/Unity. Она будет основываться на реальном опыте её разработки и немного отличаться от стандартных гайдов для новичков:

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




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

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

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

Кого заинтересовало узнать, что за игра — внизу есть видео и ссылка на бесплатное скачивание.
Читать дальше →

Оптимизация анимаций в Unity3D

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

Использование покадровых анимаций в Unity3D


Наверняка вы заметили, что создав новую анимацию в Unity 5 сразу размещается ссылка на спрайт компонента SpriteRenderer. Unity так и зовёт выделить заготовленные кадры и перетащить их в окно Animation.



Пара движений мышкой и новая анимация украшает вашу игру. Но на 1 секунду ролика нужно 12 — 30 кадров. А если персонаж выполняет десяток различных движений: бегает, читает, сажает, поливает, играет, загорает, и т. д. то продолжительность всех анимаций переваливает за минуту, а кадров за тысячу. А персонаж не единственный анимированный объект на уровне. Вот мы и получили что не особо сложная сцена грузится дольше минуты, а Unity начинает слетать из-за перерасхода оперативной памяти. Да, конечно можно используя встроенный в Unity SpritePacker упаковать спрайты в атласы, но это даёт лишь незначительный результат и улучшение производительности на 10 — 20%.
Читать дальше →

GameDev с нуля: От хакатона до собственной студии разработки игр. Часть 1

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


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

Процедурная генерация уровней для M.E.R.C. в Unity

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


Часть вторая


В части первой этой статьи я рассказал, почему для игры M.E.R.C. мы выбрали процедурную генерацию уровней, и описал требования к ней. Также я описал процесс генерирования структуры процедурного уровня и соединения множества фрагментов для создания целостного уровня. Во второй части статьи мы обсудим решение проблем освещения и NavMesh в Unity и создание NPC на основании темпа.
Читать дальше →

ChairInput. Пишем игру в Unity, управляемую с помощью виртуальной клавиатуры Android. Проблема с углом обзора камеры

Время на прочтение3 мин
Количество просмотров10K
Всем привет, я написал клавиатурный тренажер под Android в Unity3D, он не сильно заточен под особых детей, а предназначен для широкого пользователя (ну я так думаю). И в этом посте я хочу рассказать о проблеме перекрывания части экрана клавиатурой и способах ее решения.


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

Процедурная генерация уровней для M.E.R.C. в Unity

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

Часть первая


Процедурная генерация уровней — отличный способ добавить в игру больше контента и неожиданных сценариев. Для сюжетных миссий M.E.R.C. мы хотели создать большой набор сделанных вручную уровней, но осознавали, что нашей небольшой инди-команде не хватит времени или ресурсов на изготовление контента для такой большой игры. Кроме того, мы стремились добавить случайность и повысить реиграбельность игры. Процедурная генерация уровней позволила нам создать большой, бесконечно изменчивый мир, который мы не смогли бы получить, строя отдельные уровни вручную. Использование процедурной генерации позволяет добавить больше контента и улучшить игровой процесс.

Что такое M.E.R.C.? M.E.R.C. — это тактический симулятор отряда в реальном времени с видом сверху. Игрок одновременно управляет отрядом из четырёх наёмников в антиутопическом мире Неотопии, отдаёт приказы и активирует особые умения. Каждый наёмник отряда имеет собственные особые боевые, технические и хакерские навыки, которые необходимо использовать в миссиях. Визуально M.E.R.C. напоминает стиль «Бегущего по лезвию»: тёмные дождливые трущобы и крыши города со множеством извилистых улиц и неоновым освещением. Сюжет заключается в войне могущественных корпораций за контроль над Неотопией. Отряд нанимают для выполнения различных заданий корпораций, таких как похищение учёных конкурентов или убийство сотрудников-перебежчиков. Каждая полученная миссия влияет на отношения с разными корпорациями и в результате изменяет игровой мир. Учитывая всё это, давайте рассмотрим требования к процедурной генерации уровней.
Читать дальше →

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

История из российского А(АА)-инди геймдева на одном примере

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


Под катом вас ждет большая и наполненная графикой история, как группа заинтересованных людей за 2 года создали инди-проект уровня ААА (по их мнению)

Локальный мультиплеер в Unity с помощью Unet

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

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

История создания первой игры на Unity — от идеи до релиза

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


Добрый день! Я — инди-разработчик (с недавнего времени), 2 года назад, будучи пожарным, пришла в голову мысль создать свою игру на Android. Из опыта было только создание карт под игровые движки Gold Source и Source (на них построены старые добрые: Counter-Strike, Half-Life и многое другое), взяв волю в кулак, решил что я обязательно справлюсь и занялся штудированием интернет-поисковика Google.

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

Осторожно, под катом gif-изображения.
Читать дальше →

Создание анаморфных искажений в Unity

Время на прочтение3 мин
Количество просмотров12K
Всем привет! Сейчас я работаю в VRTech, и в рамках работы я натолкнулся на интересную задачу о которой хочется рассказать. Задача заключалась в том, чтобы получить анаморфное отображение картинки. Я попытаюсь рассказать, что такое анаморфные искажения, как рассчитать простейший случай линейного отображения такого искажения на плоскость, а так же предложу своё решение реализованное с помощью Unity.

image

Особенности разработки мобильной MMO RTS. Часть 3

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


Содержание:


  1. Оптимизация производительности и целевые устройства
  2. Отрисовка текста и оптимизация Label
  3. Виртуальные списки и перемещение камеры
Читать дальше →

История создания простой мобильной игры

Время на прочтение11 мин
Количество просмотров27K
Привет! Мы — небольшая команда из двух человек, которая пытается делать игры в свободное время. Совсем недавно мы наконец-то зарелизили свое первое скромное творение и решили поделиться опытом его создания с хабрасообществом.


“У всех есть свои раннеры, а чем мы хуже? Мы тоже сможем запилить за месяц крайне простую игру для телефонов”, — подумали мы немногим больше года назад, и все завертелось.

Мы нарисовали пару скетчей, написали диздок на 2 листа и взяли Unity, с которым у нас уже был небольшой опыт работы. Решив, что справимся с простым раннером примерно за месяц-два, приступили к работе.

Осторожно, под катом довольно много картинок!
Читать дальше →

Оптимизация механики и графики в игре жанра «симулятор» на iOS

Время на прочтение11 мин
Количество просмотров8.1K
Взлет игр-симуляторов как жанра несколько лет назад показал, что геймификации поддается любая рутина. Апофеозом стал хайп вокруг Goat Simulator, удостоившегося упоминания в ключевой презентации WWDC 2015. Мы не остались в стороне и от этого тренда, поучаствовав в разработке движка для серии кросс-платформенных приложений, симулирующих работу подземки, над которыми трудятся наши партнеры из Simulators Live.

Subway Simulator – серия игр-симуляторов метро. Самая первая версия игры, вышедшая в 2014 году, хоть и была довольно абстрактной, подтвердила спрос на продукт подобной тематики, причем довольно высокий — проект занял лидирующие позиции в своей нише практически сразу после запуска. Последующие апдейты и новые версии продукта были направлены на то, чтобы сделать Subway Simulator реалистичнее: моделирование поездов и станций вышло на новый уровень, а также появились «локализованные» версии игры, отображающие метрополитены Лондона, Шанхая, Москвы и других городов. В данный момент суммарное число установок первой версии игры на iOS почти достигло миллионного значения. Одновременно игра становится доступна для других платформ.

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