Обновить
14.63

Unity *

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

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

Процедурная генерация в Distrust

Время на прочтение14 мин
Количество просмотров22K
Всем привет! Меня зовут Максим, и я хочу рассказать о том, как мы делали процедурную генерацию, а точнее о том, какой она в итоге у нас получилась. Эта статья не претендует на звание полной документации, что потребовало бы намного больше текста. Статья ставит своей целью описать основные механизмы генерации игрового мира и его сущностей, не вдаваясь в отдельные узкие правила и исключения, коих довольно много.

Перед вами здание- склад, сгенерированное процедурно:
image
Читать дальше →

Система перемотки времени в стиле Prince of Persia

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

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

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


Демонстрация основных возможностей

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

Готовы? Поехали!
Читать дальше →

«Хочешь сделать хорошо, сделай это сам» или как я делаю свою выживалку на Unity 3D и C#

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

Когда-то давно я много играл в компьютерные игры (в основном — соревновательные), но несколько лет назад открыл для себя жанр Survival Game (выживалки «в простонародье»). Поиграв в несколько разных игр (ARK, Conan Exiles и другие, менее находящиеся на слуху), я понял, что это все же не совсем то, чего бы мне хотелось.

Как и многие ребята, в детстве (прошедшем еще в большой и сильной стране из 4 букв) я зачитывался книгами пиратской тематики: Одиссея Капитана Блада, Остров Сокровищ, да даже Гулливер, в какой-то степени, повлиял на мое мировоззрение и отношение к теме дальних странствий и опасных морских приключений.

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

image

5 бесплатных ассетов для Unity3D, которые облегчат процесс разработки

Время на прочтение3 мин
Количество просмотров19K
Недавно мы выпустили обзор некоторых Unity ассетов для начинающего 2D разработчика.
Сегодня предлагаем вашему вниманию подборку из 5 бесплатных ассетов для Unity3D, максимально простых в использовании и полезных в работе. Данные ассеты призваны упростить некоторые аспекты разработки, а также сэкономить вам время за счет автоматизации определенных нудных задач.

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

Введение в процедурную анимацию: инверсная кинематика

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

Часть 4. Введение в градиентный спуск


Эта часть представляет собой теоретическое введение в инверсную кинематику и содержит программное решение, основанное на градиентном спуске (gradient descent). Эта статья не будет всеобъемлющим руководством по этой теме, это всего лишь общее введение. В следующей части мы покажем настоящую реализацию этого алгоритма на C# в Unity.

Серия состоит из следующих частей (части 1-3 представлены в предыдущем посте):

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

Введение в процедурную анимацию

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

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

GIF

Серия будет состоять из следующих частей:

Усатый стрелок с полигональным пузом. Часть вторая

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


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


А теперь, когда опубликована вторая часть, материала достаточно и для третьей части! :)

Сегодня в программе: смесь визуала и архитектуры проекта. Но сначала, ещё парочка деталей про тени.
Итак, поехали!

Создание шейдерного эффекта 3D-принтера

Время на прочтение6 мин
Количество просмотров8.5K
В этом туториале мы воссоздадим эффект 3D-принтера, используемый в таких играх, как Astroneer и Planetary Annihilation. Это интересный эффект, показывающий процесс создания объекта. Несмотря на внешнюю простоту, в нём есть множество далеко не тривиальных сложностей.


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

Усатый стрелок из двадцати трёх полигонов

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

А давайте отвлечёмся немного и напишем игру в google play? И не такую огромную и неподъёмную фигню, про которую я обычно пишу статьи, а что-нибудь простое и милое сердцу?


На самом деле, всё очень просто: я наконец-то зарегистрировал аккаунт разработчика и очень хочу его опробовать. На момент написания этих строк у меня нет ни одного написанного класса и ни одного нарисованного пикселя. По сути, эта статья — самый настоящий devlog.

Google Play и 2K установок в сутки без денежных вложений (+ статистика и доходы)

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


Всем привет! Решил я поделиться с Вами опытом «бесплатного пиара» в Google Play, а именно способами для достижения 2K установок в день без денежных вложений. Вся статистика прилагается +информация о доходах

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

Статистика, указанная в статье, собрана с нового приложения, которое живет с 24 мая 2017

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

История создания одной игры, или Все, что нас не убивает, делает нас сильнее

Время на прочтение12 мин
Количество просмотров18K
Всем здравствуйте! Год назад, 13.6.2016, мы дали старт нашему проекту.


Первый день рождения, год позади, вспоминаем, как все было…

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

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

Напротив каждого события мы проставили знаки + и -, что означает, положительным или отрицательным было событие.
Читать дальше →

Лайфхаки редактора Unity 3D. Часть 1: Атрибуты

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

Содержание


  • Часть 0. Перечень GUI элементов, используемых в статьях
  • Часть 1. Атрибуты
  • Часть 2. Окна
  • Часть 3. Редактор класса, наследника от MonoBehavior или ScriptableObject
  • Часть 4. Редактор класса, кастомный редактор для сериализуемой переменной

Предисловие


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

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

Топ 15 бесплатных Unity ассетов для начинающего 2D разработчика

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

Введение


Unity3D – безумно удобная среда, которая многое делает за нас. Именно поэтому она сейчас так востребована: разработка игр при правильном подходе становится не сложнее сборки конструктора.

Сама платформа Unity предоставляет широкий набор инструментов, но иногда не хватает и их. Тогда в дело вступает Asset Store с миллионами ассетов, моделей и примеров проектов.



Если у вас еще мало опыта в разработке приложений, имейте в виду: Asset Store – это огромный склад велосипедов, которые уже изобрели до вас. При этом там можно найти очень много бесплатного контента, или же контента по цене одной чашки кофе (сэкономьте на латте!).

Почему мы посвятили статью именно 2D играм? Посмотрите на рынок: 2D игры сейчас переживают ренессанс. Чтобы в этом убедиться, достаточно взглянуть на инди-сектор в Steam, Ketchapp и Zeptolab в мобильной разработке. 2D игры давно превратились из отжившего свое сектора в отдельную процветающую нишу рынка. Поэтому если вы решили делать 2D игру на Unity, сначала убедитесь, что у вас в арсенале есть все нужные инструменты, чтобы обеспечить должное качество продукта.
Читать дальше →

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

Видео: инди-разработчики о провалах, успехе и монетизации

Время на прочтение1 мин
Количество просмотров7.8K
В мае в Москве состоялась конференция DevGAMM — одно из крупнейших русскоязычных мероприятий в области разработки игр. Мы поймали инди-девелоперов c абсолютно разным опытом в индустрии — и задали несколько важных вопросов о монетизациях, сложностях и историях создания их проектов.

Unity: система сохранения для любого проекта

Время на прочтение8 мин
Количество просмотров28K
Игры надо сохранять. Сохраняемых сущностей может быть великое множество. Например, в последних выпусках TES и Fallout игра помнит расположение каждой закатившейся склянки. Необходимо решение, чтобы:

1) Написал один раз и используй в любом проекте для любых сущностей. Ну, насколько возможно.
2) Создал сущность — и она сохраняется сама собою, с минимумом дополнительных усилий.
Читать дальше →

Играем с эмоциями: Microsoft Cognitive Services + Unity

Время на прочтение5 мин
Количество просмотров4K
Друзья! Наверняка многие из вас уже слышали про когнитивные сервисы, которые позволяют одним вызовом REST API решать сложные задачи — определять эмоции и возраст человека по фотографии, делать машинный перевод текста и т.д. Часто когнитивные сервисы внедряют в приложения или веб-бекенд. Сегодня наш большой друг, сотрудник компании VRTech и Game-разработчик Григорий Дядиченко расскажет нам, как внедрять когнитивные сервисы в игры на Unity, а также пригласит вас на митап Unity-разработчиков, где можно будет обсудить это подробнее.



В этой статье мне бы хотелось рассказать про интеграцию Microsoft Cognitive Services в Unity; про то, как делать HTTP запросы к сервисам через класс WWW (если вдруг кто-то ещё не сталкивался с этим и не знает) и рассказать, с какими неожиданными для меня проблемами я столкнулся, разрабатывая приложение с использованием этих сервисов для Google Play.
 

Как инди-игре обогнать Angry Birds?

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

После того, как телефоны стали умнее многих своих владельцев, селфи получили широкое распространение. Делать свои автопортреты в любом, даже самом неподходящем для этого месте, стало любимым занятием пользователей социальных сетей и, прежде всего, Instagram. Тогда мне и пришла идея сделать игру на основе этого тренда. Я и мои коллеги из студии давно занимались разработкой игр на заказ. Был период, когда команда чувствовала себя сильно уставшей от одного из долгосрочных проектов. Я решил отвлечь разработчиков и предложил взять небольшой тайм-аут, чтобы поработать над своим инди-продуктом без заказчиков и издателей — все сделать своими силами.
Читать дальше →

Приглашаем на встречу Unity разработчиков в Москве

Время на прочтение2 мин
Количество просмотров2.2K
7 июня, в среду вечером, у нас в Высшей школе бизнес-информатики НИУ ВШЭ состоится Unity Moscow Meetup. Это уже третья встреча Unity разработчиков в Москве. Приглашаем обмениваться опытом использования Unity, идеями и современными подходами, а также заводить новые контакты. И конечно послушать интересные доклады.

Участие в мероприятии бесплатное, но вход по спискам – поэтому необходима предварительная регистрация.

Под катом подробности про мероприятие:


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

Загрузка реальных ландшафтов в Unity 3D

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


Введение


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

По этой теме тоже довольно много разного рода публикаций в сети. Однако, многие из них опираются на использование платных приложений или расширений для Unity. Существуют описания и «дешевых» методов, но основная масса их ориентирована на получение так называемых heightmap — черно-белых квадратных изображений местности, где градациями серого определяется относительных уровень высот в данной точке. Существует ряд способов генерации подобных карт высот с использованием например инструментария GDAL. И такой подход не лишен недостатков, связанных с достаточной громоздкостью процедуры создания карты высот и последующей привязкой к полученной местности. Поэтому, в данной статье будет изложен некий альтернативный подход и интересующиеся приглашаются под кат.
Читать дальше →

Создание игры Match-3 в Unity

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

Несколько лет назад на SeishunCon я заново открыл для себя игры match-3. Я играл в Dr. Mario детстве, но такие более соревновательные игры, как Magical Drop, Bust-A-Move и Tokimeki Memorial Taisen Puzzle-Dama, сильно отличаются от неё.

image
Dr. Mario

В результате я осознал, как много нейтральных решений связано с созданием игры match-3.

На следующем джеме Ludum Dare я решил поэкспериментировать, но сначала за неделю до этого для разогрева попробовал разработать алгоритм «Тетриса», обнаруживающий и удаляющий линии. Мне очень помог этот туториал Unity Plus. [Прим. пер.: у меня ссылка не открывается. Если вы знаете, как решить проблему, напишите мне, я дополню статью.] Разумеется, алгоритм «Тетриса» для поиска заполненных рядов гораздо проще, чем алгоритм, выискивающий разнообразные сочетания совпадающих тайлов.

Если вы хотите изучить эти примеры кода в контексте, то зайдите в мой репозиторий Ludum Dare 30. (Для бесстыдной саморекламы я снова использовал эту логику для игры Shifty Shapes.)

Два мира



Magical Drop 3 (источник: Kazuya_UK)

Самая мудрёная часть создания игры-головоломки в Unity заключается в том, что игра не живёт в пространстве мира. Во всяком случае, живёт не полностью.

В этом её отличие от других жанров. Платформеры, например, почти полностью живут в игровом мире Unity. Transform игрока сообщает о его положении. Коллайдеры (или, в некоторых случаях, raycast) говорят, находится ли игрок на земле, ударяется ли об потолок или столкнулся с врагом. Даже если вы не используете внутриигровую физику, то всё равно, скорее всего, добавляете силу или указываете скорость Rigidbody, чтобы обеспечить распознавание столкновений без затрат.
Читать дальше →