«Как бы эгоистично это ни звучало из моих уст, невозможно переоценить творческий потенциал композитора в видеоигре. Музыканты не только дают звуковое сопровождение, но составляют часть команды, помогают понять, как развивается история, как настроены механики, насколько хорошо работает взятый художественный курс и т. д. Я был на передовой игровой разработки все три года, что продолжалась работа над Journey. Я предлагал свои мысли и позволял идеям остальных разработчиков наложить отпечаток на мою музыку. В противном случае результат был бы другим».
Хоть мне и не нужна была музыка для DARQ, я все же понимал, что саунд-дизайн имеет важную роль. Однажды мне пришло письмо от Бьорна Якобсена, саунд-дизайнера, который в то время работал над Cyberpunk 2077. Что интересно, он написал мне в момент, когда я был готов подписать контракт с другим саунд-дизайнером. Бьорн сказал, что ему понравился трейлер DARQ и что он хотел бы поработать над этим проектом. Я поделился своим видением игры, и мне стало очевидно, что в творческом плане мы с ним на одной волне. Звук сыграл в успехе DARQ ключевую роль.
«Как и любая другая дисциплина, саунд-дизайн – это ремесло, которое осваивают годами. Плохой звуковой дизайн испортит погружение в игру и общее впечатление от нее, проект будет выглядеть непрофессиональным. И напротив: хороший саунд-дизайн способен поднять игру на новые высоты».
Когда нанимаете композитора или саунд-дизайнера, убедитесь, что ваше творческое видение совпадает. Одаренные творческие люди работают лучше всего, когда им дают широкую свободу действий. Не забивайте гвозди микроскопом, не думайте их чрезмерно контролировать. Вместо этого вдохновляйте их делиться идеями и давайте обратную связь. Как профессионалы по части аудио они могут предложить уникальную перспективу, которая поможет улучшить вашу игру.
Процесс разработки
После того как вы сделаете несколько прототипов и поймете, что ваша концепция заслуживает стать игрой, наступит время начать саму разработку. Этот шаг займет некоторое время, тем более что вы только начинаете изучать ремесло. Со временем, когда вы приобретете опыт, все станет намного проще. Те аспекты разработки, которые вы решите взять на себя, со временем станут вашей второй натурой. Наберитесь терпения и наслаждайтесь процессом как только сможете.
Многие разработчики работают чертовски много. Я тоже делал именно так. Вы уже знаете, что создание игры – это марафон, поэтому вам нужно так сформировать график, чтобы получалось усердно работать и следить за собой. Важно оставаться в форме – как в физическом плане, так и в моральном. Не стесняйтесь обращаться за помощью к другим разработчикам, если попали в тупик. Чаще всего вам ответят. Никто не станет писать за вас стену кода, но если вы в чем-то не разобрались или не можете обнаружить ошибку, обратитесь к кому-то более опытному и попросите о помощи. Инди – дружелюбная среда. Многие будут рады помочь, если только сами не заняты своим релизом. Я часто помогаю ребятам, которые обращаются ко мне. Если вам нужен совет по программированию, руководство по маркетингу или отзывы о странице вашего магазина, я буду рад помочь и вам.
Если вы программист, то вместо того, чтобы заказывать ассеты у художников, вы можете поначалу использовать изображения из Интернета. Это обычная практика, и для новичков она особенно полезна, поскольку на ранней стадии разработки нужно учиться и набираться опыта. Полировка ассетов сейчас не важна. Позже, когда напишете рабочий игровой код, вы всегда можете поменять черновики на графику окончательной версии.
Вертикальный срез
Если вы рассчитываете получить финансирование от издателей и инвесторов уже на ранней стадии разработки, следует подумать о том, чтобы сделать вертикальный срез вашей игры. Вертикальный срез – это небольшая часть игры, максимально приближенная к конечному продукту. Другими словами, это демоверсия игры, недоступная для широкой публики. Важно: большая часть игры может оставаться незавершенной, но вертикальный срез нужно отполировать, как готовую игру. Он предназначен для показа всех игровых механик, включает в себя заказанную у художников графику, звуковые эффекты, музыку, хорошо написанные и озвученные диалоги – все, что есть. Для еще не готовых элементов (таких как музыка) можно использовать черновики, однако черновики должны быть высокого качества. Вертикальный срез (vertical slice) – мощный инструмент для демонстрации игры людям, которые в большей степени ориентированы на бизнес и могут быть не знакомы с итеративным характером разработки. Показав проект, который замечательно выглядит и прекрасно играется, вы можете убедить потенциальных инвесторов или издателей его финансировать.
Качественный вертикальный срез также позволяет уже на ранней стадии формировать базу подписчиков. Не нужно постить скриншоты игры, пока она в стадии прототипа, но когда появится что-то проработанное, вы можете начать собирать сообщество. На основе вертикального среза можно создать красивые скриншоты, GIF-анимации, даже тизер-трейлер. С набором привлекательных маркетинговых материалов вы можете еще на ранней стадии разработки набирать подписчиков. Мы поговорим об этом подробнее в главе 6.
Проверка качества
Как только ваш проект похож на полноценную игру, приходит время подвергнуть его тщательному тестированию (Quality Assurance, или сокращенно QA). Пригласите группу бета-тестеров, которые специализируются на поиске ошибок в видеоиграх. Если у вас нет бюджета, попросите друзей и членов семьи протестировать вашу игру. Вы можете попросить об этом кого-то из самых активных и преданных членов вашего сообщества. Главное, не забудьте вознаградить их. Меньшее, что вы можете сделать, – подарить тестировщику копию финальной версии игры и упомянуть его имя в титрах.
Вы – худший кандидат для тестирования своей игры. По мере работы у вас вырабатывается собственная манера прохождения и склонность делать все одним и тем же образом каждый раз. Иначе говоря, вы видели результаты вашего личного стиля игры. Привлечение новых людей поможет обнаружить ошибки, ведь все играют по-разному. Альфа- и бета-тестеры будут взаимодействовать с игрой неожиданными образами. Наблюдать за тем, как они находят кучу слабых мест, может вызвать стресс, но поверьте – лучше облажаться сейчас, чем в день запуска. Когда вы увидите ошибки, может возникнуть впечатление, что игра трещит по швам. Не волнуйтесь, это нормально. Соберите информацию об ошибках (в среде разработчиков их принято называть «багами»[20]) и продолжайте исправлять недочеты.
Кроме багов ожидайте проблемы, связанные с оборудованием. Игра может прекрасно работать на вашем компьютере, но зависать или давать сбои на устройствах с меньшим объемом памяти или на более старых версиях операционной системы. Проведите тесты на разных машинах – как на высокопроизводительных, так и на бюджетных. Если возможно, попробуйте тестировать на разных процессорах и видеокартах. Это поможет еще до запуска выявить несовместимости. Если не можете решить связанные с оборудованием проблемы, по крайней мере укажите минимальные системные требования. В идеале на PC игра должна работать со скоростью шестьдесят кадров в секунду.
Если предполагается, что будет поддержка контроллера, убедитесь, что тщательно протестировали каждый возможный вариант. Например, если речь идет о контроллерах для Xbox и PlayStation, обязательно протестируйте как современные, так и старые версии, проводные и беспроводные. Проверьте, реагирует ли игра надлежащим образом на подключение или отключение контроллера. Автоматическая пауза при отключении контроллера – обычная практика.
Помните, что некоторые игроки используют сверхширокие дисплеи. Возможно, вы привыкли тестировать игру с широкоэкранным разрешением (соотношение сторон 16:9). Тем не менее часть игроков может разочаровать то, что игра не поддерживает сверхширокие дисплеи (чаще всего с соотношением сторон 21:9). Если возможно, добавьте поддержку широкоэкранного режима – это не должно быть проблемой для игр от первого или третьего лица, где камера вращается свободно. По геймплейным причинам не все игры могут поддерживать широкий экран. В некоторых случаях для правильной работы игры необходимо поле зрения с видом сбоку. Если это справедливо и для вашего проекта, просто добавьте по бокам экрана черные полосы, чтобы игра по-прежнему отображалась в центре. Можно встроить эти полосы в визуальный дизайн: поставить на их место концепт-арты или элементы интерфейса.
После изнурительного исправления ошибок вы придете к моменту, когда игра будет по большей части стабильной и готовой к выпуску. Не удивляйтесь, если какие-то ошибки все же прокрадутся в финальную сборку. Опубликовать игру без ошибок практически невозможно. Вашими первыми покупателями, скорее всего, будут главные фанаты из сообщества, которые простят ошибки, если те не приводят к сбою игры. Игроки оценят быстрое устранение багов.
Оптимизация
Как Unity, так и Unreal предлагают так называемые профилировщики (profilers) – программные инструменты, которыми удобно анализировать производительность и обнаруживать проблемы, приводящие к падению частоты кадров. Внимательно изучите эти инструменты, они помогут выявить неполадки и повысить эффективность. Вот шаги, которые вы можете предпринять для оптимизации[21].
1. Сократить вызовы отрисовки
Вызов отрисовки (draw call) – это запрос движка к графическому программному интерфейсу приложения (API) для рисования объектов на экране. Чем больше вызовов отрисовки делает игра, тем больше времени требуется для рендеринга каждого кадра. К счастью, есть способ уменьшить их количество – пакетирование. Пакетн