Кратко о разработке Star Citizen

В сентябре 2016 года Джулиан Бенсон, журналист Kotaku, выпустил материал, посвящённый разработке Star Citizen и тому, с какими проблемами столкнулись Cloud Imperium Games. 7 месяцев он общался с сотрудниками CIG, как бывшими так и настоящими, а также Крисом Робертсом, пытаясь разобраться в том, как создаётся этот проект. По ряду причин перевод закончен только сейчас, и я предлагаю вам с ним ознакомиться. Материал очень большой (порядка 35 страниц), поэтому здесь будет краткая выжимка, параллельно с чем я буду частями публиковать полную версию.

От себя замечу, что перечисленные проблемы не уникальны для данного проекта. В той или иной степени с ними сталкивается каждый разработчик игр. То, что студия их преодолела и движется вперёд к своей мечте с ещё большим упорством — говорит о многом. 

  • В плане разработки Крис Робертс вдохновлялся Minecraft. Изначальным планом было выпустить публичную альфу с минимальным набором функций, начать зарабатывать и выпускать дополнения, дорабатывая проект до желаемого состояния.
  • Выбирая движок, Робертс думал об использовании Unreal Engine и CryEngine. Выбор пал на последний потому что в то время Unreal Engine 4 находился на стадии активной разработки и постоянно менялись даже базовые компоненты. CryEngine 3, в свою очередь, был довольно устоявшимся.
  • Параллельно выбору движка Робертс собирал команду, которая помогла бы ему сделать прототип. Не зная, станет ли этот прототип успешным, он создал виртуальную студию и переложил большую часть разработки на фрилансеров и сторонние компании, работающие по контракту.
  • Изначально планировалось сделать прототип, показать его потенциальным инвесторам на GDC в Кёльне в августе 2012 года, получить финансирование и начать реализацию намеченного плана.
  • После успеха Double Fine Adventure Крис Робертс решил обратиться к краудфандингу и собрать немного денег как доказательство интереса публики к проекту, а после этого уже идти к инвесторам.
  • В качестве платформы для краудфандинга планировался сайт студии. Но он не выдерживал нагрузки и не всем был удобен. Поэтому было принято решение запустить параллельную кампанию по сбору средств на Kickstarter.

  • Целью было собрать полмиллиона долларов там и два миллиона на своём сайте. В итоге же лишь за месяц Kickstarter принёс $2 134 374, а собственный сайт (на тот момент) более $4,1 миллиона.
  • После такого успеха Крис Робертс решил, что сможет, подогревая интерес публики, обойтись и без инвесторов. В тот момент он всё ещё надеялся собрать порядка $20 млн.
  • Через добавление всё новых целей разработки (stretch goals) и регулярное взаимодействие с сообществом сборы на разработку Star Citizen не показывали признаков замедления. К ноябрю 2014 года разработчики собрали более $65 миллионов. Тогда же было принято решение перестать озвучивать новые цели и сосредоточиться на разработке.
  • В какой-то момент разработчики поняли, что имея на руках столь крупную сумму и собирая средства такими темпами, они могут сразу начать реализовывать те механики, которые планировалось вводить после релиза. Дизайн-проект был переработан, а дата выхода сместилась с первой половины 2015 года на неопределённый срок.
  • В конце 2014 CIG начали продавать концепты кораблей, чтобы собрать больше средств.
  • Начиная собирать команду разработчиков, Крис Робертс планировал организовать большую студию в Остине. Именно там он делал Wing Commander, там основал свою предыдущую студию Digital Anvil. Но за 10 лет его отсутствия в индустрии этот город стал достаточно дорогим. Второй открылась студия в Санта-Монике. Позже она стал основной.
  • Практически сразу возникла проблема с кадрами. В то время на рынке практически не было свободных разработчиков, имеющих достаточный опыт в работе с CryEngine, поэтому CIG пришлось больше опираться на контрактные студии — Behaviour, Illfonic и Moon Collider.
  • В конце 2013 года к разработке присоединился брат Криса Эрин Робертс, открывший маленький офис у себя дома. В январе 2014 они переехали в Уимслоу и начали быстро расти.
  • Поскольку штат постоянно расширялся и в студиях не были налажены производственные процессы, графики постоянно срывались. Ответственность за срывы частенько перекидывалась разрабочиками на другие студии.
  • За счёт того, что Эрин Робертс пришёл в CIG вместе со сработавшейся командой, его студия работала эффективнее других и единственная укладывалась в устанавливаемые сроки. Появилась практика “одалживания людей”, когда студии из США передавали часть своей работы сотрудникам из Англии.
  • 21 апреля 2014 года Crytek UK не выплатила зарплату ряду своих сотрудников и те массово начали уходить в CIG.
  • Этот приток талантливых людей также означал, что для студии из Великобритании увеличится объем задач, поступающих из американских студий. Вскоре целые сегменты проекта стали сваливаться на студию, сосредоточенную исключительно на однопользовательской части игры.
  • Также арт-директора помимо своих обязанностей занимались тем, что перепроверяли работу американских студий, а потом брали и переделывали её на должном уровне.
  • В результате возросшей нагрузки разработчики из Англии работали по 60-80 часов в неделю. Некоторые не выдерживали и увольнялись. Всё это сильно сказалось на моральном духе и стало приводить к конфликтам.

  • Из-за нехватки коммуникации и управления возникли проблемы и с контрактниками. Периодически возникали ситуации, когда ошибки не замечались вовремя, что приводило к переделыванию работы и потере времени. Так CIG наняли Illfonic для работы над Star Marine, ожидая, что, помимо прочего, они должны будут создать набор объектов и материалов для построения окружения. После чего предполагалась интеграция наработок с тем, что имеется внутри CIG. Но когда CIG попытались вставить готовые материалы в свои локации, оказалось, что они не работают с системой наборов CIG. Все они были неправильных размеров. В результате Illfonic работали над Star Marine почти два года, но производственные проблемы, типа описанной выше, привели к тому, что ничего из проделанной работы нельзя было выпустить, и всё, что они создали, было переделано CIG. Отсюда и перенос Star Marine на год.
  • По словам Робертса, теперь основная часть этих проблем позади. С открытием студии во Франкфурте в 2014 году, созданной из бывших Crytek-овцев, которым надоели задержки зарплаты, у CIG наконец-то появились ресурсы и таланты, чтобы вести всю разработку Star Citizen своими силами.
  • Параллельная разработка Star Citizen и Squadron 42 также принесла ряд проблем. По всей студии были разработчики, которые не могли двигаться вперёд, потому что не были закончены технологии более низкого уровня, необходимые для продолжения работы. Всем нужна была помощь инженеров, но их было мало и на всех не хватало.
  • Эта нехватка инженеров в 2013 и 2014 годах породила «бесполезный цикл». В итоге, студии начали работать над мелкими компонентами, чтобы проверить то, чем они хотели заниматься дальше. Как только конкретная команда могла доказать, что данный компонент был достаточно хорош, поступало указание, и она начинала заниматься его поддержкой. В результате на другие задачи оставалось ещё меньше ресурсов. Это привело к появлению в студиях культуры «борьбы за власть». Они работали по принципу ʺесли Крис уделяет студии больше внимания, то она имеет больше властиʺ.
  • Не стоит забывать и о поддержке выпущенного контента. Это также отнимает рабочую силу от других частей проекта.
  • «Поддержка выпущенной версии требует оторвать от другой работы некоторых отличных людей, – говорит Робертс. – Если вы выделяете инженерам несколько дней на работу над какой-то задачей, то не факт, что времени уйдёт именно столько. Нельзя точно сказать, сколько времени займут попытки исправления какой-то проблемы, которая блокирует выход следующего релиза».
  • Критики модели разработки Star Citizen часто указывают на Elite Dungerous как на пример правильного развития игры. Однако Робертс аргументирует свой подход к разработке следующим образом: «Куда лучше позаботиться обо всех инженерных задачах сейчас, чем в будущем пытаться что-то доделать. Это определённо более трудный подход, но я думаю, что в долгосрочной перспективе он создаст более качественный фундамент». Робертс сравнивает Star Citizen с такими ММО, как World of Warcraft или EVE Online, говоря: «если всё получится, то проект сможет прожить довольно долго, более 10 лет». Чтобы это произошло, «нужно качественное масштабируемое основание, которое можно будет постоянно поддерживать и легко развивать. Если мы заранее не сделаем всё, что нужно, то придётся возвращать этот ʺтехнологический долгʺ потом».
  • Но проблемы возникали не только из-за нехватки сотрудников или модели разработки. «CryEngine стал помехой для CIG с самого первого дня, – говорит один источник. – Это отличный движок для разработки только одного типа игр – шутеров. Поэтому, чтобы сделать Star Citizen, им пришлось полностью переписать его».
  • В ряде случаев переписывание кусков движка имело смысл. Например, сетевой код CryEngine создавался для многопользовательских игр с небольшим количеством участников, не предполагая тысячи игроков. Код ИИ не имеет нативной поддержки задач той сложности, которая необходима для живой вселенной Star Citizen. Система рендеринга была рассчитана на освещение земного окружения, а не космического.
  • Имея лицензированный CryEngine, движок, который построен с нуля для создания игр от первого лица, они «ободрали» его и стали создавать совершенно новую систему вида от первого лица.
  • Одной из крупных причин задержки было фундаментальное изменение в CryEngine – переход от 32-битных расчётов к 64-битным. Это позволит движку гораздо точнее отслеживать положение объектов в игре, что необходимо для огромных открытых пространств. У CIG возникли проблемы, когда они попытались создать такое окружение с использованием 32-битного отслеживания.

  • Другой проблемой с CryEngine было наличие в нем множества незадокументированного кода, унаследованного от предыдущих версий.
  • Один из источников согласен с Крисом Робертсом в том, что с Unity или Unreal были бы те же проблемы. Можно подумать, что для CIG было бы правильнее создать свой собственный движок, однако в начале проекта, когда его масштаб был куда меньше, это было неразумно.
  • Помимо всех вышеперечисленных проблем были сложности и с управлением и разделением обязанностей. С самого начала разработки Star Citizen был чётко определён высокоуровневый план развития проекта, но не было разбиения на задачи. Вторая проблема заключалась в том, что команды переоценивали свои силы, ставя перед собой каждый месяц нереалистичные цели. Обычно такого рода ожидания сдерживаются продюсерами, но у CIG и с этим была проблема. 
  • «Было много документации, – говорит источник. – Слишком много. Просто катастрофическое количество документов и данных, многие из которых противоречили другим. Иногда документы были старыми, а иногда кто-нибудь работал над тем, что уже было сделано кем-то другим. Бывало так, что двое людей делали одно и то же не предупредив друг друга, в результате чего получались две совершенно разные вещи, которые должны делать одно и то же. И так было во всех студиях.
  • В конце 2014 года Крис Робертс начал реорганизацию политики управления, взяв за пример британский офис, управляемый Эрином Робертсом. Эрин стал в CIG ответственным за международное производство, компания наняла больше продюсеров, чтобы справляться с требованиями, предъявляемыми его системой планирования.
  • Также во все производственные процессы была добавлена управленческая иерархия. Так, например, Натан Дирсли (Nathan Dearsley) возглавил создание кораблей, Франческо Рокучи (Francesco Roccucci) – разработку искусственного интеллекта, а Ян Лейлэнд (Ian Leyland) возглавил создание арта локаций.
  • Были и жертвы реструктуризации – значительная часть остинской студии была уволена.
  • Последней в списке “проблемой” стоит упомянуть самого Криса Робертса. Источники говорят, что если ему пришла в голову какая-то идея, то он твёрдо стоит на своём и его невозможно убедить в том, что это неправильно или невозможно. Что на это отвечает сам Робертс — читайте скоро в полной версии.

Источник: shazoo.ru