"Искусство - это взрыв!" ©д'Спот

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

В закладки
Слушать
Всё ведь понятно?

Начну с главного: качайте билд и играйте. Без регистраций, смс и мутных контрактов мелким текстом.

Продолжу историей разработки в хронологическом порядке. Сначала была тема: "успеть за 60с", и тема была хороша!
Тему объявили в 10 утра, генеральный арт-директор Konfa Games (по совместительству единственный художник) Rune_Drawer встаёт около 13.00, поэтому у меня было три часа на создание идеи, чтобы потом презентовать её всей команде из трёх человек. Три часа это очень много - поэтому я придумал три идеи, чтобы выкинуть две из них.

Игру про аркадный автомат, по типу японских UFO, где д'Cпот вылавливает из человекохранилища больных COVID-3000 забраковал Рун. Это по плану должна была быть казуалка с одной кнопкой, а он в такие и сам не играет, и рисовать такую не хочет.

Представьте, что вместо игрушек пиксельные розовые человеки

Игру про то, как один мечник в автоматическом бою отбивается от орд монстров, а игрок периодически закупается перками - забраковал Кардинал, потому что это подразумевало использование кодовой базы Despot's Game (по сути это просто новый режим к разрабатываемой игре), а это ни разу не развлекательный проект для программиста. Скорее просто еще два рабочих дня, при чем с кранчем и без видимых бенефитов.

Может быть режим "один в поле воин" когда-нибудь появится в Despot's Game

В итоге решили делать замороченный платформер с заигрыванием со временем и взрывами. Вот так выглядел мокап:

Я у мамы художник! Хорошо, что наши игры не я рисую

Я боялся, что не смогу весело описать концепцию. Это после просмотра гифки из готовой игры что-то понятно, а на словах - звучит слишком запутанно для джема. Сами посудите: "игрок управляет одинаковыми юнитами, юниты умеют перемещаться и взрываться, но когда взорвался юнит N, время отматывается на начало, и игрок начинает управлять юнитом N+1, при этом все юниты с номерами меньше N+1 повторяют все свои действия, которые они сделали когда игрок управлял ими." Вам понятно? А парни поняли и поддержали, ура!

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

Могу отметить, что мы реиспользовали всё, что могли. Я понимаю тех, кто пишут и рисуют с нуля на 100%, кто-то даже движок не использует - это всё про спортивный интерес. Наша же цель сделать максимально хорошую игру за отведенное время, поэтому ограничивать себя сознательно в инструментарии - просто нецелесообразно. Первым делом Кардинал скопировал "заготовку" проекта из Despot's game - и после тоже копировал готовые блоки (по его словам, из Despotism 3k брать нечего - на тот код можно только смотреть и плакать). В плане арта заимствован был стиль, палитра, и некоторые мелочи типа надписи "Despot was here", а для создания уровней использовали Tiled Map Editor. Я считаю, что использовать свои или чужие ассеты, если это не запрещено правилами мероприятия, не просто позволительно - но и чертовски логично. Главное - быть открытым и не выдавать ассеты за свежую работу.

Копипаста здорового человека. А человек нарисован заново, хоть и очень похож

Чтобы со стороны не казалось, что у нас всё работает как один отлаженный механизм, расскажу как спорили о UX. Рун периодически возмущался тем, что у нас по отзывчивости и общей физике персонажа "не Celeste". Справедливости ради, он же по делу предлагал как сделать лучше. А я, покрутив полчасика параметры (например гравитацию поставил 15 вместо 9.8) повторял как мантру: "И так пойдет, уже неплохо, отлично для джема". Когда тема отзывчивости управления поднялась в пятый раз, мы даже немного посрались (сори, бро!). В итоге то что есть - компромисс, без которых никак, если хотите делать игры в команде энтузиастов. Правда компромисс с перевесом в мою сторону, а кто был прав - уже и не узнаем.

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

Где-то раза с десятого у вас так же получится

Поэтому левел-дизайн начал склоняться в сторону физических головоломок. Как в Angry Birds, когда тебе сначала надо придумать идею прохождения уровня - а затем суметь её реализовать. И в итоге пройти уровень случайно, совсем не по придуманному плану.

Добраться до красной кнопки можно множеством способов

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

По сути, это стандартные "шипы" из любого платформера

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

Пример раннего внешнего вида уровня. А еще тут Витя головой к зубам прилип

Если вы всё еще не мотивированы сыграть в демку, посмотрите хотя бы видео.

Вроде бы всё. Я более чем доволен результатом, надеюсь вам понравилась "No time to explode". Слава д'Споту!

Всё что вы хотите знать о Деспотизме https://store.steampowered.com/search/?publisher=Konfa%20Games
{ "author_name": "Николай Кузнецов", "author_type": "self", "tags": [], "comments": 27, "likes": 117, "favorites": 87, "is_advertisement": false, "subsite_label": "indie", "id": 174594, "is_wide": false, "is_ugc": true, "date": "Tue, 21 Jul 2020 21:09:28 +0300", "is_special": false }
Объявление на DTF
0
27 комментариев
Популярные
По порядку
Написать комментарий...
15

Ну вы поняли

Ответить
6

Зашел в статью из-за Дейдары.

Ответить
6

Прям каеф, аффтар пищи естчо.

Ответить
6

Это гениально.

Ответить
6

Концепт напомнил супер тайм форс, что в принципе не есть плохо

Ответить
6

Очень крутая идея и хорошее исполнение. Вы — большие молодцы. Придумать интересную механику на поприще паззл-платформеров — прям-таки задача. 

Ответить
3

Рун периодически возмущался тем, что у нас по отзывчивости и общей физике персонажа "не Celeste"

Наверное у вас хороший опыт по созданию приятного платформинга, если замахнулись на как в Celeste? Было бы интересно почитать чутка подробностей.
Использовали встроенную физику? Какие подводные камни при реализации вылезли?

Ответить
7

Напротив, платформеры мы никогда не делали. А я в них даже никогда не играл толком. Просто Рун всегда горит желанием выжать максимум, поэтому берет пример с лучших. За два дня многого не сделаешь, но стремиться стоит.

Начал я с поиска не слишком длинного текстового туториала, чтобы хотя бы узнать, какие компоненты в Юнити использовать и подсмотреть некоторые базовые решения. Физика встроенная. Составить мнение про удобство работы с ней не успел. Главный подводный камень - нехватка времени :). Нельзя пытаться найти лучшее решение. Если хоть как-то работает, переходим к следующей задаче. Если два таких решения мешают друг другу, делаем костыль.

Например, "предыдущие" человеки не управляются физическим движком. Просто запоминают историю позиций и воспроизводят. Упс, они же еще анимироваться должны... а параметры анимации зависят от скорости, направления, касания земли... менять что-то поздно, так что воспроизводим спрайты тоже и двигаемся дальше.

Еще всегда можно назвать баг фичей. Юнит прыгает возле стены ниже, чем в открытом пространстве - некогда искать причину, пусть так будет. Я только сейчас понял, что отключил трение в каких-то начальных тестах, а потом оно вернулось на место :(

Ну и доставил проблем нелюбимый мной Animator. То не в том состоянии окажется, то вроде все правильно, а переходить в нужное состояние все равно не желает. Ошибиться в визуальном редакторе легко, а отлаживать сложно. Пришлось максимально уменьшить количество анимаций, отказаться от Sub-State Machine и сделать страшную неподдерживаемую вермишель.

Ответить
1

Спасибо!
Для двух дней и при отсутствии опыта с платформерами классно получилось, а ведь это даже не вся работа

Кстати, вспомнил забавный пост про celeste
https://dtf.ru/flood/16854-razrabotchik-celeste-vylozhil-ishodnyy-kod-kontrollera-personazha

Ответить
0

Накидайте лайков плз, чтобы вверх выполз комментарий =)

Ответить
0

а таймер в механике как нибудь участвует? 

Ответить
0

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

Ответить
1

Человечки очень сильно напомнили игру Despotism
Сначала как прочитал новость,подумал что анонсировали продолжение или DLC

Ответить
5

Ну так это всё в одной вселенной происходит) И те же 3 человека делали

Ответить
2

Искусство - это взрыв. © Дайдара

Ответить
1

Про хитрости создания кода и арта я рассказать не могу, а ответственные за это статьи писать не особо любят ;)

Очень жаль. Может уговорите своих коллег поделиться или хотя бы получить добро на публикацию и протранслировать нам в новой статье? Было бы очень интересно.
А так выглядит весьма добротно. Какой движок использовали?

Ответить
0

Unity. А вы задавайте конкретные вопросы - они ответят

Ответить
1

Крутая задумка, очень хорошо смотрится)

Ответить
1

Очень похоже на Splosion Man
Одна из любимых аркадок на 360. С женой проходили обе части в своё время

Ответить
0

не слышал до этого. глянул трейлер, и не понял - там есть какое-то заигрывание со временем? если сходство только во взрывах - то ок, не страшно)

Ответить
0

Со временем - нет, ну только по нажатию бампера есть каунтдаун 3,2,1 для коопа, который у обоих игроков отображается😅
Там идея в том , что у каждого персонажа есть дабл-джамп взрывом, а взрыв напарника заряжает тебя на второй такой прыжок, поэтому платформинг часто симметричный/зеркальный, и очень живой

Ответить
1

Пацаны ваще Деспоты.

Ответить
0

Искусство это взрыв. Аллаху акбар.

Ответить
0

Спасибо за статью (и за игру, конечно, же)!
Очень здорово, платформеры на основе прямого и одновременного взаимодействия с собственными действиями в прошлом вообще получаются очень интересными, вспомнить хотя-бы "Mustache Armies".

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

Ответить
0

Очень круто. Будете развивать/выпускать?

Ответить
0

подумываем, но пока отложили

Ответить

Комментарии

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }
null