К Unity3d частенько относятся как к движку для небольших мобильных игр, а ведь это совсем не так! Это очень взрослый и профессиональный игровой движок! В этой статье рассмотрим самые известные игры на юнити.
Игровой движок Unity открыл двери в геймдев для многих-многих людей, в основном благодаря низкому порогу входа и C# в качестве основного языка программирования. По этой причине движок Unity3d является любимым в среде независимых разработчиков.
19 мая: Самое горячее на текущий момент
- Как стримить с консолей. Карты захвата
- Полное руководство для стримеров
- Capcom рассказала о причинах изменения поведения Немезиса в ремейке Resident Evil 3
- В Doom Eternal появилась Denuvo, игроки недовольны
- Трейлер EVE Echoes и дата выхода
- Разработчики TESO рассказали о новых вампирах
- К Terraria вышло последнее дополнение
- Состоялся анонс игры Lifeguard Simulator
- Отчет по DevGAMM 2020 Online
Показать еще
Стартовая версия движка впервые увидела свет в 2005-ом году, тогда как спрос на инди-игры зародился еще раньше (если точнее, то в 2000-ом году). Студии-разработчики неустанно искали выход из сложного положения, так как им было достаточно проблематично конкурировать с такими гигантами индустрии, как Ubisoft, Activision, Bioware и так далее. К слову, и крупные компании не стесняются использовать для разработок игр ААА класса именно Unity, не взирая на его дешевизну и простоту. И теперь мы наблюдаем, как с каждым месяцем появляется все больше новинок, которые завладевают вниманием пользователей и приносят создателям весьма неплохую прибыль. Но, давайте более подробно поговорим о том, какие самые популярные существуют игры на движке Unity3D.
10 место – SUPERHOT
Оригинальный инди-шутер с видом от 1-го лица, созданный одноименной командой Superhot Team. Будучи небольшой демонстрацией для конкурса 7 Day FPS Challenge, игра переросла в демоверсию игры для браузеров, а затем перебралась на Kickstarter, где получила необходимое финансирование и впоследствии стала полноценной игрой.
SuperHot
С виду SUPERHOT производит невзрачное впечатление: графика выполнена в минималистическом стиле (красные безликие противники на сером фоне), а геймплей предллагает только одну вещь – стрелять в противников. Однако же уникальность кроется в самой стрельбе, а точнее – в том, как она проходит.
Так, когда вы двигаетесь, время в SUPERHOT течет своим чередом, однако же стоит вам остановиться, как все вокруг замирает. Остановленное время позволит вам осмотреться и прикинуть дальнейший путь действий, чтобы совершать красивые серии убийств. Но стоит вам поймать хоть одну пулю – вы умрете.
Вносим элемент случайности в нашу доску
Откройте скрипт BoardManager и добавьте эти строки кода в метод CreateBoard, прямо под плитками [x, y] = newTile ;:
newTile.transform.parent = transform; // 1 Sprite newSprite = characters[Random.Range(0, characters.Count)]; // 2 newTile.GetComponent().sprite = newSprite; // 3
Эти строки делают три ключевых вещи:
- Добавляют все тайлы в BoardManager, чтобы сохранить иерархию в редакторе. 2. Случайным образом выбирают спрайт из тех, которые вы ранее уже перетаскивали. 3. Устанавливают спрайт вновь созданной плитки на случайно выбранный спрайт.
Запустите игру, и вы увидите рандомизированную доску:
Как вы возможно заметили, ваша доска может генерировать подходящую комбинацию из 3 в начале, и это невероятно круто
9 место – Sunless Sea
Очередная инди-игра, созданная в жанре roguelike компанией Failbetter Games. Сама по себе Sunless Sea не является культовой и не предлагает уникальных вещей. Внести её в список мы решили лишь потому, что в целом игра выполнена качественно, а её жанр – roguelike – сегодня в чистом виде практически невозможно встретить на просторах игровой индустрии.
Sunless Sea
Собрав средства на Kickstarter, разработчики решили выпустить спин-офф к собственной браузерной RPG Fallen London. Все действие Sunless Sea развивается в той же вселенной и в тех же временных рамках – декорациях Викторианской эпохи, вобравшей в себя мистическую тематику и фэнтези по типу легенд о Ктулху.
Играть же в Sunless Sea предстояло за капитана парохода, который путешествует по различным островам этого мира и сталкивается со всяческими препятствиями.
Если вы хотите поиграть в игру с чудесным миром, отлично проработанными сценками и хорошим сюжетом, не уступающим серьезным книгам, то Sunless Sea точно вам понравится.
Предотвратите повторение плиток
Плитки генерируется вверх, а затем вправо, поэтому для исправления «автоматического» комбинирования из 3х плиток, вам необходимо определить, какой спрайт находится слева от вашей новой плитки, и какой под вашей новой плиткой.
Для этого вам потребуется создать две переменные Sprite в методе CreateBoard прямо над двойными циклами for:
Sprite[] previousLeft = new Sprite[ySize]; Sprite previousBelow = NULL;
Эти переменные будут использоваться для хранения ссылки на соседние плитки, чтобы вы могли заменить их characters.
Посмотрите на изображение ниже:
Цикл перебирает все плитки снизу слева и поднимается по одной плитке за раз. Каждая итерация получает символ, отображаемый слева и под текущей плиткой, и удаляет его из списка новых возможных characters.
Случайный персонаж вытаскивается из этого списка и назначается как левой, так и нижней плитке.
Это гарантирует, что с самого начала уровня, на доске не будет строки из 3 одинаковых плиток.
Для этого вам нужно добавить следующие строки прямо над Sprite newSprite = characters [Random.Range (0, characters.Count)] ;
List possibleCharacters = new List(); // 1 possibleCharacters.AddRange(characters); // 2 possibleCharacters.Remove(previousLeft[y]); // 3 possibleCharacters.Remove(previousBelow);
- Создайте список возможных characters для этого спрайта. 2. Добавьте все characters в список. 3. Удалите characters слева а также снизу от текущего спрайта из списка всех позиций characters.
Замените этот код:
Sprite newSprite = characters[Random.Range(0, characters.Count)];
На этот:
Sprite newSprite = possibleCharacters[Random.Range(0, possibleCharacters.Count)];
Код выберет новый спрайт из списка возможных значений и сохранит его.
Наконец, добавьте эти строки под newTile.GetComponent (). Sprite = newSprite ;:
previousLeft[y] = newSprite; previousBelow = newSprite;
Этот параметр установит newSprite для плитки слева и снизу от текущей для использования следующей итерации цикла.
Запустите игру и проверьте вашу новую динамическую сетку с плитками, которые не повторяются.
8 место – Guns of Icarus Online
MMO-симулятор, в котором игрокам необходимо совместно управлять огромным дирижаблем. Guns of Icarus Online разработана в стиле стимпанк. Никакого мира или описания вселенной в этой игре вы не встретите – все происходящее разворачивается на безликих небесных пространствах, где сталкиваются боевые дирижабли.
Будучи сессионной, игра предлагает геймерам поучаствовать в сетевых баталиях как 1 на 1, так и в виде массовых сражений. Однако 1 на 1 – понятие условное, так как каждую единичку олицетворяют четыре настоящих игрока.
Перед началом сражения каждый из четверки должен выбрать какую-либо специализацию: класс пилота, стрелка или инженера. Соответствуя своему названию, специализации ориентированы на различные задачи и имеют уникальные характеристики.
Guns of Icarus Online
Во время битв вся команда игроков находится на дирижабле и выполняет свои обязанности. Будучи инженером, геймер может занять штурвал пилота либо сесть на пушку. Пилоту, в свою очередь, никто не мешает отправиться чинить сломанный объект.
Разница же заключается в дебаффах и баффах, которые накладываются в зависимости от класса и действий игрока (пилот лучше управляет, а инженер быстрее чинит).
В Guns of Icarus Online представлено немало уникальных дирижаблей, каждый из которых обладает собственными огневой мощью и характеристиками. Победы же достигнет та команда, которая отправит вражескую технику в свободный полет – т.е. уничтожит.
7 место – Pokemon Go
Проект, устроивший по себе вакханалию «хайпа» в 2020 году, которая захлестнула весь интернет, проникла на телевидение и в газеты. Pokemon Go является бесплатной игрой для мобильных устройств, в которой игроку необходимо коллекционировать известных персонажей-монстров из вселенной Pokemon.
Ключевая особенность игры строится на технологии дополненной реальности, которая с помощью интернет-соединения и видеокамеры определяет местоположение пользователя и проецирует на экране самих покемонов, которые в это время будто бы находятся в реальности.
Pokemon Go
Концепция Pokemon Go уже успела зарекомендовать себя в индустрии, причем в прошлом её использовали сами разработчики в другом своем проекте.
Однако же только Pokemon Go удалось получить громкий отклик от общественности – игра была загружена более чем 100 миллионами человек со всего мира. Студии Niantic же удалось заработать около полумиллиарда долларов.
6 место – Firewatch
В 2020 году студия Campo выпустила интересный инди-проект Firewatch – игру в приключенческом жанре с видом от 1-го лица, которая рассказывает историю об обычном человеке по имени Генри и его проблемах, что порождает современное общество.
Firewatch
События игры разворачиваются в лесу Шошони 1989 года, как раз в то время, когда начался Йеллоустонский пожар. Главный герой Генри, потерявший любимую жену, решает абстрагироваться от социума и уйти в отшельничество, став наблюдателем леса на одной из пожарных вышек.
Весь сюжет строится на общении Генри и девушки Делайлы, которая в течение всего прохождения находится по ту сторону рации. Взаимоотношения персонажей, а также проблемы, ими поднимаемые, и есть суть Firewatch.
«Разработчик игр на Unity3D» от Академии Алексея Сухорукова
Продолжительность: 2 месяца Стоимость: 28 000 рублей Преподаватели: Андрей Педан, Андрей Гончаров На кого рассчитана программа: на людей с базовыми навыками в С#
Официальный сайт курса
Академия Алексея Сухорукова оглашает набор на онлайн-курс, посвященный разработке видеоигр на Unity3D. Для большинства людей этот движок известен, как основа игр для мобильных телефонов, однако на нем также можно делать многомиллионные проекты для ПК и консолей (например, Pillars of Eternity от студии Obsidian Entertainment). Если вы желаете начать с инди-проектов на этом движке, то добро пожаловать на курс.
Программа онлайн-курса «Разработчик игр на Unity3D» включает:
- основы программирования на С# – структура, работа с массивами, цикл, ход выполнения программы, основные операции, модификаторы, свойства и классы;
- ознакомление с интерфейсом программы;
- особенности наследования;
- основные достоинства и особенности работы с Unity;
- настройку освещения;
- работу с камерами, примитивами и коллайдерами;
- рендеринг в Unity;
- работу с материалами и текстурами;
- консоль и компоненты;
- настройку управления (управление мышью, клавиатурой, геймпадом, гироскопом и тачскрином);
- настройку звукового окружения, моделями, текстурами;
- создание элементов интерфейса;
- сохранение и экспорт;
- настойку искусственного интеллекта;
- настройку анимации в Unity;
- работу с тенями;
- компиляция для кроссплатформенности;
- способы монетизации в играх.
04.
2 место – Kerbal Space Program
Ещё одним интересным проектом на Unity является космический симулятор Kerbal Space Program – увлекательнейшая песочница, в которой вам предлагается воздвигнуть собственный космодром, построить ракету и запустить её в космос!
Kerbal Space Program
Подобные забавы могут предложить многие игры, однако Kerbal Space Program уникальна тем, что требует от игрока смекалки и хотя бы поверхностных знаний законов физики.
Вполне вероятно, что ваш первый запуск в этой игре окончится неудачей, и не менее вероятно, что такая же судьба постигнет и второй, и даже десяток последующих.
KSP отличается высокой сложностью, так что вам придется учитывать множество факторов – скорость полета, требуемая для выхода на орбиту, запас топлива, силу тяжести и многое другое, — чтобы осуществить собственную космическую программу.
Kerbal Space Program и зеленые человечки
Разобравшись со строительством ракеты, вы попытаетесь выбраться на орбиту Земли, а затем и вовсе покинуть её, чтобы добраться до других планет. В Kerbal Space Program присутствуют живые существа – кербалы, которыми и предстоит стать вашими космонавтами.
Освоив полеты в космос, вы сможете выбрать себе более глобальную цель – доставить до другой планеты экипаж, высадить его, а затем доставить обратно.
В общем и целом, Kerbal Space Program – это игра огромной сложности, одолев которую вы получите уйму удовольствия и станете чуточку более эрудированным.
«Математика в геймдизайне: теория и практика»
Продолжительность: 3 учебных модуля, 12 лекций Стоимость: 299 евро Преподаватели: Василий Сабиров, Никита Филатов, Георгий Стешенко, Евгений Овчинников, Евгений Судак, Роман Ильин, Юлия Комарова, Владимир Агарев На кого рассчитана программа: на геймдизайнеров и других специалистов в Game Development
Официальный сайт курса
Если вы уже некоторое время работаете в игровой индустрии, но чувствуете, что уперлись в потолок, то онлайн-курсы для новичков будут бесполезны для вас. Именно поэтому образовательный ресурс devtodev создал учебную программу, рассчитанную на повышение квалификации профессионалов.
После окончания онлайн-обучения «Математика в геймдизайне» вы узнаете:
- о математике в геймдизайне;
- принципы Data-driven в геймдизайне;
- математическую статистику в игровой индустрии;
- формулу Бернулли;
- математику турниров;
- теорию игр;
- основы балансировки игрового процесса;
- статистическое моделирование;
- последовательность Фибоначчи и метод Монте-Карло;
- ресурсную модель;
- способы настройки игровой экономики;
- как не допустить типичные ошибки в расчетах;
- об использовании комбинаторики в решении геймдизайнерских задач;
- как использовать кластеризацию для определения поведенческих факторов игроков;
- как формировать кривые усилий, времени и дохода.
05.
1 место – Endless Legend
Серия Civilization стояла у истоков жанра пошаговых 4Х-стратегий. Начиная с 1990-х, она прошла огромный путь и до сих пор продолжает считаться лучшей из лучших. Естественно, что из года в год всплывающие финансовые успехи серии не раз побуждали и продолжают побуждать сторонних разработчиков выпускать нечто подобное.
Некоторые работают под копирку, меньшинство – делает уникальные игры, которые во многом даже превосходят Civilization. Endless Legend, разработанная студией Amplitude на движке Unity, как раз из таких.
Endless Legend
Endless Legend вышла в 2014. По прошествии трех лет она получила четыре крупных дополнения и не растеряла той, пускай и небольшой, но все же базы фанатов, которым сильно полюбилась эта волшебная стратегия.
И хотя цели 4Х-стратегии не отличаются от многих других (вы должны полностью уничтожить противника, либо достичь научной/территориальной/дипломатической победы), её сеттинг и некоторые особенности значительно выделяются среди конкурентов.
Endless Legend битва
Если вам надоела Civilization и подобные ей клоны, то обратите внимание на Endless Legend – игру с собственной чарующей вселенной и уникальными механиками, которые, вполне вероятно, могут полюбиться вам гораздо больше, чем «фишки» той же Civilization.
Видео: трейлер Endless Legend
Лайк, если понравилось
- +10
gamin
Введение
Добрый день. С недавних пор, передо мной (я программист) и моим знакомым дизайнером встала задача – необходимо заработать деньги на получение образования. Недолго думая, мы решили, что в связке «программист – дизайнер» можно было бы заработать на создании игры, так что эта история о том, как мы, имея нулевой опыт в данной сфере, пытались в неё влиться. Поскольку в Steam теперь можно загружать игры всего за 100$, то продавать свой продукт мы решили именно на этой площадке.
Начало разработки
Т.к. время на разработку у нас было ограничено (3-4 мес.), а сами мы тратили много времени на учебу, то необходимо было разработать какую-нибудь простенькую игру, которая могла бы хорошо продаться. Решили мы сделать игру, наподобие Hyper Light Drifter. Эта игра нам показалась простая в реализации, так что если сделать что-то подобное без красивых кат-сцен, то мы бы уложились вовремя и могли заработать нужную сумму. Хотели мы сделать игру с частично открытым миром, прокачкой, покупкой снаряжения и т.д. (в общем, обычная RPG). Главной особенностью игры было то, что единственные ваши враги – это боссы, а чтобы дойти до них – вам потребовалось бы бегать по миру, решать загадки, преодолевать ловушки и т.д. Для реализации программной части я выбрал Unity, т.к. знал все необходимые языки (c# и js). Проблема заключалась только в том, что мне он был незнаком (да и раньше в подобных движках не ковырялся), а сроки были невелики, так что пришлось изучать его прямо во время разработки игры. На данном этапе композитора у нас еще не было. У меня на примете было несколько знакомых музыкантов, и мы хотели обратиться к ним на более поздних этапах разработки. В случае их отказа можно было бы просто купить уже готовую музыку.
Первые трудности
Спустя месяц разработки, мы поняли, что абсолютно не укладываемся в сроки (3-4 месяца) и нужно что-то с этим делать. После размышлений мы решили, что можно преобразовать эту игру в формат арены, где на вас шли бесконечные потоки врагов. Спустя какое-то время мы были вдохновлены статьей про разработчика Адама Никерсона, где рассказывалось, как он без особых знаний программирования написал игру, которая неплохо продавалась и дала ему возможность делать новые игры, так что мы решили перенять его методы по продвижению игры и уже второй раз сменили концепцию, но в этот раз уже кардинально. Игра Адама Никерсона – это космическая аркада, где вам приходится отбиваться от бесконечных врагов с нарастающей сложностью. В этот раз мы просто взяли за основу игру Адама и добавили в неё некоторые отличия: ·
- динамичный геймплей;
- милая стилистика.
Так как механики главного героя, врагов, пули и т.п. в старой и новой игре были очень схожими, то код переписывать почти не пришлось. Таким образом было принято решение сделать аркадный космический шутер, т.к. потери при этом были минимальны и возможность уложиться в сроки стала реальной.
Процесс разработки новой игры
Процесс разработки – это рутинное программирование и рисование. Программировать игру на Unity с нулевыми знаниями движка было очень тяжело, но форумы и документация могли дать ответы на все возможные вопросы, а опыт программирования (7 лет) позволил быстро вникнуть в суть этого движка. Из-за постоянного потока новых знаний и функций Unity в процессе разработки, приходилось иногда переписывать некоторые функции для реализации более сложных механик или оптимизации игры.
Поддержка геймпадов
Изначально у меня был геймпад от XBOX360, а потому я наивно разрабатывал игру именно под него. Ближе к концу разработки, когда управление геймпадом было уже реализовано, мне предоставили геймпад Logitech 4, и, о ужас, индексация кнопок на нем была совсем другая! Поискав информацию в интернете, я нашел несколько способов добавления поддержки разных геймпадов:
- Написать код для поддержки геймпада
- Купить ассет (таких бесплатных мы не нашли в Assets Store), который выполнит пункт 1 за меня.
Т.к. денег на ассеты у нас не было, то я начал пытаться реализовать поддержку разных геймпадов через первый пункт, однако довольно быстро понял, что это неоправданно трудоемкий процесс и стоит оставить поддержку только геймпада XBOX360, надеясь, что другие XBOX-геймпады имеют те же индексы. Спустя какое-то время, позор и стыд за такой костыль начали терзать мою душу, а потому я с новыми силами начал искать информацию по данной теме, и, о чудо, я нашел богом забытый бесплатный ассет InControl на GitHub, который давным-давно не поддерживается (В Assets Store его поддержка продолжается, но он платный). Благодаря ему, можно за пару кликов настроить поддержку почти всех геймпадов!
Музыка
К счастью, один из знакомых композиторов согласился писать музыку для игры, но всё было не так хорошо, как хотелось. Некоторые его композиции не соответствовали концепции игры, так что было множество правок, которые занимали очень много времени. К сожалению, композитор был занят другими своими проектами, так что нам пришлось подключить к игре еще одного. Времени на музыку уходило немерено, а посему пришлось воспользоваться бесплатными музыкальными паками для звуков выстрела, смерти, клика, взрыва и т.д. Таким образом, композиторы разрабатывали только музыку, а звуки были взяты из бесплатных паков.
Системные требования
Для определения системных требований я пытался найти программу, которая бы анализировала потребляемые ресурсы игрой и выставляла рекомендуемую конфигурацию компьютера, но… такой просто нет (или просто не нашел). Пришлось анализировать потребляемые ресурсы самостоятельно и выставлять нужные требования.
Делаем игру дорогой дёшево
Пока я баловался с Assets Store в Unity, случайно наткнулся на ассет (https://assetstore.unity.com/packages/essentials/post-processing-stack-83912), связанный с пост-обработкой графики, одной из функций которого был блум всех отображаемых элементов в камере. Применив и грамотно настроив блум к элементам главного героя, (пули и сам гг) игра стала выглядеть намного «дороже» всего за несколько кликов мыши.
Продвижение игры
Понятное дело, что денег на рекламу у нас нет, да и для простенькой игры она была бы бесполезна, так что пришлось искать другие методы по продвижению. Вот что мы решили использовать:
- В Steam есть возможность ставить себе в профиль на публичное обозрение значки и достижения из игр, так что этим элементам мы уделили особое внимание (вдруг кто решит приобрести игру ради них).
- Нами было подмечено, что в сообществе Steam особо популярны сердечки, так что мы решили ставить их везде, куда только можно (карточки, фоны, смайлики, значки и.д.) ·
- Т.к. игру никто не знает, то мы постарались оформить её страницу визуально дорого (Пример дешевого оформления, пример дорогого оформления), а также необходимо было чтобы различные графические элементы (представление в списке, главная картинка и т.д.) выделялись на фоне других игр.
- Добавили поддержку геймпада, игру на двоих за одним компьютером, таблицы рекордов, достижения и всё что могли, лишь бы охватить больший круг геймеров. · Немного рассказали о своей игре на разных ресурсах, посвященных геймдеву.
Заключение
В итоге над этой игрой мы работали почти 4 месяца. Игра была выпущена совсем недавно и носит название NYAN DESTROYER. Перейти на страницу с ней можно по ссылке https://store.steampowered.com/app/773130/NYAN_DESTROYER/.
При разработке игры мы на практике изучили различные аспекты геймдева, и тот ценный опыт мы собираемся применить уже для создания более сложных игр.
Будем рады услышать ваши рекомендации и ответить на вопросы.