Дневники разработчиков: The Uncertain (#3)
В рамках формата “дневники разработчиков” публикуем третью заметку команды ComonGames. В новом материале менеджер проекта The Uncertain Артём Нетягин рассказывает о создании локаций для игры.
Обычно адвенчуры подразумевают множество небольших уровней и фиксированную камеру. Оба момента немного упростили нашу задачу. Мы смогли сосредоточиться на определенных ракурсах, ограничить игроку обзор на другие, а еще увеличить детализацию определенных участков, которые игрок сможем увидеть в близи.
Работа над квестом в этом плане отчасти напоминает съемку кино: есть съемочная площадка с актерами, декорациями, камерами, осветительными приборами и так далее.
Как и в случае с персонажами и пропсами, для создания локаций сначала рисовались арты:
Это было нужно в первую очередь для того, чтобы задать атмосферу и настроение уровню. У нас не было цели повторить картинку точь-в-точь, поэтому мы не сосредотачивались на прорисовке деталей и не подгоняли их к картинке, когда уже работали с локацией. Главное — передать общие ощущения. В данном случае мы хотели показать комнату, в которой все перевернуто вверх дном в попытках найти нечто важное. В процессе работы над уровнем мы кое-что поменяли, но в целом атмосфера осталась похожей — таинственной, мрачной и загадочной (что усиливал такой же атмосферный саундтрек):
Первое, из чего формируется сцена по отрисованному арту — это геометрия.
3D модели — основной графический элемент в современных играх. Хотя их качество напрямую влияет на впечатление от общей картинки, все же есть некоторые хитрости, позволяющие оптимизировать их как по нагрузке на компьютер, так и по времени создания.
Сразу отмечу, что часть моделей мы покупали в Asset Store, чтобы частично упростить себе задачу. Но в основном это коснулось только моделей второго плана, которые не являются ключевыми. Мы считаем, что весь основной контент должны делать сами разработчики, поэтому купленные модели занимают не более 20% от общего контента игры. Остальные ассеты, которые мы использовали, были связаны со звуком, эффектами и прочими, менее заметными деталями.
Большинство моделей, которые мы делали, созданы точно таким же методом, как и наши персонажи, о которых мы рассказывали в предыдущей статье: сначала мы создавали хайполи модель, затем делали ретопологию, развертку, запекали текстурные карты и рисовали текстуры.
Этот метод позволяет добиться превосходного результата и реалистичности, но он весьма трудоемок. К тому же в любой игровой локации всегда есть множество предметов, которые мы никогда увидим настолько близко, чтобы оценить весь этот кропотливый труд. Поэтому такие модели можно делать по упрощенному методу: мы сразу делаем лоуполи модели, а потом просто текстурируем их. Иногда можно обойтись только текстурой Albedo, но лучше задействовать еще один способ получить все необходимые текстурные карты — сделать их на основе других текстур (в более сложном методе мы их запекали с хайполи модели). Все что для этого нужно — графический редактор или специальный софт, позволяющий автоматизировать этот процесс.
Помимо объектов для средних и дальних планов, такой подход применим и к самим локациям. Хотя наш художник подошел довольно кропотливо к вопросу текстурирования, но для создания игровой локации обычно не требуется делать хай-поли модель, если конечно вы не делаете трюм космического корабля со множеством сложных форм и элементов.
В нашем случае было достаточно грамотно смоделировать и затекстурировать “коробку” помещения, придерживаясь правильных размеров и масштабов. Места, которые часто повторяются, мы сделали тайлами, причем тайлится сама геометрия, однотипные элементы которой имеют одни и те же координаты на развертке. Это позволило нам не использовать множество текстур для каждого материала, будь то плитка, стены или потолок, а задействовать одну текстуру сразу на всей модели. Таким образом, несмотря на большие размеры, мы получаем качественную низкополигональную модель с минимальным набором текстур, которая выглядит хорошо даже на ближних планах.
После этого мы начинаем заниматься освещением. Хорошее освещение — это залог приятной картинки. Если у нас не будет таких качественных моделей, и даже если не будет текстур вовсе, а уровни будут состоять из белых боксов, можно сделать очень приятную картинку только за счет одного освещения:
Меняя освещение от уровня к уровню мы таким же образом делаем его атмосферу уникальной и разнообразной. Играя на контрастах, мы также можем намеренно привлекать или отталкивать внимание игрока от определенных мест на уровне. Например, игрок всегда будет себя чувствовать неуютно в темных, холодных местах, и будет автоматически тянуться к светлым, теплым участкам.
Чтобы игровая локация была для игрока не просто “местом, где можно ходить”, а чем-то большим, хранящим в себе какую-то историю, и чтобы игрок больше понимал, что она собой представляет, чтобы размышлял обо всем происходящим вокруг, необходимо уделять внимание деталям. Именно детали превращают перемещение из точки А в точку Б в настоящее путешествие.
Мы стараемся вложить в каждый предмет небольшую историю, чтобы игрок мог остановиться на секунду и задуматься, как предмет здесь появился, что с ним делали, и что с ним можно было бы сделать. А комментарии главного героя могут усилить этот эффект, а, возможно, даже позабавить, ведь иногда ваши мысли и мысли робота могут сильно отличаться.
На последнем этапе работы над сценой мы занимаемся постобработкой. Благодаря визуальным эффектам можно очень сильно улучшить визуальный уровень игры. Но конечно же приходится балансировать между красотой и производительностью, так как, пожалуй, эффекты — это один из наиболее ресурсоемких процессов в большинстве игр. Для сравнения — так выглядит кадр из игры с эффектами и без:
Эффекты, которые мы использовали в нашем проекте, были взяты из стандартных эффектов Unity, некоторые были куплены в Asset Store, а еще мы задействовали несколько эффектов из пакета Nvidia GameWorks, которые мы адаптировали под Unity. Практически на всех игровых локациях был использован один и тот же набор: Bloom, SSAO/HBAO+, FXAA, DOF, Tonemapping, SSR, VignetteandChromaticAberration, VideoGlitches.
Таким образом, мы создали уникальные игровые локации, каждая из которых несет какую то интересную информацию о происходящем в мире, в котором находится наш герой. И мы надеемся, что вам будет так же интересно их изучать, как нам было интересно их придумывать и создавать.
Веб: http://theuncertaingame.com
Steam: http://store.steampowered.com/app/406970
NVIDIA SHIELD: https://shield.nvidia.com/games/android/the-uncertain
Понравился формат? Дайте знать в комментариях.
Если есть самим желание поучаствовать — пишите на press@app2top.ru. Заявки рассмотрим, если заинтересуют — обязательно ответим.