8 feb
2022

Color Escape 3D

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

Предыстория

Идея аркады с непереводимым названием и механикой прохождения уровней с использованием цвета возникла у меня еще аж в 2013 году где-то - я тогда только освоил первый Construct и решил принять участие в каком-то джеме, сделав двадэ платформер с простейшими механиками ходьбы-стрельбы по цветным дверям.
Идея настолько мне зашла в плане механики, что я решил удариться в популярный тогда среди двадэшных игроделов пиксельарт, и освоив Construct2 уже на тот момент, я начал делать Color Escape 2 - сиквел придуманного мной шидевра.
На тот момент это был верх моего творческого начала в области геймдева - начиная от рисования и заканчивая сборкой механик и написанием саундтреков. Огромных 6 уровней этой умопомрачительной аркады, вдохновленной различными пиксельартовыми платформерами я таки смог осилить - получился бегающий мистер Шмордон Бримен с цветопушкой. Но Констракт2 и мои знания в нем на тот момент в итоге аннигилировали изза избытка накопившихся багов в ультралагающую 2D беготню.
И я оставил эту затею, предавшись другим непотребствам и утехам.
В итоге скользкая дорожка привела меня в Unity, где мое неумение кодить(и уже стойкое нежелание учиться делать это нормально) было компенсировано Playmaker-ом. Кто не знает, это такое визуальное программирование, аля блюпринты, только стейт-машины. И понабравшись, я решил вспомнить старую идею, и реализовать её - мне давно хотелось чего то простого, бродительного, олдскульного и без претензии на графонии. В общем хотелось самобытной адвенчуры, которую собственно и получилось сделать.

О чем игра?

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

Как это вышло?

На все про всё у меня ушло ровно три недели. Ну три с половиной пускай.
Где-то после январских праздников, я застрял из-за налоговой в России на пару лишних недель, и дабы не повеситься и не спиться, я решил быстро сделать аркаду. Пайплайн разработки виделся сразу - сначала делаю все базовые механики, потом геометрию, потом уже собираю уровни, меню и озвучиваю.
Так и начал. С помощью плеймейкера все задуманные механики были реализованы, кроме одной.
Джампер оказалось реализовать почти невозможно, так как я использовал стандартный контроллер для движения игрока, а управлять его подпрыгиванием из Playmaker нельзя без ракования. Я же не хотел стрелять себе лишний раз в колено и выбрал менеджерский путь - купил скрипт джампера за 700 рублей на известном фриланс-сайте. Переделывать контроллер на кастомный ради джампера мне было честно лень, поэтому если баги и будут - это всё из-за одного единственного скрипта :D
Первым делом появились все двери и цветные замки. Ну и сами цвета. Откровением стала возможность проектировать всё на уровне объектов - в процессе удалось разобраться как можно внутри объекта контролировать его состояние в зависимости от того, с кем он столкнулся, и при этом контролировать объект столкновения. Проще говоря, каким то чудесным понятным образом очень ловко выстроилась с помощью этого плеймейкера вся механика.
Сложнее всего было с ИИ. Вот его делать еще нужно практиковаться. Пришлось поскачивать сторонних событий и действий из экосистемы плеймейкера, но они с лихвой покрыли потребности. В итоге придумалось три весьма простых аркадных противника, которых можно победить стреляя цветовыми сгустками.
Дальше наступила творческая пора - нужна была визуальная картинка уровней. Я знал сразу, что хочу делать абстракцию, но не понимал какую, пока не наткунлся на фильтр пикселизации для игровой камеры. Тут всё сразу встало на свои места. Этот фильтр позволял скрывать небрежность геометрии, придавая ей определенный абстрактный вид.
Собственно это и знаменовало мои мучения с левел-дизайном. Оказывается юнити 2019.1 не очень хорошо приспособлена для создания уровней, или я слишком сильно хотел все быстро. В общем то левел-дизайн занял примерно столько же времени, сколько и создание механик. Плюс ко всему отняла время калибровка механик, встроенных уже в уровень(господи храни префабы).
Тотальной ошибкой было оставить озвучку (имею ввиду SFX) на потом. Её нужно было делать вместе с созданием механик, а я её делал когда демо уровень уже был собран почти. Поэтому пришлось покорячиться, чтобы некоторые вещи обвесить звуками правильно и не запутаться.
Ну и в конце - сведение. Так я называю процесс описания логики открытия уровней и перехода между ними. Это особый математический изыск для меня как для гуманитария, работать с 0-based системой счисления, выводя на фронт значения с единицы. В общем эти пляски, и еще пляски с поломавшимся канвасом, заняли еще пару дней.
День ушел на озвучку демоуровня, который по сути есть туториал в игре, и всё. Задумка реализована, дальше можно просто клепать уровни из готовой геометрии и механик - при прохождении уровня, будет открываться новый в списке. Остается только сделать глобальное сохранение, чтобы при выходе из игры, прохождение сохранялось.

ОПРОБОВАТЬ

Ссылка на ИТЧ
(игра доступна для скачивания бесплатно если что. В ней готов один уровень - туториал)

Вопрос сыгравшим

Архитектура демоуровня состоит из трех "стилей" визуально:
  • монументализм (большие просторные изолированные пространства, открытое небо)
  • камерность (узко, закрыто со всех сторон, коридорность)
  • опенспейс (платформы и пространство)
На ваш взгляд, основные уровни стоит делать придерживаясь какого из этих трех стилей? Само собой, цвета уровней будут не серые и белые всегда).
The comment is deleted
2
Голосов: 2
Diabfall - 6 months ago
Edited by
2
Голосов: 2
На ваш взгляд, основные уровни стоит делать придерживаясь какого из этих трех стилей?
Я думаю стоит чередовать.
Увы не смог осилить демку до конца, т.к. все происходит очень медленно и заторможено. Я бы немного скорость бега бустанул, ибо словил негатив, когда пришлось бежать к старту за красным цветом (да потом я понял, что красный был спрятан ближе под лестницей наверх). Дропнул, когда джамп зону нашел. В первый раз получилось запрыгнуть на крышу, от туда скатился и сдох. Остальные попытки ушли на попытку повторить прыжок на крышу, потому что я был уверен, что так задумано. :) Потом правда оказалось, что прыжок на крышу на самом деле бага шорткат, который скорее всего бы позволил скипнуть движущиеся платформы и передвижение коробок. До ИИ и смешения цветов короче силы воли не хватило дойти.
Очень много пустых пространств и тупой беготни, я бы для демки уровни более компактные сделал.
0
Голосов: 0
Fakov - 6 months ago
0
Голосов: 0
норм план, спс
0
Голосов: 0
Эльрат - 6 months ago
0
Голосов: 0
Fakov, о, привет, Факов, а я до сих пор иногда переигрываю в твою Зомби в деревне. Топ игрушка)
2
Голосов: 2
ofeerist - 6 months ago
Edited by
2
Голосов: 2
Красота
Демку осилил до конца, правда, последних врагов скипнул с помощью жампера; согласен с диабфолом, бегать нужно много, надоедает, поэтому и не захотел перепроходить по новой.
Впринципе, все круто, но только саму демку и механики будто не полировал: огромные расстояния; долгая головоломка; бешенные жамперы; интерактивные объекты не самые удобные: лучше все-таки не делать их максимальной массы, составлять пирамидку сложно, будто карточный домик емае; механика убийства врага, когда нужно кинуть в определенный момент, не очень интуитивная; а еще второй чекпоинт кривой и можно словить маслину сразу при спавне.
0
Голосов: 0
Fakov - 6 months ago
0
Голосов: 0
Fakov, о, привет, Факов, а я до сих пор иногда переигрываю в твою Зомби в деревне. Топ игрушка)
привет! рад слышать)) меня самого немного поразило в какой то момент количество роликов на ютубе (и просмотров к ним) с летсплеями этой карты, всерьез задумываюсь засесть за перенос этого всего действа на юнити)

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

про скорость передвижения уже четверо упомянули, любопытно что только мне она не кажется медленной, но видимо надо и правда ускорить
0
Голосов: 0
Эльрат - 6 months ago
0
Голосов: 0
Fakov,
привет! рад слышать)) меня самого немного поразило в какой то момент количество роликов на ютубе (и просмотров к ним) с летсплеями этой карты, всерьез задумываюсь засесть за перенос этого всего действа на юнити)
Я, собственно, с этим намеком и написал, очень рад слышать, что есть мысли по переносу зомби на игровые движки)
0
Голосов: 0
Fakov - 6 months ago
0
Голосов: 0
Fakov,
привет! рад слышать)) меня самого немного поразило в какой то момент количество роликов на ютубе (и просмотров к ним) с летсплеями этой карты, всерьез задумываюсь засесть за перенос этого всего действа на юнити)
Я, собственно, с этим намеком и написал, очень рад слышать, что есть мысли по переносу зомби на игровые движки)
=D они лет пять эти мысли въются, собственно как узнал что в ютубе внезапно уйма летсплеев возникла)
0
Голосов: 0
ScorpioT1000 - 6 months ago
Edited by
0
Голосов: 0
Есть ощущение, что можно и команду собрать для этого
0
Голосов: 0
Эльрат - 6 months ago
0
Голосов: 0
Fakov, да, я согласен со Скорпом, попробуй сделать страничку на сайте и объявить набор в команду. Мне кажется, желающие найдут - хотя бы чисто поиграться с процессом.
0
Голосов: 0
tysch_tysch - 6 months ago
0
Голосов: 0
норм отклик на кривую демку /toxic-mode
0
Голосов: 0
Fakov - 6 months ago
0
Голосов: 0
Есть ощущение, что можно и команду собрать для этого
да нам нужны 2 программиста, дизайнер, один модельер и три рекламиста чтобы в инстаграме расскзывали про наш проект, потому что уже завтра у нас будет заглавное меню и музыка для игры! ах да, звукарь нам тоже нужен, ну чтобы звуки всякие придумал и прислал. И не помешает человек хорошо знающий английский, потому что моя сестра отказалась переводить названия для игры пока что но я думаю еще смогу ее уговорить, ей просто трудно с двумя детьми одной, а мы пока не платим но как только игра выстрелит обязательно всем по доле получится! обещаю!
» звучит кринжово, но мне нравится)
в любом случае, думаю я сначала выдрочу пайплайн разработ очки, механики там посклеиваю базовые, а потом буду искать желающих втянуться в моделинг и всякое такое. Ну или забью болт и скажу что ничего реализовать нельзя потому что у меня ноут не тянет эти ваши игоры и вообще борода уже седеет.

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

норм отклик на кривую демку /toxic-mode
make xgm great again hehe
2
Голосов: 2
Эльрат - 6 months ago
Edited by
2
Голосов: 2
Fakov, если по переводу действительно что-то понадобится, обращайся, все-таки, у меня 14 лет стажа в качестве переводчика. А вот с модельками пока нет, не дорос еще до серьезного моделлинга.
2
Голосов: 2
ScorpioT1000 - 6 months ago
Edited by
2
Голосов: 2
ZIV очень популярен среди тех, кто в том числе и моддер вц3, ты можешь буквально предложить им покурить юньку/анрил и присоединиться. Я думаю, ты сможешь набрать команду на этот "бренд"
2
Голосов: 2
Fakov - 6 months ago
2
Голосов: 2
ZIV очень популярен среди тех, кто в том числе и моддер вц3, ты можешь буквально предложить им покурить юньку/анрил и присоединиться. Я думаю, ты сможешь набрать команду на этот "бренд"
Это я понимаю. Это я понимаю...
Надо подумать. Звучит хардкорненько

Fakov, если по переводу действительно что-то понадобится, обращайся, все-таки, у меня 14 лет стажа в качестве переводчика. А вот с модельками пока нет, не дорос еще до серьезного моделлинга.
оке) лучи добра тебе
0
Голосов: 0
ofeerist - 6 months ago
Edited by
0
Голосов: 0
про скорость передвижения уже четверо упомянули, любопытно что только мне она не кажется медленной, но видимо надо и правда ускорить
Проблема не в скорости, а в большом уровне, ну и в скорости полетов прожектайлов.
ScorpioT1000:
ты можешь буквально предложить им покурить юньку/анрил и присоединиться.
Это не так просто, если они сами не ушли, значит их придется учить, объяснять. Геморр

Я бы мог что-нибудь поделать, но пока в рабстве у феникса и даже не знаю, когда выберусь.
0
Голосов: 0
Fakov - 6 months ago
Edited by
0
Голосов: 0
Проблема не в скорости, а в большом уровне, ну и в скорости полетов прожектайлов.
солидарен, понял.
Это не так просто, если они сами не ушли, значит их придется учить, объяснять. Геморр
ой не. Никого учить не хочу. На вопросы разве что отвечать могу. Но даже если и возьмусь что-то делать, то скорее всего просто организую какой-то пайплайн, чтобы в конечном счете самому контролировать происходящее в большей степени.
хз, пока развлекусь с базовыми механиками