Murphstone Devlog - ККИ за 72 часа

Привет! На прошедших выходных мы поучаствовали в Siberian Game Jam и сделали ККИ на тему "Закон Мёрфи" (хоть в процессе от "ККИ" и отвалилась одна "К", оставив просто "КИ").
В процессе разработки я писал дневник и теперь могу спокойно поделиться им с миром.

Обложка нашей игры за авторством художницы GroggDew
Обложка нашей игры за авторством художницы GroggDew

Это наш не первый опыт участия в джемах, до этого мы делали игры для двух других Siberian Game Jam (в мае 2020 года и в апреле 2021), а наша игра с весеннего джема - Little Star Adventure - попала в ТОП-5 всех участвующих игр по мнению судей. Для нас это был большой прогресс, поэтому на ноябрьский джем мы тоже постарались выложиться на полную.

Murphstone Devlog - ККИ за 72 часа

На предыдущие джемы мы выбирали абсолютно случайные названия для своей команды, на этот же решили назваться Life and Games - по названию студии, которую мы основали вместе с моей девушкой, которая увлекается гейм-дизайном. Сейчас мы занимаемся своими инди-проектами, но еще не готовы их анонсировать. Зато логотип уже готов. :)

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

Четверг, 04.11.2021, 18:00

Подготовка к джему прошла достаточно стандартно: мы добрали необходимых участников; составили план, по которому будем работать, и несколько дней тренировались.

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

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

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

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

Пост-джемовый креатив про неевклидовых трилобитов
Пост-джемовый креатив про неевклидовых трилобитов

Тема нового осеннего джема прозвучала как "Закон Мёрфи". Не самая простая тема из всех вариантов, что были, тут про трилобитов уже не подискутировать.

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

Среди вариантов были:

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

- Аналог Plague Inc., где мы играем за сам закон Мёрфи. Подстраиваем подопытному человеку неприятности, копим очки, улучшаем перки. Очень интересная идея, но слишком сложная к реализации в рамках джема;

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

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

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

После еще трёх часов более локальных обсуждений будущей игры с гейм-дизайнером, мы смогли набросать и протестировать более-менее интересный для игры вариант ККИ. Спонтанно возникло желание совместить основы механик, близких к играм вроде Hearthstone и Magic The Gathering, и механики Reigns - выборы, влияющие на характеристики персонажа и развитие истории.

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

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

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

Пятница, 05.11.2021, 12:00

К обеду пятницы был готов предварительный список 37 карточек, которые были отданы художникам на отрисовку. Я в это время приступил к суровому прототипированию основного геймплея на кубах.

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

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

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

Вся игра была разработана на Unity с использованием связки DOTween + UniTask, в качестве основного структурного паттерна я выбрал плюс-минус знакомый мне Model View Presentation: данные карт хранятся в своих моделях в виде ScriptableObject, контроллеры-презентеры забирают их и по определенной очередности манипулируют View-представлениями в виде GameObject'ов на поле.

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

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

Первый образец дизайна для наших карточек с иллюстрацией - карта "Пролитый кофе"
Первый образец дизайна для наших карточек с иллюстрацией - карта "Пролитый кофе"

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

Для решения этой проблемы были введены две дополнительные механики: максимальное число выложенных карт (аналог маны/земель/ресурсов из классических ККИ) и формирование колоды перед стартом раунда (спойлер из будущего: до релиза дошла только первая механика).

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

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

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

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

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

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

Суббота, 06.11.2021, 16:00

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

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

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

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

Возможно, звучит не очень оптимистично (получается этакий Project Zomboid: "Вы всё равно умрете. Вопрос лишь в том, через сколько дней..."), но геймплейно такой вариант обыграть оказалось проще всего в условиях джема.

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

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

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

Суббота, 06.11.2021, 23:00

На экране просмотра карточек присутствовало много свободного пространства, и моя девушка предложила написать к ним нарративные описания, которые формировали бы за игрой некий бэк. Я поддержал творческий порыв и включил в колонки саундтреки из разных частей The Sims. Именно под них была придумана большая часть комичных подписей к картам. :)

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

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

Murphstone Devlog - ККИ за 72 часа

Воскресение, 07.11.2021, 16:00

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

Главное - вовремя остановиться.

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

Получилось неплохо - игра работает, практически без багов и шероховатостей.

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

И вот, в 18:00, мы засабмитили на джем готовую страничку с игрой. Фейрверки, дуделки, овации!

Еще одна версия логотипа с нашим уже, можно сказать, маскотом - собакой с карточки "Злые собаки"
Еще одна версия логотипа с нашим уже, можно сказать, маскотом - собакой с карточки "Злые собаки"

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

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

Поиграть в Murphstone бесплатно и без СМС можно на моём Itch.io:

Спасибо за внимание!

1313
3 комментария

Вроде и нормально, но после нескольких сыгранных партий (и статистического анализа) не покидает ощущение, что с балансом что-то не то, и часть партий просто математически невозможно пройти.

Ответить

Баланс рассчитывался под синергии, которые мы сделать не успели. В итоге есть некоторые проблемы - здоровья, как правило, всегда много, а настроение - самый убыточный стат.
Но если внимательно смотреть на карты и думать перед каждым ходом, то как минимум до 7 дня дожить реально при любом раскладе карт. Один из коллег по работе просчитывал коэффициенты убавления параметров и выяснил, что максимальное число возможных проживаемых дней - около 20. На вторую партию он дошел до 17.
Но толика рандома и необходимости в удаче присутствует практически в любой карточной игре, этого не отнять.

Ответить

Пробовал играть, понравилось и даже очень.
Нарратив особенно впечатлил, описания карт не раз вызывали настоящий ржач - у девушки замечательное чувство юмора))). Этот контраст между ироничным карточным нарративом и меланхоличной музыкой рутинных будней -отдельный изюм игры.
Проигрывал также легко, но без огорчения, так как удовольствие так или иначе получил.
Чтоб уж совсем сахарно не было, скажу, что возможно чуть видоизменил бы саму рисовку. Чуть дилетантская и не догоняет по качеству начинку. Конечно, последнее куда важнее, но все ж век визуала.)
Студии Life and Game - дальнейших интересных проектов!

Ответить