Upload
devgamm-conference
View
37
Download
2
Embed Size (px)
Citation preview
CLUSTERTRUCK
Road to PS4 & Xbox One
Alex Nichiporchik, CEO @tinyBuild, advisor
Забавные факты о грузовиках• Максимальная
скорость – 95кмч
• Расход топлива – 10-12 литров на 100км
• Разворачивается лучше моей бмв 5-й
• Их можно использовать как пресс-комнаты на TwitchCon
• Грузовики сдают с полным баком
• В экспо холл не впустят если в баке больше четверти
• А слить топливо невозможно из-за структуры бака
За день до запуска Clustertruck, мы 9 часов катались на грузовике
вокруг Сан Диего – пытаясь сделать чтоб бак был на четверть
полным
Почему я тут говорю перед вами?• Продюсер с издательской стороны на Clustertruck,
Party Hard, Punch Club, Hello Neighbor, The Final Station и других и
• Основал tinyBuild в 2011м, в 2013м превратил в издательский бизнес
• Работал в Spil Games, лицензировал флешки во времена FlashGAMM
• В Spil Games основал А10.com
• До этого был журналистом, маркетологом, безуспешным про-геймером
• Трилингвален: латышский, русский, английский (смотрите телешоу без переводов!)
Сегодня поговорим о Clustertruck
Про маркетинг, продвижение,
разработку и все такое
Про портирование на консоли – куча базовых советов
Про релиз на TwitchCon
Clustertruck• Игра родилась на геймджеме
• Пошла вирально на реддите с крутыми гифками
• Подписались в день запуска Punch Club
Пример Party Hard
Геймджем ПрототипРазработка с открытыми билдами для стримеровБыстрая итерация Релиз на ПК
Между геймджемом и релизом времени на качество кода особо не было.
Консольный релиз состоялся через 9 месяцев.
Задача с Clustertruck
Геймджем Прототип Разработка с открытыми билдами для стримеровБыстрая итерация Релиз на ПК и консолях одновременно
Каким образом поддерживать ажиотаж с постоянными итерациями, и совершить порт на консоли?
Сначала про ажиотаж
Сообщество Ютуберы и Стримеры
Открытая альфа
Сообщество
Ютуберы, стримеры, и альфа
• Открыли подписку на открытую альфу
• Разослали Ютуберам и Стримерам билды
• Десятки тысяч людей подписываются на альфу
Открываем альфу• Эффект снежного кома
• Чтобы получить доступ к ней, пользователям надо оставить свой имейл
• Сотни тысяч подписок
Перво-апрельская (не) шутка с SUPERTRUCK
SUPERTRUCK• В 8 утра – гифка маленького режима
• В 8:15 утра – «а можем мы это сделать в реальную игру?»
• 15:00 – выпускаем SUPERTRUCK с трейлером, что выглядит как шутка, но это реальная игра
Собираем сотни тысяч имейлов
«Как записать голос?»
• Просто сказать “SUPER TRUCK” и прогнать через фильтр – не работает ;)
Внезапно прессе стало интересно• На Е3 толкаем игру прессе
• Делаем пресс-тур с личными встречами с GameSpot, GiantBomb, Polygon, VentureBeat, и т.п.
• Продолжаем растить сообщество и замечаем спидраннеров
Сообщество спидраннеров• Показывают потрясающие эксплойты в игре
• Ставят мировые рекорды на уровнях
• Мы понимаем, что игрушка возможно слишком простая
• Ролик на следующем слайде сделан из геймплея от спидраннеров
Добавляем абилки!• Двойной прыжок
• Все грузовики толстые
• Все грузовики плоские
• Пушка-стреляющая грузовиками
• И т.п.
К этому моменту игра почти готова и есть дата релиза – 27 сентября
Челленджы с консолями• Слабое железо
• Строгие требования
• Строгое планирование и неподвижные сроки
• Если забудешь мелочь в стиле «а что если контроллер выдергивается в ситуации Х» - провалишь сертификацию, и процесс откладывается еще на месяц
Помимо сертификации, очевидные проблемы с Unity экспортом• 1280x720
• No AA or any FX
• ~25fps
Кадры падают до 2-3х в секунду при любой физике в сцене (???)
Генерация объектов• Clustertruck напрямую в рантайме генерировал и
уничтожал грузовики, ракеты, и другие айтемы
Уважайте концепт “Object Pool”-a и подгружайте все сразу, не надо это делать на лету
Поиск информации по объектам• Clustertruck пытался в реальном времени искать
информацию по активным элементам в сцене
Если есть возможность, не используйте GetComponent, Raycasting, или Collider-ы для поиска информации в сцене. Сделайте Array во время загрузки, и читайте статичный список.
У консолей проблема с загрузкой ассетов с жесткого диска• Где возможно – клонируйте объекты, вместо создания
новых в сцене
• Не подгружайте ассеты во время активного геймплея
• А еще лучше, тестируйте на крутящихся дисках во время разработки (а не на SSD)
Длинная загрузка – не пройдешь сертификацию• Изначально игра открывалась 20 секунд на консолях –
это моментальный провал сертификации
• Не кладите много ассетов в папку ресурсов, она подгружается до начала игры и тормозит процесс запуска
Про коллайдеры и полигоны• Изначально в каждом грузовике было по 200
полигонов, и у каждого колеса (6 колес) еще 200
• Не надо использовать MeshColliders для колизии
• Они съедают гораздо больше ресурсов, чем сферы или коробки
60 грузовиков в сцене• Каждый грузовик постоянно делал Raycast вниз,
проверяя тип земли под ним
• Старайтесь не делать просчеты, которые могут быть не нужны – в этом примере, они постоянно сканируют, а уровень-то меняется после прохождения. Делать это 1 раз при загрузке уровня – достаточно.
Трюки с физикой• 60 грузовиков, но зачем давать им всем физику
одновременно?
• Почему бы не отключать физику на дальних грузовиках, или которые за тобой?
• Изначально у каждого колеса грузовика была собственная физика. Зачем? Они занимают пол сантиметра на экране.
Перегруз от звука и объектов• Пользуйтесь умным менеджером звуков
• Проигрывание кучи звуков одновременно тормозило одну из консолей до 0 фпс (на консолях)
• Создание и удаление объектов оставляет кучу мусора и утечек памяти (на консолях)
• AudioSource.playOneShot() например
• Делайте постоянную чистку мусора в Unity – принудительно
Статичным нужны RigidBodies• В уровнях была куча статичных объектов, которые не
имели RigidBodies. Когда объект двигается, всему телу нужно делать перерасчет.
• На каждый статичный объект тратилось столько же расчетов, как и грузовикам.
Тестируйте на очень слабых машинах• Сделайте себе виртуальную машину, которой даете
эквивалент процессоров на консолях
• Посмотрите как оно будет играться
• Иногда делать лок на 30фпс – хорошее решение, но не в играх с быстрым движением
Итоги• Прошли сертификацию на PS4 и Xbox One во время
• ФПС 60 стабильно на обеих платформах
• Нет АА, но есть 1920х1080
• Смогли релизнуть только PS4 одновременно с РС
• Xbox One задержался на месяц
• Проблема – не была хорошего слота в ленте новых релизов (на этой платформе стоит делать предзаказы)
• 30 минутный триал + предзаказы дают в 2 раза больше плейсмента в списках, ибо 2 раза публикуешься
Релиз на TwitchCon
Поставим грузовик в центр экспо!• Снимем грузовик
• Завезем в экспо хол
• Завесим баннерами
• Профит
Как мы хакерили стримеров
Twitch хаки• Игра распознает админ-аккаунты на твитче
• Если твитч интеграция включена, игра дает приоритет админ-аккаунтам
• Можно писать текст, вызывать определенные ивенты, менять цвета грузовиков
• Народ сошел с ума от этой идеи
• Все изначально думают, что это скрипт – а потом спрашиваешь любимый цвет стримера
Игра скоро достигнет $2m в продажах, консоли дают и
прямой профит и стратегический маркетинг
Что мы бы сделали иначе• Поставили строгий фичер лок за 2.5-3 месяца до
релиза
• Сделали бы аудит кода в начале проекта, а не в конце
• (но проблема с ограничением возможности итерировать бы всех раздражала)
• Заранее спланировали бы DLC. Они очень важны для консолей
Почему DLC важен для консолей?• И игры и DLC имеют одинаковый плейсмент на
витрине
• DLC делаются, чтобы занять несколько слотов во всех списках
• Коллекторские издания (DLC + основная игра) имеют такой же плейсмент
• DLC + Main Game + Collector’s Edition = 3 слота
Обобщая• Clustertruck выстрелил на геймджеме
• Продвигался через открытый подход разработки с фокусом на ютуберов и стримеров
• Открытые альфы, шутки в стиле SUPERTRUCK построили огромную аудиторию
• Релиз в комбинации TwitchCon и хакинга помог виральности и заинтересовал прессу
• Консольная разработка шла параллельно и впритык успела из-за базовых недоделок
Спасибо за внимание
• Почитайте «Как питчить игры» на tinyBuild.com
• Посылайте нам игры на [email protected]
• Twitter - @tinyBuild
• Мой твиттер - @aNichiporchik