Сборка билда и прочие неприятности

35
Сборка билда Сборка билда и прочие и прочие неприятности неприятности Морозов Кирилл Saber Interactive

description

Проклятие билд-инженера. Сборка билда и прочие неприятности. TimeShift. Билды. Сборка билда – неотъемлемая часть разработки компьютерных игр Билды бывают разные: Большие и не очень Ежемесячные и ежечасные Press , focus , multiplayer etc. PC, PS3, X360… RU, EN, US, DE, FR, ES, GB…. - PowerPoint PPT Presentation

Transcript of Сборка билда и прочие неприятности

Page 1: Сборка  билда и прочие неприятности

Сборка билдаСборка билда и прочие и прочие неприятностинеприятности

Морозов Кирилл Saber Interactive

Page 2: Сборка  билда и прочие неприятности

TimeShiftTimeShift

2

Page 3: Сборка  билда и прочие неприятности

БилдыБилды

Сборка билда – неотъемлемая часть разработки компьютерных игр

Билды бывают разные:

• Большие и не очень

• Ежемесячные и ежечасные

• Press, focus, multiplayer etc.

• PC, PS3, X360…

• RU, EN, US, DE, FR, ES, GB…3

Page 4: Сборка  билда и прочие неприятности

Билд-инженер на 24Билд-инженер на 24/7/7

Работы у билд-инженера много:

• Сборка фич и багфиксов

• Воссоздание структуры

• Конфигурация и настройка

• Написание спецификации

• Присвоение номера версии

• Проверка с QA

• Отправка заказчику4

Page 5: Сборка  билда и прочие неприятности

Первые шагиПервые шаги

• Подружиться с главным программистом

• Ознакомиться с игрой

• Выучить структуру проекта

• Следить за размером билда

• Следить за структурой папок

5

Page 6: Сборка  билда и прочие неприятности

Первая проблема: СценыПервая проблема: Сцены

Отсчет сцен с лайтмэпами:

6

Page 7: Сборка  билда и прочие неприятности

Первая проблема: СценыПервая проблема: Сцены

Конвертер сцен:

• Централизованный отсчет

• Автоматическое обновление данных с Perforce

• Последовательный отсчет всех сцен

• Готовность сцен к утру

7

Page 8: Сборка  билда и прочие неприятности

Данные в билдеДанные в билде

Билд – совокупность данных

Первые сборки билдов:

• Большое количество лишних и не организованных папок

• Билды занимали много места из-за мусора

• Все операции выполнялись вручную

8

Page 9: Сборка  билда и прочие неприятности

Данные в билдеДанные в билде

9

Генератор списков

Page 10: Сборка  билда и прочие неприятности

Shaders, shadowmaps…Shaders, shadowmaps…

Генерация в реальном времени:• Тормоза, низкий FPS• Непозволительно большое время загрузки

уровнейРешение проблемы:• Распределённая прегенерация по разным

платформам• Упаковка бинарного кэша в паки по

спискам

10

Page 11: Сборка  билда и прочие неприятности

WavebanksWavebanks

Суровая реальность мира звуков:

• Большое количество локализаций, отсюда огромное количество звуков

• Постоянные изменения и перекомпиляция, занимающие по несколько часов

11

Page 12: Сборка  билда и прочие неприятности

Файлы конфигурацииФайлы конфигурации

Прятать или нет?

Доступные файлы:

• Опасность взлома конечными пользователями

Скрытые файлы:

• Неудобства при разработке

• Необходимость переупаковки

12

Page 13: Сборка  билда и прочие неприятности

Файлы конфигурацииФайлы конфигурации

Файл конфигурации прятать надо, но:

• Упаковывать их в отдельный пак

• Прятать только под конец проекта

• Необходимо только на PC

• Прятать, но не полностью, оставляя уменьшенную копию снаружи

13

Page 14: Сборка  билда и прочие неприятности

Disk ImageDisk Image и и InstallShieldInstallShield

• Создание образов дисков для приставок – не требует разработки дополнительного ПО

• Для работы с InstallShield’ом был нанят отдельный человек

14

Page 15: Сборка  билда и прочие неприятности

Основная головная больОсновная головная боль

• Огромное количество билдов• 3 платформы

• 7 регионов

• Специфические требования

• Рассылка билдов по тестерам

15

Page 16: Сборка  билда и прочие неприятности

Техническая база - Техническая база - FarmnodeFarmnode

Решение

большинства проблем:

• Удалённый контроль

• Максимально мощные ПК

• Чем больше, тем лучше

• Распределение операций

16

Page 17: Сборка  билда и прочие неприятности

Программное обеспечениеПрограммное обеспечение

Автоматизация производства и управление техническими ресурсами

• 90% операция скрыто в программном коде

• Сокращение затрачиваемого времени

• Повышение качества и надежности продукта

17

Page 18: Сборка  билда и прочие неприятности

Программное обеспечениеПрограммное обеспечение

ПО должно обладать:• Сетевым доступом• LOG’ами• Большим количеством различных настроек• Лёгким и понятным интерфейсом• ПО не должно быть привязано к технической

базе

*.bat – легко и удобно

18

Page 19: Сборка  билда и прочие неприятности

Одни из самых интересных утилит

Page 20: Сборка  билда и прочие неприятности

Build ClientBuild Client

20

Page 21: Сборка  билда и прочие неприятности

Shader CompilerShader Compiler

21

• Установка на все ПК в офисе

• Сбор исходников для расчета шэйдеров

Page 22: Сборка  билда и прочие неприятности

HotFix’sHotFix’s

Поздние не контролируемые сдачи данных, всегда приводят к поломке проекта!

22

Page 23: Сборка  билда и прочие неприятности

HotFix’sHotFix’s

Долой ночные посиделки!

Определите четкие временные рамки приема fix’ов в билд, учитывая:

• Hard times

• Ежедневные билды

• Еженедельные билды

23

Page 24: Сборка  билда и прочие неприятности

Отсылка билдаОтсылка билда

Отсылка билда – обязанность

билд-инженера!

• Десятки гигабайт информации ежедневно

• Сбои при передачи данных

• Полная безконтрольность

24

Page 25: Сборка  билда и прочие неприятности

Отсылка билдаОтсылка билда

Необходимо специальное ПО, которое способно:

• Выполнять синхронизацию файлов и каталогов в двух местах вычисляя контрольную сумму

• Минимизировать трафик• Кодировать данные• Вести подробные log’и• Рассылать отчеты

25

Page 26: Сборка  билда и прочие неприятности

КонтрольКонтроль

Важный момент – всё проконтролировать

• Работа становится образом жизни…

• Работа по выходным

• Работа ночами

26

Page 27: Сборка  билда и прочие неприятности

КонтрольКонтроль

Нет необходимости сидеть постоянно в офисе!

• Необходимо настроить удалённый доступ к рабочему ПК, используя подходящее ПО

• Всегда иметь при себе ноутбук или КПК

27

Page 28: Сборка  билда и прочие неприятности

Доступ в интернетДоступ в интернет

На этом нельзя экономить:

• Максимально высокая скорость соединения

• Не лимитированный тариф

• Резервное соединение через альтернативного провайдера

• Хороший домашний интернет у билд-инженера

28

Page 29: Сборка  билда и прочие неприятности

Источники питанияИсточники питания

Будьте готовы к сбоям в электросети

Необходимо:

• Резервные источники питания большой ёмкости на всё ключевое оборудование

• Портативный винчестер

29

Page 30: Сборка  билда и прочие неприятности

Распределение ролейРаспределение ролей

Будьте готовы к тому, что:

• Люди не поймут ваших обязанностей

• Вам придется рисовать, программировать, носить мебель и петь песни

Расставьте все точки над «И»:

• Не берите на себя чужие обязанности

• Распределяйте сваленные на вас задачи по профильным специалистам

30

Page 31: Сборка  билда и прочие неприятности

Система репортовСистема репортов

Для того, что бы не делать то, что не нужно:

• Будьте всегда в курсе всего что происходит в конторе

• Настройте систему репортов

• Заставьте всех пользоваться вашей системой

31

Page 32: Сборка  билда и прочие неприятности

Передача знанийПередача знаний

Если вы незаменимы:

• Никаких отпусков

• Никаких больничных

Что бы жить спокойно:

• Составьте подробную инструкцию

• Разместите её на сервере

• Расскажите всем об этом32

Page 33: Сборка  билда и прочие неприятности

Дополнительные расходыДополнительные расходы

У вас постоянно будут возникать проблемы:

• Добраться поздней ночью домой

• Голод 8)

Не стесняйтесь! Пусть БОСС:

• Вызовет вам такси

• Закажет вам пиццу

33

Page 34: Сборка  билда и прочие неприятности

ЗаключениеЗаключение

• Наладьте процесс сборки билдов и их настройки

• Обзаведитесь мощной технической базой, защищённой от различного рода катаклизмов

• Разработайте специализированное ПО

• Всегда и всё чутко контролируйте

• Будьте человеком! Знайте себе цену!

34

Page 35: Сборка  билда и прочие неприятности

Есть вопросы? Хотите у нас работать?

Подходите к нашему стенду, на ярмарке проектов!

Морозов Кирилл Saber Interactive