Как создать уровень в just shapes and beats

Обновлено: 04.07.2024

Здравствуйте, мне 16 лет и я люблю играть в Just Shapes & Beats (JSAB). Одним прекрасным днём я узнал о такой игре, как JSAB. Я был очень поглощён геймплейной частью, разработчики создали больше 30 уровней из простых геометрических фигур - это же гениально! Но просто так играть мне не хотелось, мне хотелось создавать что-то своё. И так как у JSAB есть редактор уровней, но он находится в pre-alpha тестировании уже больше 2 лет, а уровни делать хочется, мною было принято решение создать свою JSAB. Теперь приступим к самому началу.

Небольшой итог

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

Я уже вовсю использовал возможности таймлайна, я подвязал нужные мне клавиши клавиатуры на нужные мне атаки и таким образом делал уровни. Также хочу сказать спасибо тем, кто это прочитал, надеюсь это было хоть немного интересно! Скоро будет вторая часть, в которой я уже расскажу о том, к чему я пришёл за почти 3 месяца разработки и немного о текущей стадии разработки. Также вы можете посетить мой канал, чтобы следить за процессом разработки, а также у меня есть дискорд cервер.

Как создать уровень в just shapes and beats

Эта публикация удалена, так как она нарушает рекомендации по поведению и контенту в Steam. Её можете видеть только вы. Если вы уверены, что публикацию удалили по ошибке, свяжитесь со службой поддержки Steam.

Этот предмет несовместим с . Пожалуйста, прочитайте справочную статью, почему этот предмет может не работать в .

Этот предмет виден только вам, администраторам и тем, кто будет отмечен как создатель.

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

Just Shapes and beats | level editor | pre-alpha OFFICIAL | 87 attacks

0


this is the official pre-alpha Just Shapes and Beats level editor test program. at this time it is only available to a very small select group. this video is to show you 87 of the attacks.

Самые начала начал

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


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

Техническая часть

Приступим к технической части игры, и начнём с создания объектов.

Создание объектов

Все объекты создавались через Instantiate, что, как позже выяснилось, очень сильно бьёт по оптимизации. Просто представьте такую ситуацию

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

Также все объекты создавались просто в игровом мире, что конечно никуда не годилось. Позже я создал канвас, но об этом уже в другой части. Для создания объектов использовался JSON формат, в который я вручную записывал типы атак, время их появления и параметры. Файлик выглядел примерно так

При запуске игры этот JSON файл парсился в массив и через Update брал время каждой атаки и сравнивал его с текущим временем музыкального трека.

Анимации

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

И здесь всего лишь прописана трансформация объекта по оси X и изменение его цвета.

Коллайдеры

Это вообще отдельная вещь, коллайдеры просто постоянно отказывались работать так, как надо. Это как раз можно увидеть здесь.

Лирическое отступление

Как создать уровень в just shapes and beats

Моё знакомство с этой игрой произошло достаточно поздно и абсолютно спонтанно. Думал, куплю игру, поиграю пару-тройку часов и забуду. Но не тут-то было.

Начинается всё с обучающего уровня с замечательным треком под названием "Corrupted" от исполнителей Danimal Cannon & Zef. Этот уровень знакомит нас с игрой, показывая геймплей и механику передвижения кубика. Забавно, но в самом начале расположение шестерёнок напрямую зависит от тональности звука в треке (чем выше тон - тем выше спавнится новая шестерёнка, и наоборот) - мелочь, а приятно.
Пройдя данный уровень, нас пускают уже в основную игру с ещё дополнительными обучающимися уровнями. Их всего три. Ну а после прохождения этих уровней нам показывают прекрасную заставку с не менее прекрасным саундтреком. В данной катсцене игроку демонстрируют завязку сюжета. Он довольно прост и банален, но реализован очень круто!
Также, помимо сюжетных уровней можно выделить передвижение по локациям между уровнями. Они сделаны очень необычно, чего только стоит рассекать волны на маленьком кораблике и мини-игра по пути к боссу Lycanthropy!
Стоит также отметить, что сюжетный режим можно пройти вчетвером на одном компьютере! Для этого нужно подключить четыре геймпада одновременно и играть вместе с друзьями. Я хоть сам и не играл, но уверен - это захватывающе.
В общем и целом, сюжетный режим очень хорош. Не могу сказать, что он короткий. Некоторые уровни проходятся быстро, а на некоторых придётся знатно попотеть.

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

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

Ещё на этапе разработки разработчик под псевдонимом Lachhh показывал редактор во всей его красе. Это было в 2015 году. Он тогда находился в очень ранней версии и имел много багов. Сейчас же, в 2018 году, к редактору уровней имеют доступ несколько случайно выбранных игроков и он, в принципе, уже готов. Очень странно, что его до сих пор не добавили. Но его обязательно добавят в будущем, даже не сомневайтесь! Просто некоторые ещё думают, что редактора уровней и вовсе не существует - это не так.

Многие, в том числе и я, думали, что игра заброшена. Но свершилось чудо! Спустя полгода после выхода игры, разработчики решили выпустить обновление в день рождения главного разработчика игры под псевдонимом Lachhh. Были изменены некоторые уровни и добавлены новые. Их всего пять штук. Можно было бы и побольше добавить, не так ли? В любом случае, эти новые уровни вышли очень потрясающими, особенно Fox от исполнителя Shirobon.

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

1. Определённо, хочется уже увидеть редактор уровней.
2. Добавить внутриигровой чат или же какие-нибудь эмоции (например, как в сюжетном режиме кубик несколько раз выражает недовольство).
3. Реализовать таблицу рекордов и таблицу количества очков Beat Points у игроков. Очень интересно узнать, кто лидирует в этой игре.
4. Возможно, ввести какой-то новый режим игры.

Подводя итог, можно сказать, что игра абсолютно рекомендуется к покупке.
Тот самый случай, когда хочется как-то ещё помочь разработчикам, поэтому недавно купил DLC с треками из лейбла MonsterCat.
Игра абсолютно не сложная. Для людей, кто не может пройти какой-либо уровень, есть так называемый "Casual Mode", при включении которого ты получаешь в два раза больше жизней.
Самое главное, чтобы разработчики не забросили игру, и я уверен: они этого не сделают!

Оценка данного продукта: 10/10

Пользователей, посчитавших обзор полезным: 61
1 пользователь посчитал этот обзор забавным "It's not over till it's over"
Tristam - Till It's Over

Предисловие:
Just Shapes And Beats - это ярчайший пример того, как можно и нужно делать качественные ритм-игры. И ведь, казалось бы, ничего трудного в этом нет: взял крутую музыку, сделал интересный и затягивающий геймплей. и все! Но разработчики JSAB пошли еще дальше. а давайте я вам лучше расскажу обо всем по порядку, хорошо? Хорошо, приступим. Как и всегда, все аспекты игры будут поделены на плюсики и минусики.

Плюсики:
1) Геймплей. Геймплейно игра представляет из себя, вы не поверите, ритм-игру, в которой ваша задача - уворачиваться от многочисленных препятствий, появляющихся в такт играющей музыке. Если вы думаете, что это просто, то вы очень сильно ошибаетесь. Препятствий будет о-о-очень много (скорее всего, это из-за выбранного жанра музыки, о которой мы поговорим чуть позже), реагировать на их появление нужно будет быстро. Если же вы ошиблись и наткнулись на злополучную колючку, то у вас еще останется в запасе две жизни. Ну а если вы и эти две жизни профукаете, у вас будет возможность начать с контрольной точки, а количество оставшихся на уровень попыток сократится с трех до двух. В случае, если и попытки иссякнут, то вам придется начать уровень сначала. Казалось бы, это должно очень сильно упрощать прохождение, но нет, у вас не получится пройти какой-либо уровень с первого раза, потому что, повторюсь, препятствий будет очень много, а на уровнях же с боссами контрольных точек вообще не будет, так что. запаситесь терпением, друзья мои :)
2) Саундтрек. Было бы очень странно, если бы музыка в ритм-игре была плоха, не правда ли? Так вот, музыкальное сопровождение в JSAB просто восхитительное, при прослушивании треков на уровнях невольно начинаешь качать головой. Композиции таких популярных дабстеп-исполнителей, как Nitro Fun, Bossfight, Pegboard Nerds, Noisestorm и других будут звучать у вас в наушниках и, вполне вероятно, смогут покорить вас, заняв место в вашем плейлисте.
3) Графическое оформление. Название игры говорит за себя - "просто фигуры и биты". Да, абсолютно все объекты в игре представляют собой геометрические фигуры, окрашенные преимущественно в розовые тона. Выглядит все это, должен я вам сказать, очень стильно.
4) Сюжет. Внезапно, в ритм-игре есть сюжет. Для меня это стало эдаким открытием, ведь я просто не мог представить, как в такого рода проект можно впихнуть сюжет. Но разработчикам игры это удалось на славу. Да, он безумно клишированный и предсказуемый: в мир, в котором царила гармония, вторглось зло, которое победить сможет только наш главный герой. Да, сюжетная кампания достаточно короткая и проходится буквально за три часа. Но тем не менее, это полноценная история со своими интересными и харизматичными персонажами, неожиданными поворотами сюжета (я сказал, что сюжет предсказуемый?), и, что самое главное, это сюжет в РИТМ-ИГРЕ, БЛИН!
5) Мультиплеер. После прохождения сюжетной кампании можно заглянуть в мультиплеер, в котором вы с другими тремя игроками сможете заново пройти уровни из сюжетной кампании, а также новые уровни. Разительно геймплей в этом режиме не отличается от того, что мы видели в одиночном режиме игры, но есть один ньюанс: после того, как все ваши жизни иссякнут, другой игрок сможет вас возродить.
6) Управление. В частности хочется поговорить об управлении на клавиатуре. Оно здесь крайне удобное, каких-то нареканий к нему у меня нет. Конечно, на геймпаде играть будет намного удобнее, но если вы им не располагаете, то и с клавиатурой можно получать удовольствие от процесса.

Минусики:
Ну, их здесь попросту нет (:

Итог:
По итогу могу сказать, что JSAB определенно заслуживает внимания как любителей ритм-игр, так и новичков в этом жанре. Поэтому хватайте своих друзей и ай да проходить многочисленные уровни под крутецкую музыку!
Рекомендую! 10/10

Разработка своей Just Shapes & Beats. Канвас и немного об оптимизации

Использование канваса

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

Оптимизация

Приступим к теме оптимизации. Так как я изначально создавал все объекты через Instantiate, а количество вызовов этого метода порой доходило до 100 раз за один кадр, мне понадобилось оптимизировать их создание. После очередного перелопачивания разных материалов, я вычитал, что для таких целей существует пул объектов. Работает он следующим образом:

В методе Start создаётся нужное количество объектов и делается неактивным, чтобы не загружать память

Каждый объект записывается в List<GameObject>

Когда мы вызываем метод GetObject мы берём последний элемент, удаляем его из списка, делаем его активным и возвращаем. Если объекты закончились, то мы создаём их через Instantiate и так же возвращаем.

Когда мы вызываем метод ReturnObject мы должны передать в него какой-то GameObject, этот GameObject сделается неактивным и запишется в List.

Скрипт пула выглядит вот так:

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

Редактор уровней

Поговорим немного о редакторе. Он был основал на Unity Timeline, там есть такая замечательная штука как Marker - это что-то вроде команды, которая отправляется в заданное время. Также есть возможность создавать кастомные маркеры и выполнять с помощью них всё, что угодно.

Вкратце код маркера выглядит вот так:

Также в этот маркер мы можем занести какие-то данные и изменять их напрямую через Unity. В качестве информационного источника я использовал эту статью:

How to create custom Timeline Markers커스텀 타임라인 마커 만들기カスタム Timeline Marker の作成方法 - Unity Technologies Blog

В ней подробно описано, как можно создать кастомные Notification'ы, маркеры, как их стилизовать и т.д.

Создание уровней

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

Первый релиз

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

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

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

Начало "новой эпохи"

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

В итоге вышла такая вот штука:

Читайте также: