Среда, 28 Июля 2021, 05:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: Ordan  
Форум игроделов » Ваши проекты » Проекты в разработке » Hyperformа (Хардкорная киберпанк аркада под iOS и Android)
Hyperformа
TheCookieSpiceДата: Понедельник, 06 Июня 2016, 14:12 | Сообщение # 1
уже был
Сейчас нет на сайте


Hyperforma

Разработчик: Nord Unit
Движок\конструктор: Unity3D
Платформы: iOS, Android

Описание:
«Hyperforma» – это хардкорная киберпанк аркада, совмещающий двухмерную и трёхмерную реальность. Вам предстоит играть за дайвера, взламывающего систему, чтобы найти свою сестру-дайвера, с которой они не виделись в реальности уже несоклько лет. После того, как он в течение нескольких недель не мог выйти с ней на связь, он решает начать поиски по логам ее последних действий. Последние следы ведут к Оракулу — популярному интерактивному поисковику, который часто дает ответы на вопросы в видекаанов, хайку или поговорок.


Всем привет!
Мы, Nord Unit – команда разработчиков игр из Курска. Начиная как веб-дизайн студия, мы постепенно уходим в игры, прихватив с собой багаж знаний и упорство. И первой игрой станет Hyperform, которая скоро увидит свет на Android и iOS.




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

Опробовав отвлечённую демку на Unreal Engine 4 столкнулись с проблемами запуска на устройствах. Вес приложений был непомерно высок, хотя оно было почти пустое. Поэтому, в качестве инструмента разработки, выбрали Unity3D.

Первые наработки показали, как объекты будут взаимодействовать друг с другом, как это будет играться и, вообще, дало визуальное представление безумной, на первый взгляд, идеи. Как оказалось, всё проще, чем было в голове. Шар бился о края экрана и разбивал кубики, вращение объекта пальцем позволяло контролировать процесс уничтожения, чёрные кубики захватывали вокруг себя область, если попадали по ним. Нужно было разбить объект и недопустить захват чёрными кубиками. Попёрли идеи улучшения игрового процесса и игра получила название – Cubenoid.

Изначально задумывалась летающая платформа, которая связана вращением с центральным объектом. Платформа отражает шар, собирает различные модификации, типа Заморозки или Огня, этот модификатор проецируется на платформу и шар получает улучшение, которое помогет быстрее разобраться с главным объектом. Но это было слишком сложно. Пресмотрев начальную идею захвата «болезнью» объекта игра начала идти в абсолютно другом направлении.




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

Добавлено (03 июня 2016, 11:33)
---------------------------------------------


Cubenoid претерпел изменения. Шли долгие споры на тему использования арканоида, как основного жанра для игры. В итоге все разговоры привели нас к тому, что мы начали обдумывать совершенной другой путь. Геймплей унёсся куда-то в сайдскроллер, а пользователь приобрёл облик. Теперь вы – маг.

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



Концепция выходила ,вроде, неплохая, но это была совсем другая игра, сложнее и требовала больше времени для обдумывания и реализации. Поэтому вернули оригинальный проект и начали рассматривать пути его исправления. Добавили чёткие границы экрана, от чего может шар отскакивать, а куда вылетит. Модификаторы были встроены в главный объект. И, самое главное, поставили конкретную цель перед пользователем – Ядро. Ядро является сердцем объекта. Разбив ядро мы идём дальше. Сама сложность состоит в достижении ядра.

Проект начал набирать обороты, разработка продолжилась и стали появляться новые прототипы.



Добавлено (03 июня 2016, 11:45)
---------------------------------------------


Светлый стиль перетёк в мрачные тона. Объекты стали наращиваться на ядро и поэтому разработка конструкций повернулась в другую сторону. Идея начала приобретать нужный облик, который был ещё далёк от совершенства.

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

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

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



Добавлено (06 июня 2016, 12:54)
---------------------------------------------


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

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

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

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

Во-вторых, пробовали устанавливать определённые зоны для поворота объекта. Вся зона, находящаяся на расстоянии полмиллиметра от объекта и до краёв экрана была для поворота по кругу. Внутри неё объект крутился как и прежде. Была идея ставить объект в изометрию и свайпами крутить фиксировано на 90 градусов. Придумали даже сделать зону вокруг нажатия пальца по-аналогии со стиком геймпада. Суть была в том, что при нажатии на экран, вокруг пальца образовывалась активная зона, в которой он мог перемещать объект с меньшими усилиями. Не нужно было проводить через весь экран, чтобы объект перевернулся на 180 градусов, достаточно было довести до края активной области пальца. За активной областью мы могли поворачивать объект по кругу, как в первом решении. Все эти решения были реализованы, но утвердили совсем другой вариант. Усовершенствовали поворот объекта одним пальцем и добавили возможность поворота по кругу двумя пальцами. Как видим, всё оказалось проще, чем думали.

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



Добавлено (06 июня 2016, 14:12)
---------------------------------------------


Идея сеттинга пришла во время прочитывания книги Дэна Симмонса «Гиперион» (Dan Simmons “Hyperion” http://www.ozon.ru/context/detail/id/4278184/). В пятой главе описывался путь взлома системы. И тут пришла мысль: «А что, если наш арканоид – это визуализация процесса взлома?». Идея нам очень понравилась и мы решили делать сюжет, основываясь на киберпанк стилистике научно-фантастического романа.

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

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

Основная суть геймплея - разрушение элементов, символизирующих протоколы защиты. Каждая глава с несколькими уровнями отводится под взлом отдельного ядра со своим цветом. Пройдя всю главу (взломав ядро, получив из него полезные данные и модифицировав свой вирус) - мы изучаем новое умение и получаем разовый перк, который можем моментально активировать на любом последующем уроне из меню паузы. Далее с изученным умением при повторном прохождении уровней данной главы с определенной вероятностью выпадает соответствующий перк, при этом вероятность соответствует сложности уровня. Для каждого умения хранится только 1 перк, и при неудачном его использовании придётся возвращаться и зарабатывать его снова. Смысл в том, что для прохождения отдельных уровней необходимы конкретные перки или их комбинации.



Разрабатываем киберпанк арканоид под iOS и Android на Unity3D

Вы можете найти нас в соцсетях:


Сообщение отредактировал TheCookieSpice - Пятница, 01 Июля 2016, 16:01
TLTДата: Понедельник, 06 Июня 2016, 19:56 | Сообщение # 2
Сейчас нет на сайте
Хорошая идея, основательно обдумана, судя по описанию. Ну и графика вполне себе коммерческого уровня – лично мне такая нравится.

Дао, выраженное словами, не есть истинное Дао.
TheCookieSpiceДата: Четверг, 30 Июня 2016, 15:06 | Сообщение # 3
уже был
Сейчас нет на сайте
Цитата TLT ()
Хорошая идея, основательно обдумана, судя по описанию. Ну и графика вполне себе коммерческого уровня – лично мне такая нравится.


Огромное спасибо! Всегда приятно осознавать, что труды не напрасны. Особенно, когда вникают в суть происходящего)
Графика, в процессе, дополняется и усовершенствуется. Думаю, конечный результат будет ещё лучше!

Добавлено (07 июня 2016, 12:03)
---------------------------------------------


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

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

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



Добавлено (07 июня 2016, 16:42)
---------------------------------------------


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

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

- Электрический импульс. Поражает электричеством сразу несколько объектов. Действует мгновенно при первом столкновении с модулем.
- Ускорение. Блокирует информационные дыры и в режиме «берсерка» колотит объект.
- Огненный импульс. Пробивает обычные защитные модули насквозь. Неприменим к ЗМНС (Защитный Модуль с Нестандартными Свойствами).
- Цифровой дымный импульс. Прячет несколько объектов в дым на какое-то время (делает полупрозрачными). Мы можем пролетать сквозь эти объекты. Начинает действовать при первом столкновении с объектом. Действует по времени.
- Информационный импульс. Уменьшает на время по размеру несколько модулей.
- Замедление. Замедляет скорость движения шара. Действует по времени.
- Гипербонус – разрушает любые объекты.

Различные модули, которые были введены:

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

2. Защитный модуль с нестандартными свойствами, который может быть разрушен только с помощью гипербонуса.

3. В кубическом мире:
а) Белый неразбиваемый куб.
б) Куб, который увеличивается в размерах при каждом попадании.
в) Куб, который отталкивает как пружина в ближайшую информационную дыру.
г) Куб, который возвращает к жизни уничтоженные обычные модули защиты.

4. В сферическом мире:
а) Сфера как цифровая чёрная дыра. При попадании вызывает смерть.
б) Портал. Выплёвывает из другого портала.
в) Гравитационная сфера, ускоряет и изменяет траекторию.
г) Сфера, которая засасывает в себя, пока не нажмёшь QTE (провести простую фигуру пальцем по экрану или в нужный момент прикоснуться двумя пальцами), чтобы выбраться.

5. Треугольный мир:
а) Треугольник, который будет при прикосновении вызывать лазерное поле вокруг себя, уничтожающий шар.
б) Треугольник, стреляющий лазером.
в) Треугольник с появляющейся дырой внутри. Создаёт мнимые полупрозрачные копии шара и выстреливает ими, запутывая.

Всё это привнесло в игровой процесс разнообразие и последующие сборки проходились всё сложней.



Добавлено (09 июня 2016, 14:34)
---------------------------------------------
Короткое видео игрового процесса.



Добавлено (16 июня 2016, 16:18)
---------------------------------------------


Когда мы дошли до реализации игровой карты, пришла в голову идея сделать ее большой и нелинейной. Суть в следующем: есть ядро системы, Киберцентр (Привет Дэн Симмонс!), вокруг которого располагается сеть связанных между собой уровней. Игрок может перейти только в уровни, связанные с уже пройденными, таким образом прокладывая свой путь по системе.

Карта состоит из 3 частей по типу уровней:
1. Квадратные
2. Круглые
3. Треугольные

Зачем игроку проходить все уровни или дальние ветки? — нужна мотивация. Можно сделать так, чтобы там открывались какие-то дополнительные бонусы. То есть, прохождение является необязательным, но дает дополнительные возможности при игре дальше.

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

Выдержки из Диздока:
«Для открытия уровней необходимо использовать ключи. При этом: первые уровни требуют ключи того же типа, следующие — 1 ключ другого типа, следующие 2 ключа, последние — 3 ключа.
Цель — достигнуть ядра, для этого игроку нужно дойти до последних уровней каждой из трех веток.»

При окончании уровня игрок получает информацию о том, какой ключ он получил (анимация) — экран темнеет, центральный элемент крутится, и превращается в ключ. Подпись “Вы получили ключ-треугольник”. Вверху экрана общее кол-во ключей. Внизу кнопка — перейти на карту.

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



Потом мы решили упростить эту систему и уменьшить количество ключей до девяти. Была придумана «кибер-коробка», которая появлялась после уничтожения всех защитных объектов на последнем уровне и открывался доступ к секретному уровню — реальному ядру системы, которое мы изобразили в виде трехмерного лица, состоящего из шипов и множества красных глаз (как Шрайк из Гипериона). Здесь должна была случиться финальная битва. Игрок собирал по мере прохождения в определенных точках карты определенный тип ключа (одинарный или двойной). Но при этом он мог всегда зайти в уровень с коробкой и вставить в нее ключи. Трансформаций у этой идеи было очень много. Но смысл один — давать доступ к ядру системы только после получения всех типов ключей. Это показалось нам интересным решением. Но мы не задумывались о том, что казуальный мобильный геймплей не любит усложнений подобного рода.

Все стало слишком сложно и мы начали запутываться, представив, как мы погружаемся в лабиринты программного кода, чтобы реализовать эту задумку. Идея обрастала новыми идеями и мы решили остановиться, пока не поздно. Решение пришло спустя двух недель споров. Делаем линейную карту без ключей и киберкоробок. Идея со Шрайком тоже была забракована — после сборки такого уровня мы поняли, что выглядит все это, мягко говоря, не очень. Надо все переделывать и начинать описывать мир и вселенную. Тут и пришла идея облачить формы Киберцентра в защитников и через них производить сюжетное повествование.



Добавлено (20 июня 2016, 16:02)
---------------------------------------------


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

Для того, чтобы нам было проще обращаться с игровыми объектами, мы решили использовать векторную графику (SVG формат). К счастью для нас на Unity есть плагин для импорта SVG файлов и мы успешно им пользуемся. В итоге мы полностью перешли на использование SVG формата, кроме трёхмерных объектов и некоторых частей геймплея.

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

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

Обогатив игру всем возможным мы столкнулись с существенной просадкой FPS. Сильно упала динамика и нас это очень обеспокоило.



Добавлено (21 июня 2016, 15:38)
---------------------------------------------


Drawcall — запрос на отрисовку объекта. У нас на уровнях с большим количеством объектов, количество Drawcalls превышало 150, что существенно снижало FPS. Это было удивительно, потому как использующихся материалов и текстур было мало и все кубы повторяли друг друга, а получалось так, что кубы были индивидуальными и тратили ресурсы девайсов ни на что.

Существует такое понятие как Батчинг (Batching) — оптимизация Drawcalls, путём объединения одинаковых материалов в один. Таким образом 30 объектов с одинаковыми материалами будут вызывать не 30 Drawcalls, а 1, существенно снижая затраты CPU. Но у нас это, почему-то, не работало. И проблема была в материалах. Это нас привело к использованию Атласа Текстур.

Текстурный атлас - это большая текстура, которая состоит из меньших текстур, используемых для различных объектов. Эти «подтекстуры» можно накладывать путём указания координат на атласе, то есть выбирая только определённую часть изображения. Т.е. мы используем один материал и накладываем его на все объекты, меняя координаты отображения для каждого. Это существенно снижает затраты CPU, а также, большой файл атласа занимает гораздо меньше места на диске, чем много маленьких материалов, снижая объём самой игры.

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

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



Добавлено (22 июня 2016, 16:26)
---------------------------------------------


Мы начали работать с хорошим другом и отличным музыкантом и композитором CUTglitch, который готовит для нас множество интересных звуков, а также сотрудничает с нами в написании музыкального материала. Он, как и мы, тоже увлечён стилистикой цифрового будущего и он пытается разобраться и предугадать, как будет «звучать будущее», какая музыка будет играть и чем будет наполнен мир.

Когда мы начали работать нас сильно вдохновила его песня HIGHWAY. Она нам показалась настолько пропитанной духом будущего, что мы решили использовать её, в качестве финального трека в игре.

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

Добавлено (30 июня 2016, 15:06)
---------------------------------------------
Мы работаем над изображениями Неизвестных. Перерисовываем их в Adobe Illustrator, разрезаем на части и сохраняем по отдельности в SVG, чтобы дальше работать над анимацией непосредственно в Unity. Порой SVG Importer вёл себя неадекватно и прошло много времени прежде чем мы смогли наладить правильную расстановку и отображение объектов в сцене.

Сейчас у нас есть несколько подготовленных анимированных сцен, которые перенесём в основной проект. Вскоре подготовим Главное меню и анимацию следующего персонажа.





Разрабатываем киберпанк арканоид под iOS и Android на Unity3D

Вы можете найти нас в соцсетях:


Сообщение отредактировал TheCookieSpice - Среда, 22 Июня 2016, 16:58
Форум игроделов » Ваши проекты » Проекты в разработке » Hyperformа (Хардкорная киберпанк аркада под iOS и Android)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг