350 likes | 539 Views
Проклятие билд-инженера. Сборка билда и прочие неприятности. TimeShift. Билды. Сборка билда – неотъемлемая часть разработки компьютерных игр Билды бывают разные: Большие и не очень Ежемесячные и ежечасные Press , focus , multiplayer etc. PC, PS3, X360… RU, EN, US, DE, FR, ES, GB….
E N D
Морозов Кирилл Saber Interactive Проклятие билд-инженера Сборка билдаи прочие неприятности
Билды Сборка билда – неотъемлемая часть разработки компьютерных игр Билды бывают разные: • Большие и не очень • Ежемесячные и ежечасные • Press, focus, multiplayer etc. • PC, PS3, X360… • RU, EN, US, DE, FR, ES, GB…
Билд-инженер на 24/7 Работы у билд-инженера много: • Сборка фич и багфиксов • Воссоздание структуры • Конфигурация и настройка • Написание спецификации • Присвоение номера версии • Проверка с QA • Отправка заказчику
Первые шаги • Подружиться с главным программистом • Ознакомиться с игрой • Выучить структуру проекта • Следить за размером билда • Следить за структурой папок
Первая проблема: Сцены Отсчет сцен с лайтмэпами:
Первая проблема: Сцены Конвертер сцен: • Централизованный отсчет • Автоматическое обновление данных с Perforce • Последовательный отсчет всех сцен • Готовность сцен к утру
Данные в билде Билд – совокупность данных Первые сборки билдов: • Большое количество лишних и не организованных папок • Билды занимали много места из-за мусора • Все операции выполнялись вручную
Данные в билде Генератор списков
Shaders, shadowmaps… Генерация в реальном времени: • Тормоза, низкий FPS • Непозволительно большое время загрузки уровней Решение проблемы: • Распределённая прегенерация по разным платформам • Упаковка бинарного кэша в паки по спискам
Wavebanks Суровая реальность мира звуков: • Большое количество локализаций, отсюда огромное количество звуков • Постоянные изменения и перекомпиляция, занимающие по несколько часов
Файлы конфигурации Прятать или нет? Доступные файлы: • Опасность взлома конечными пользователями Скрытые файлы: • Неудобства при разработке • Необходимость переупаковки
Файлы конфигурации Файл конфигурации прятать надо, но: • Упаковывать их в отдельный пак • Прятать только под конец проекта • Необходимо только на PC • Прятать, но не полностью, оставляя уменьшенную копию снаружи
Disk Image и InstallShield • Создание образов дисков для приставок – не требует разработки дополнительного ПО • Для работы с InstallShield’омбыл нанят отдельный человек
Основная головная боль • Огромное количество билдов • 3 платформы • 7 регионов • Специфические требования • Рассылка билдов по тестерам
Техническая база - Farmnode Решение большинства проблем: • Удалённый контроль • Максимально мощные ПК • Чем больше, тем лучше • Распределение операций
Программное обеспечение Автоматизация производства и управление техническими ресурсами • 90% операция скрыто в программном коде • Сокращение затрачиваемого времени • Повышение качества и надежности продукта
Программное обеспечение ПО должно обладать: • Сетевым доступом • LOG’ами • Большим количеством различных настроек • Лёгким и понятным интерфейсом • ПО не должно быть привязано к технической базе *.bat – легко и удобно
Build Client и Shader Compiler Одни из самых интересных утилит
Shader Compiler • Установка на все ПК в офисе • Сбор исходников для расчета шэйдеров
HotFix’s Поздние не контролируемые сдачи данных, всегда приводят к поломке проекта!
HotFix’s Долой ночные посиделки! Определите четкие временные рамки приема fix’ов в билд, учитывая: • Hard times • Ежедневные билды • Еженедельные билды
Отсылка билда Отсылка билда – обязанность билд-инженера! • Десятки гигабайт информации ежедневно • Сбои при передачи данных • Полная безконтрольность
Отсылка билда Необходимо специальное ПО, которое способно: • Выполнять синхронизацию файлов и каталогов в двух местах вычисляя контрольную сумму • Минимизировать трафик • Кодировать данные • Вести подробные log’и • Рассылать отчеты
Контроль Важный момент – всё проконтролировать • Работа становится образом жизни… • Работа по выходным • Работа ночами
Контроль Нет необходимости сидеть постоянно в офисе! • Необходимо настроить удалённый доступ к рабочему ПК, используя подходящее ПО • Всегда иметь при себе ноутбук или КПК
Доступ в интернет На этом нельзя экономить: • Максимально высокая скорость соединения • Не лимитированный тариф • Резервное соединение через альтернативного провайдера • Хороший домашний интернет у билд-инженера
Источники питания Будьте готовы к сбоям в электросети Необходимо: • Резервные источники питания большой ёмкости на всё ключевое оборудование • Портативный винчестер
Распределение ролей Будьте готовы к тому, что: • Люди не поймут ваших обязанностей • Вам придется рисовать, программировать, носить мебель и петь песни Расставьте все точки над «И»: • Не берите на себя чужие обязанности • Распределяйте сваленные на вас задачи по профильным специалистам
Система репортов Для того, что бы не делать то, что не нужно: • Будьте всегда в курсе всего что происходит в конторе • Настройте систему репортов • Заставьте всех пользоваться вашей системой
Передача знаний Если вы незаменимы: • Никаких отпусков • Никаких больничных Что бы жить спокойно: • Составьте подробную инструкцию • Разместите её на сервере • Расскажите всем об этом
Дополнительные расходы У вас постоянно будут возникать проблемы: • Добраться поздней ночью домой • Голод 8) Не стесняйтесь! Пусть БОСС: • Вызовет вам такси • Закажет вам пиццу
Заключение • Наладьте процесс сборки билдов и их настройки • Обзаведитесь мощной технической базой, защищённой от различного рода катаклизмов • Разработайте специализированное ПО • Всегда и всё чутко контролируйте • Будьте человеком! Знайте себе цену!
Морозов Кирилл Saber Interactive Спасибо за внимание Есть вопросы? Хотите у нас работать? Подходите к нашему стенду, на ярмарке проектов!