Грибной лес
Новый набросок локации для следующей игры
Несколько недель назад решил начать делать новую игру
Наброски графики в поисках стиля.
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2)
Первая часть: Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1)
Мы используем ортографическую камеру в игре. Объекты на любом расстояние одинакового размера. Но это означает, что у такой камеры нет «настоящего» параллакса.
Так что мы сделали фейковый. У некоторых объектов есть позиция по оси Z, но так как для ортокамеры не важно, на каком расстоянии объект, игра использует это значение, чтобы группировать объекты с одинаковым Z, и потом при движении камеры смещать эти группы со скоростью, зависящей от значения Z. Короче говоря — фон катается за камерой.
Значение Z может быть отрицательным, чтобы создавать иллюзию объектов, находящихся ближе к камере. Они ездят в противоположное от камеры направление.
После того как камера остановилась, группы с параллаксом слегка смещаются так, чтоб зазор между ними и артом переднего плана был кратен одному пикселю. Пытаются казаться пиксель-пёрфект. Не на 100% точно, но тем не менее…
Для стиля, который мы выбрали, важно, чтобы пиксели объектов на разном расстоянии от камеры были одного размера, поэтому мы не могли использовать камеру с перспективой.
Ну, на самом деле могли, но тогда дальние объекты должны быть огромными
Мы делали так в первых трейлерах. Работать с такой системой крайне неудобно, но со стороны это выглядит интересно.
Анимации всегда были одной из самых главных частей в Inmost. Я действительно люблю анимировать и постарался уделить максимальное внимание тому, что мне нравится делать.
У главного героя около 840 уникальных кадров анимаций. У девочки — 510, у рыцаря — 600.
Некоторые анимации в итоге не вошли в игру (как, например, эта анимация открывания короткого пути) из-за того, что мы отказались от использования диагональных поверхностей. Некоторые используются всего один или два раза за игру.
Все анимации сделаны в Photoshop. Знаю, знаю, это не самый удобный инструмент для анимирования, зато там есть система скиптов, которая позволила автоматизировать множество рутинных вещей и сэкономила нам буквально сотни часов времени. Экспорт анимаций происходит в один клик. Они выкладываются в папки проекта игры по определённой структуре и с определёнными названиями
Unity подхватывает их и импортирует в движок на лету, создавая .anim-файлы с базовой структурой и расставленными новыми спрайтами, и по необходимости вставляет анимации в нужные аниматоры. Остаётся только выставить тайминги.
В маленьких зацикленных анимациях я всегда делаю больше одного цикла в файле, но с немного отличающимися таймингами в каждом цикле. Это позволяет сделать анимации более живыми и менее механическими.
Все катсцены сделаны в движке. В некоторых из них анимированы десятки спрайтов, частиц и эффектов. В Unity очень хорошая система анимации.
Финальная катсцена игры длится больше 20 минут. Её продолжительность около 70 000 кадров. Её анимация и сборка заняли несколько месяцев работы фулл-тайм. Это самая сложная задача, которую я когда-либо выполнял в жизни, и я горжусь результатом.
За время разработки менялся не только графический стиль игры, но и история. Я потратил много времени, рисуя локации, не имея не только готового сюжета, но и понимания, о чем игра в целом. Я делал это просто для того, чтобы справиться с депрессией. Никакой разработки игры ещё не велось, и мы продолжали делать матч-3.
И, конечно, часть их этих локаций пришлось выкинуть, когда у игры появился цельный сюжет.
Документ с сюжетом состоит из блоков, где максимально кратко описано что происходит для каждого персонажа. Блок может быть как частью геймплея, так и катсценой. В финальном сюжете около 70 блоков. Мы множество раз выкидывали, переделывали и добавляли новые блоки.
Работа над сюжетом заняла около двух месяцев фулл-тайм. Один из издателей связался с нами на раннем этапе разработки и сказал, что готов нас финансировать, но сюжет необходимо сделать в два раза короче.
Мы были в отчаянии, у нас кончались деньги и не было других предложений. Я с болью сел переписывать сюжет и через несколько дней новая черновая версия была готова. Сюжет стал в два раза больше. Я понял, что не могу поступить так со своей игрой мечты, даже если это грозит разорением. Мы отказали этому издателю.
В первом трейлере была очень крутая сцена погони. Она в итоге не вошла в игру. После всех переделок сюжета и мира ей просто не нашлось места.
Всегда очень тяжело отказываться от практически готового контента, но в конечном счете я уверен, что это пошло на пользу игре. Важно соблюдать настроение в каждой части игры, а эта сцена очень сильно выбивалась. Мы заменили её на сцену, несущую тот же смысл нарративно, но с участием главного героя, а не абстрактного болотного монстра (который, впрочем, главного героя и символизировал).
Мы вырезали одного из монстров, потому что функционально он не отличался от большого слизня, и не хотелось тратить время на то, чтоб добавить существенные отличия в его механике. Inmost это игра не о битвах, и мы не хотели застрять в создании большого количества контента для них.
Некоторые сцены из трейлеров изменились до неузнаваемости и поменяли фон, как, например, битва со змеей.
Некоторые анимации изначально делались не для того чтоб их вставить в игру. Так, на 1 апреля мы как-то сделали главному герою дробовик.
На следующий год мы повторили шутку, но написали, что делаем официальный ремейк Dangerous Dave. Джон Кармак лайкнул эту гифку в твиттере. Я был невероятно счастлив.
Новогодняя гифка. Я называю её «бабушку давно не навещали».
И на этом у меня всё! Надеюсь, было интересно!
Разработка игры заняла у нас больше трех лет работы фулл-тайм. Это было огромной частью нашей жизни, но теперь этот этап окончен.
Игра вышла сегодня на Steam, GoG, Humble и на Nintendo Switch. И я очень надеюсь, что результат наших трудов вам понравится.
https://store.steampowered.com/app/938560/INMOST/
https://www.gog.com/game/inmost
https://www.humblebundle.com/store/inmost
https://www.nintendo.co.uk/Games/Nintendo-Switch-download-so...
Спасибо.
Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1)
Я начал делать первые наброски по игре 4 года, 2 месяца и 20 дней назад. Изначально я это делал просто потому, что страшно устал рисовать цветастые матч-3, и чтобы справиться с депрессией. Только спустя год мы начали делать первый прототип.
Изначально, названием игры было «Murray and the Demons». Соответственно, имя главного персонажа было Мюррей. Мы позже сменили его на Адам.
Я выбрал имя Мюррей потому что я большой фанат «Клиники» и в одном из эпизодов персонаж Мэтью Пэрри говорит Джей-Ди, что у него имя старика. Мюррей. А мне как раз было нужно имя для старика.
Главный герой был значительно старше. На первом скрине на скамейке вы можете видеть его жену. Она все ещё в игре, но в несколько измененном виде.
Враги изначально планировались как абстрактные вещи вроде прыгающего ботинка и обычных пауков, летучих мышей. На этом скрине первый слизнеобразный враг, но ещё с глазами и ртом.
Позднее все враги стали слизнеобразными в большей или меньшей степени
Первая карта игры. На ней можно заметить диагональные рампы. Мы отказались от них где-то в середине разработки, потому что они вызывали необходимость в очень большом количестве дополнительных анимаций вроде приземления на диагональную поверхность. Мы много экспериментировали с ними, но результат был ниже ожиданий и в какой-то момент мы переделали десятки полностью готовых локаций так, чтобы убрать диагональные поверхности.
Все спрайты игры изначально почти серые. Мы добавляем цвета только на этапе постобработки, используя «кривые цветокоррекции». Это инструмент, который на основе яркости пикселей меняет их цвет, и можно сделать зависимость, например, вида «чем темнее пиксель, тем он более синий» и «чем ярче, тем он краснее».
Также мы используем чёрно-белые и цветные градиенты с overlay-материалом, растянутые поверх всего экрана что позволяет сделать эффекты вроде более светлых цветов в верхней части экрана и более тёмных в нижней, или слегка подкрасить экран.
Информация о цветокоррекции и настройках оверлеев, нужных нам в определённой части локаций, хранится в узлах цветокоррекции (розовые кружки на скрине). Когда камера входит в такой круг, цветокоррекция картинки камеры начинает меняться согласно информации в узле. Чем ближе камера к центру тем сильнее влияние. На камеру может одновременно действовать до пяти узлов, перемешивая их значение и выдавая среднее между всеми ними. Также удобно, что перемещение узлов можно анимировать и, например, в драматический момент задвинуть на камеру узел, делающий картинку кроваво- красной.
Кривые цветокоррекции очень мощный инструмент для создания настроения
Концепты и наброски были очень важной частью разработки на всем её протяжении. Не только на первых этапах.
Я не очень хорош в рисовании руками, но это быстро и позволяет сосредоточиться на идее и формах, а не проработке. Желание проработать какой-то набросок посильнее, сделать более красивым, очень сильно замедляет работу. Я долго сопротивлялся идее делать наброски руками в блокноте, но в конечном счете это очень сильно помогло ускорить процесс.
Один из десятков чеклистов, которые я делал в процессе разработки. Отметки в рукописных списках делать гораздо приятнее, чем ставить бездушные галочки в списках на Trello.
Кстати, регистрация потраченного на каждую задачу времени в Trello также оказалась невероятно полезной и важной для планирования. Расширение для браузера Trello plus позволяет использовать таймеры для каждой задачи и показывает статистику по ним. На данный момент у нас записано около десяти тысяч рабочих часов на двоих (платформеры делать просто, ага). На самом деле, должно быть существенно больше — в какой-то момент мы перестали пользоваться Trello.
Набросок локации с домом ведьмы, к сожалению, не вошедшим в игру. Идея интересная, но это требовало очень большого объёма работы при том, что для целостности истории в нем нет необходимости.
Иногда приходится чем-то жертвовать, даже если очень не хочется этого делать.
Интересный факт— на блокноте с набросками есть следы зубов. В некоторые моменты разработка была достаточно стрессовой. Мягко говоря.
Очень быстро после начала полноценной разработки мы поняли, что всё нужно максимально структурировать и невозможно просто сесть и нарисовать локацию из головы, если их планируется больше сотни. Каждая локация должна взаимодействовать с соседними. Нужно чётко представлять, какими путями игрок будет перемещаться между ключевыми точками, где будут враги, кат-сцены, секреты, скрытые проходы.
Именно планирование — самая сложная и самая важная часть в левелдизайне, а не арт-локаций. Очень часто лучшее, что можно сделать для проекта, это сесть и подумать, глядя в стену, вместо того, чтобы бежать что-то делать. Странно, что это не общеизвестный факт.
Я сделал в Procreate (приложение на iPad) фон, симулирующий тетрадный листик, и начал перерисовывать наброски в него. Рисование руками в блокноте очень хорошо для быстрых набросков и создания общей концепции, но в какой-то момент ты должен начать думать критериями вроде высоты и расстояния прыжка персонажа — и тут тетрадные клеточки незаменимы.Эти схемы перерисовывались и исправлялись после плейтестов множество раз.
В какой-то момент я решил полностью отказаться от использования тайлов. Каждая локация нарисована вручную.
Она может основываться на некоторых тайлах, но в целом весь мир игры — это огромный холст в Photoshop, разделённый на несколько слоёв с текстурами, тенями, освещение, бликами, мебелью и тому подобным. Этот холст скриптами разрезается на локации, и автоматически импортируется в Unity с соблюдением определённой структуры для оптимизации и удобства работы в редакторе.
Очень многое в логике игры работает на триггерах. В редакторе это выглядит несколько пугающе.
Многие триггеры сделаны для того, чтобы облегчить игроку перемещение. Например, на каждом углу генерируется триггер, который хранит информацию о том, как персонаж должен вести себя на этом углу. Должен ли он зацепиться, если падает с края? Можно ли в этом месте спуститься, повиснув на руках? Должны ли ноги персонажа раскачиваться, если он с прыжка цепляется за этот угол?
Некоторые триггеры принуждают персонажа использовать специфическую анимацию вместо стандартной. Стандартный прыжок довольно высокий, но в некоторых местах мы с уверенностью можем сказать, что игрок тут не собирается прыгать с целью биться головой о потолок и предпочтёт использовать длинный прыжок вместо высокого.
В игре около 10 типов подобных триггеров.
Некоторое время назад в игре был бег на отдельную кнопку, но игроки использовали его непрерывно, что противоречит исследовательскому духу игры. Теперь бег включается только внутри определённых тригерров, которые используются в интенсивных сценах вроде погони Хантера.
Внутри врагов так же много триггеров и коллайдеров, которые отвечают за обнаружение игрока, стен, пола, получение и нанесение урона.
Но Хантер на самом деле не совсем настоящий враг. По структуре он больше похож на анимацию, части которой проигрываются исходя из того, где сейчас находится игрок. Мы потратили много часов, чтобы создать иллюзию его сложного поведения.
Мир игры поделён на локации в размер экрана. Раньше задники были плоской картинкой и камера перемещалась только когда персонаж подходит к краю экрана. Работать с задниками было гораздо проще,
но позже мы переделали камеру так, чтоб она постоянно следила за персонажем.
Это позволило нам сделать параллакс для фона. Что удвоило количество работы необходимой для создания задников. Но мне теперь нравится, как выглядит задний фон в игре.
Спасибо, что дочитали! Пост получается действительно большим, поэтому продолжение во второй части!
Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2)
INMOST
Привет!
Я дико не хочу, чтоб пост показался рекламой или пиаром или чем бы то ни было таким, про деньги. Но я знаю, что многие подписались на меня ради Inmost, игры, которую мы делаем вот уже несколько лет.
И у меня есть новость, которой я обязан поделиться.
INMOST сегодня вышла в Apple Arcade.
Релиз
Вот
Поиграть можно на iPhone, iPad и AppleTV. Скоро будет и мак.
Но не спешите доставать факелы и вилы. Спрячьте, ну что вы в самом деле! Неприлично же, тут могут быть дети.
Игра, как и заявлено изначально, так же выйдет на ПК и Switch в этом году и ждать осталось совсем не долго.
Ну и релизный трейлер:
Inmost это проект, которому я практически полностью посвятил последние несколько лет своей жизни и мне действительно очень страшно сейчас. Как воспримут его люди? Достаточно ли он хорош? Не зря ли, блин, я потратил годы жизни на вот ЭТО?
Для меня это не просто игра, которой я хотел развлечь кого-то. Я действительно старался вложить в нее что-то.
И я абсолютно не знаю, получилось ли это, поэтому мне очень страшно.
Сейчас я просто рад, что мы смогли довести игру до релиза. И я действительно хочу сказать спасибо всем, кто поддерживал нас.
Это было очень и очень важно.
Спасибо!
Dangerous Dave REMASTER
Привет! Я невероятно горд сообщить, что вот уже больше года как мы работаем над ремастером легендарного Dangerous Dave
Больше подробностей позже
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.