Я начал делать первые наброски по игре 4 года, 2 месяца и 20 дней назад. Изначально я это делал просто потому, что страшно устал рисовать цветастые матч-3, и чтобы справиться с депрессией. Только спустя год мы начали делать первый прототип.
Изначально, названием игры было «Murray and the Demons». Соответственно, имя главного персонажа было Мюррей. Мы позже сменили его на Адам.
Я выбрал имя Мюррей потому что я большой фанат «Клиники» и в одном из эпизодов персонаж Мэтью Пэрри говорит Джей-Ди, что у него имя старика. Мюррей. А мне как раз было нужно имя для старика.
Главный герой был значительно старше. На первом скрине на скамейке вы можете видеть его жену. Она все ещё в игре, но в несколько измененном виде.
Враги изначально планировались как абстрактные вещи вроде прыгающего ботинка и обычных пауков, летучих мышей. На этом скрине первый слизнеобразный враг, но ещё с глазами и ртом.
Позднее все враги стали слизнеобразными в большей или меньшей степени
Первая карта игры. На ней можно заметить диагональные рампы. Мы отказались от них где-то в середине разработки, потому что они вызывали необходимость в очень большом количестве дополнительных анимаций вроде приземления на диагональную поверхность. Мы много экспериментировали с ними, но результат был ниже ожиданий и в какой-то момент мы переделали десятки полностью готовых локаций так, чтобы убрать диагональные поверхности.
Все спрайты игры изначально почти серые. Мы добавляем цвета только на этапе постобработки, используя «кривые цветокоррекции». Это инструмент, который на основе яркости пикселей меняет их цвет, и можно сделать зависимость, например, вида «чем темнее пиксель, тем он более синий» и «чем ярче, тем он краснее».
Также мы используем чёрно-белые и цветные градиенты с overlay-материалом, растянутые поверх всего экрана что позволяет сделать эффекты вроде более светлых цветов в верхней части экрана и более тёмных в нижней, или слегка подкрасить экран.
Информация о цветокоррекции и настройках оверлеев, нужных нам в определённой части локаций, хранится в узлах цветокоррекции (розовые кружки на скрине). Когда камера входит в такой круг, цветокоррекция картинки камеры начинает меняться согласно информации в узле. Чем ближе камера к центру тем сильнее влияние. На камеру может одновременно действовать до пяти узлов, перемешивая их значение и выдавая среднее между всеми ними. Также удобно, что перемещение узлов можно анимировать и, например, в драматический момент задвинуть на камеру узел, делающий картинку кроваво- красной.
Кривые цветокоррекции очень мощный инструмент для создания настроения
Концепты и наброски были очень важной частью разработки на всем её протяжении. Не только на первых этапах.
Я не очень хорош в рисовании руками, но это быстро и позволяет сосредоточиться на идее и формах, а не проработке. Желание проработать какой-то набросок посильнее, сделать более красивым, очень сильно замедляет работу. Я долго сопротивлялся идее делать наброски руками в блокноте, но в конечном счете это очень сильно помогло ускорить процесс.
Один из десятков чеклистов, которые я делал в процессе разработки. Отметки в рукописных списках делать гораздо приятнее, чем ставить бездушные галочки в списках на Trello.
Кстати, регистрация потраченного на каждую задачу времени в Trello также оказалась невероятно полезной и важной для планирования. Расширение для браузера Trello plus позволяет использовать таймеры для каждой задачи и показывает статистику по ним. На данный момент у нас записано около десяти тысяч рабочих часов на двоих (платформеры делать просто, ага). На самом деле, должно быть существенно больше — в какой-то момент мы перестали пользоваться Trello.
Набросок локации с домом ведьмы, к сожалению, не вошедшим в игру. Идея интересная, но это требовало очень большого объёма работы при том, что для целостности истории в нем нет необходимости.
Иногда приходится чем-то жертвовать, даже если очень не хочется этого делать.
Интересный факт— на блокноте с набросками есть следы зубов. В некоторые моменты разработка была достаточно стрессовой. Мягко говоря.
Очень быстро после начала полноценной разработки мы поняли, что всё нужно максимально структурировать и невозможно просто сесть и нарисовать локацию из головы, если их планируется больше сотни. Каждая локация должна взаимодействовать с соседними. Нужно чётко представлять, какими путями игрок будет перемещаться между ключевыми точками, где будут враги, кат-сцены, секреты, скрытые проходы.
Именно планирование — самая сложная и самая важная часть в левелдизайне, а не арт-локаций. Очень часто лучшее, что можно сделать для проекта, это сесть и подумать, глядя в стену, вместо того, чтобы бежать что-то делать. Странно, что это не общеизвестный факт.
Я сделал в Procreate (приложение на iPad) фон, симулирующий тетрадный листик, и начал перерисовывать наброски в него. Рисование руками в блокноте очень хорошо для быстрых набросков и создания общей концепции, но в какой-то момент ты должен начать думать критериями вроде высоты и расстояния прыжка персонажа — и тут тетрадные клеточки незаменимы.Эти схемы перерисовывались и исправлялись после плейтестов множество раз.
В какой-то момент я решил полностью отказаться от использования тайлов. Каждая локация нарисована вручную.
Она может основываться на некоторых тайлах, но в целом весь мир игры — это огромный холст в Photoshop, разделённый на несколько слоёв с текстурами, тенями, освещение, бликами, мебелью и тому подобным. Этот холст скриптами разрезается на локации, и автоматически импортируется в Unity с соблюдением определённой структуры для оптимизации и удобства работы в редакторе.
Очень многое в логике игры работает на триггерах. В редакторе это выглядит несколько пугающе.
Многие триггеры сделаны для того, чтобы облегчить игроку перемещение. Например, на каждом углу генерируется триггер, который хранит информацию о том, как персонаж должен вести себя на этом углу. Должен ли он зацепиться, если падает с края? Можно ли в этом месте спуститься, повиснув на руках? Должны ли ноги персонажа раскачиваться, если он с прыжка цепляется за этот угол?
Некоторые триггеры принуждают персонажа использовать специфическую анимацию вместо стандартной. Стандартный прыжок довольно высокий, но в некоторых местах мы с уверенностью можем сказать, что игрок тут не собирается прыгать с целью биться головой о потолок и предпочтёт использовать длинный прыжок вместо высокого.
В игре около 10 типов подобных триггеров.
Некоторое время назад в игре был бег на отдельную кнопку, но игроки использовали его непрерывно, что противоречит исследовательскому духу игры. Теперь бег включается только внутри определённых тригерров, которые используются в интенсивных сценах вроде погони Хантера.
Внутри врагов так же много триггеров и коллайдеров, которые отвечают за обнаружение игрока, стен, пола, получение и нанесение урона.
Но Хантер на самом деле не совсем настоящий враг. По структуре он больше похож на анимацию, части которой проигрываются исходя из того, где сейчас находится игрок. Мы потратили много часов, чтобы создать иллюзию его сложного поведения.
Мир игры поделён на локации в размер экрана. Раньше задники были плоской картинкой и камера перемещалась только когда персонаж подходит к краю экрана. Работать с задниками было гораздо проще,
но позже мы переделали камеру так, чтоб она постоянно следила за персонажем.
Это позволило нам сделать параллакс для фона. Что удвоило количество работы необходимой для создания задников. Но мне теперь нравится, как выглядит задний фон в игре.
Спасибо, что дочитали! Пост получается действительно большим, поэтому продолжение во второй части!
Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2)