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

Unity *

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

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

Реализация волнового алгоритма нахождения кратчайшего пути к динамически движущимся объектам в unity3d на C# в 2d игре

Время на прочтение9 мин
Количество просмотров94K
В данной статье я хочу показать как реализовать волновой алгоритм и мою модификацию его для работы с динамическими объектами в unity3d.

Область применения


Данный метод подходит для 2д игр. А его модификация для нахождения пути к движущимся объектам. Область применения очень обширная и затрагивает множество игровых жанров и ситуаций, например:
  1. Игры жанра ТД. Где игровые локации удобно представлять в виде матрицы проходимости, к примеру 0 — участок по которому можно перемещаться, -1 — область недоступная для перемещения, -2 — ловушка и т.д.;
  2. Стратегические игры, особенно пошаговые. Например бои в серии игр “Герои Меча и Магии”;
  3. Платформеры;
  4. Шашки, шахматы, змейка и другие.

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


В интернете достаточно много статьей по работе с алгоритмами нахождения кратчайшего пути, но при этом все равно постоянно создают темы на форумах, задают вопросы “как найти путь до объекта”. Я выделил несколько причин почему эта статья имеет право на существование:
  1. Для unity3d реализовано много алгоритмов нахождения кратчайших путей в виде ассетов, то есть готовых решений. Но иногда стоит не брать готовое решение, а написать свое, оптимальное конкретно к вашему случаю. Тем более если в игре много объектов, то плохая реализация алгоритма может сильно повлиять на производительность. И тем более производительность пострадает если этих объектов много и они меняют свое местоположение;
  2. Стандартный вариант волнового алгоритма — не самый оптимальный вариант для динамических объектов, поэтому я хочу показать его модификацию, которую разработал во время работы над своей стратегической игрой;
  3. В интернете нету хороших, простых, статей на тему реализации волнового алгоритма в unity3d.

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

In App Purchase с помощью Soomla. Быстро и просто

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


В последнее время пришлось интегрировать внутриигровые покупки в свою игру и встал вопрос, а какой же плагин для этого использовать под Unity3D? Есть такие вещи как OpenIAB, Prime31, Unibill и Soomla. Более мелкие вещи брать в расчет не будем, ибо некоторые из них либо не обновляются вообще, либо имеют какие-то критические проблемы. Кто хочет знать, почему выбор пал именно на Soomla, и как его интегрировать прошу под кат.
Читать дальше →

Путь разработчика (Часть 0х01)

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

0х01. Работа не мечта


// Code is Poetry
Джон Касти как-то сказал: «Физика — это частный случай биологии», я считаю — программирование частным случаем поэзии. Здесь так же важно соблюдать структуру, как соблюдается рифма, знать своего пользователя как знать своего читателя, быть одновременно переводчиком и историком, чтобы кто-то, придя из другой сферы смог прочесть написанное тобой. Но сам программист — сочетание характеров писателя, изобретателя и испытателя. Код соединяет несоединяемое: творчество тысяч людей сливаются в один проект, словно десятки художников, со свойственными только им стилями, красками и предпочтениями, берутся за рисование одного полотна. Одно ясно: унификация не удел программиста.
Читать дальше →

Создание The Blacksmith: концепт и художественное оформление

Время на прочтение5 мин
Количество просмотров25K
В рамках официального сотрудничества с компанией Unity мы будем публиковать переводы статей о создании проектов на Unity 5.
В этот раз речь пойдет об источниках вдохновения для создания ролика The Blacksmith (Кузнец), мы покажем примеры концепт-арта и поделимся интересными наблюдениями и советами.



Подробнее

Перенос редактора Unity на Linux: вещи, которые стоило бы сделать заранее

Время на прочтение4 мин
Количество просмотров24K
На прошедшей в этом году конференции Unite Europe мы опубликовали наш план развития. И хотя там много классных вещей, лично мне больше всего нравится редактор для Linux. История портирования редактора под Linux похожа на историю добавления поддержки Linux для среды выполнения в Unity 4.0. По большому счету это делается для души, часть сотрудников Unity периодически работала над этим в течение некоторого времени, во многом этот проект является одним из итогов внутренних хакерских недель (hackweek) среди разработчиков Unity — и я бы сказал, что дело продвигается весьма неплохо. Достаточно скоро мы планируем выпустить экспериментальную сборку, которую вы все сможете попробовать.

Портирование редактора на Linux потребовало немало усилий — намного больше, чем перенос среды выполнения. Частично это обусловлено тем, что именно в редакторе воплощено большинство наших собственных технологий (включая сложную интеграцию со сторонними разработками), частично из-за базы данных ресурсов, частично из-за проблем с чувствительностью к регистру. Наш редактор состоит из:


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

Интеграция Unity с Google Таблицами

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


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

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

В этой статье я хочу рассказать Вам какую пользу принесли мне электронные таблицы, с какими трудностями я столкнулся, когда подготавливал игру для работы с Google таблицами и также хочу поделиться небольшим туториалом по интеграции Unity проекта с Google Spreadsheets.
Читать дальше →

Дайджест новостей игровой индустрии: июнь

Время на прочтение7 мин
Количество просмотров13K
Жарко, не правда ли? А будет еще горячее! Включайте кондиционер и читайте новую порцию полезных статей и новостей о разработке игр.

Читать далее

Дайджест новостей из мира разработки на Unity

Время на прочтение2 мин
Количество просмотров22K
Лето – пора больших свершений. Потратьте время отпусков с пользой: читайте наш новый дайджест и создавайте потрясающие игры на Unity.


Читать все

Unity 5 uNet – новая сетевая подсистема. Этюд по авторитарной архитектуре

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

Пример реализации сетевой архитектуры в Unity3D с авторитарным сервером


В виду того, что:
а) старые сетевые принципы Unity3D, как говорится, устарели;
б) я всё равно не понимал, как у меня заработало то колдунство.
в) назойливо появился новый метод и начал прыгать в глаза при каждом запуске Unity.
я решил, что надо в сетевом обмене разобраться плотнее и устранить область “here be dragons”.
Читать дальше →

Как используя Canvas собрать кликабельную карту мира на Unity3d

Время на прочтение6 мин
Количество просмотров25K
Возникла задача собрать карту мира. Причем именно собрать из множества стран, стран-регионов, потому как страны должны быть кликабельны. Да проще некуда, скажете вы, всего-то и надо запилить целую карту да развесить по странам полигон-коллайдеры, пффф… Но нет, подразумевается, что страна должна будет изменять цвет на красный или черный и при клике будет выделяться белым. Кроме того, со временем на стране должны появляться красные поинты (да-да… я знаю, о чем вы подумали). Этих поинтов должно быть достаточно много на карте.

Было принято решение собрать карту при помощью Canvas. Удобная штука, экономит массу времени. Но не в этот раз.
Читать дальше →

Самые актуальные новости с E3 2015: Bethesda, Microsoft, Electronic Arts, Ubisoft и Sony

Время на прочтение9 мин
Количество просмотров24K
Вчера завершилась Electronic Entertainment Expo 2015. Более известная как Е3, эта выставка по-настоящему значимое событие для всей индустрии компьютерных игр. Именно на ней компании презентуют свои самые новые и самые крутые проекты. Doom, Fallout 4, Halo 5: Guardians, Mass Effect Andromeda, Star Wars: Battlefront, Assassin’s Creed Syndicate, The Last Guardian, Final Fantasy VII, Shenmue 3, технологии VR и многое другое.

Детальнее

Взрывной GameDev. История создания моей игры

Время на прочтение8 мин
Количество просмотров35K
Вот, наконец, дошли руки присоединиться к армии разработчиков под мобильные платформы и написать сюда статью о том, как в эту тему попал я. Сразу напишу, что для написания игры был выбран движок Unity3d, чтобы люди понимали, что я собрался описывать.

Об идее


Самая интересная часть истории заключается в том, что первоначальная идея абсолютно не совпала с итоговой реализацией. Почему? Да все просто. Сначала у меня была идея создания головоломки с использованием машины Тьюринга.
Читать дальше →

Работа с компрессией текстур в Unity3D + NGUI

Время на прочтение5 мин
Количество просмотров18K
Привет Хабровчане!

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

Хотелось бы поделиться разработкой, которую мы успешно внедрили у себя в Heyworks и используем на проекте Pocket Troops (Неудержимые). Проблема, с которой сталкивались и сталкиваются все разработчики, при чем не только работающие с NGUI и Unity3d, но и с другими движками и пакетами, это поиск золотой середины между качеством и весом игровых интерфейсов (впрочем, это не только интерфейсов касается). В этой статье я постараюсь помочь убить двух зайцев одной пулей.
Кому интересно, добро пожаловать под кат.

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

Создание приложения для Gear VR с использованием Unity3D

Время на прочтение2 мин
Количество просмотров15K
На днях мне довелось поработать с новыми очками виртуальной реальности от Samsung и Oculus — Gear VR. Моей задачей было создать приложение для этих очков, что оказалось чуть сложнее, чем я предполагал.

image

Зачем эта статья?


Samsung Gear VR — продукт новый и еще не вышел в открытый доступ, так что конкретной информации о том, как подружить эту технологию с Unity3D еще очень мало и ее приходится долго собирать по крупицам, а официальный Integration guide мне не сильно помог. Надеюсь, эта статья сэкономит вам время.

Примечание


Я опустил слишком подробное описание каждого действия, так что для полного понимания инструкции нужно знать базовые основы Unity3d и уметь билдить приложение под android.
Читать дальше →

Дайджест новостей игровой индустрии

Время на прочтение7 мин
Количество просмотров19K
Теплые деньки не повод расслабляться. Для тех, кто хочет быть в форме, мы подготовили двойную нагрузку для мозга – самые интересные новости геймдева.

Узнать все

Как за полгода разработать многопользовательскую 3D-игру без художников, дизайнеров и моделлеров

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


Привет, Хабр!
Историй о разработке игр было немало, сегодня я попробую вкратце рассказать нашу.

Мир есть текст — Жак Деррида
Игра есть словарь — a11aud

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

Как я бросил университет ради разработки собственной игры. Часть 1

Время на прочтение4 мин
Количество просмотров60K
image
Привет, Хабрахабр! Наверняка, многие из вас задумывались о разработке собственной игры, но, к сожалению, существует много факторов, которые, всё же, не позволяют нам начать работу над игрой своей мечты: учеба, работа, семья и т.д. Да и, к тому же, мы просто боимся бросить всё и осуществить свою мечту, ибо многих пугает неизвестность, которая нас поджидает, как только мы отклонимся от общепринятых стремлений. В данной статье я расскажу вам о своём нелегком пути к воплощению идеи, ради которой я поставил все на кон.
Читать дальше →

Unity3d: эксперименты с Social Interface

Время на прочтение10 мин
Количество просмотров24K
Современную мобильную игру трудно представить без социальной интеграции, общих таблиц рекордов (leaderboards) и достижений (achievements). Дабы не отставать от тенденций, решил интегрировать Game Center и Play Services для iOS и Android версий моей игры.

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

Unity на русском

Время на прочтение1 мин
Количество просмотров62K
Здравствуйте, уважаемые Хаброобитатели!

UPD
Могу всех порадовать. Мы приступаем к переводу Unity in Action: Multiplatform Game Development in C#. Постараемся все сделать как можно быстрее, но при этом качественно.



Пришла нам в голову безумная мысль, а не пора ли перевести на русский язык книгу по Unity? Тем более сейчас, когда доступна полноценная пятая версия (да еще и бесплатно).
Книг на английском языке вышло немало, но хочется выбрать не слишком старую и самую интересную.
Если мы упустили что-либо интересное, напишите в комментариях, будем рады.
Читать дальше →

Визуализация данных OpenStreetMap в 3D налету с помощью Unity3D

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

Предыстория


image
Некоторое время назад, в связи с наличием свободного времени, я задумался над применением карт для решения каких-либо интересных и нестандартных задач. Одна из идей, которая меня заинтересовала, была идея применения карт для рендеринга мира в игровом движке c возможностью интерактивного взаимодействия: разрушения Макдональдсов в выбранном городе, локальный апокалипсис у соседей в огороде и тому подобные приятные, но только в случае виртуального мира, мелочи.
Однако несмотря на примитивность идеи, не было найдено каких-то готовых решений под сформулированные мной условия:
  • Открытый исходный код
  • Реал тайм рендеринг мира в игровом движке
  • Поддержка основных платформ (mobile, web, desktop)
  • Желательно C# как основной язык разработки

Подробности