Джонатан Блоу — независимый дизайнер и программист видеоигр. Он создал Braid (2008) и The Witness (2016) — две игры-головоломки, которые после выхода получили широкое признание. Джонатан также создал новый язык программирования Jai, предназначенный специально для разработки игр. Большую часть своей работы он транслирует на своем канале YouTube.
Известно, что Джонатан потратил годы на доработку Braid, самостоятельно финансируя ее разработку в размере 200 тыс. долл. Аналогичным образом он и его команда в Thekla Inc. потратили более 7 лет на создание The Witness. В статье, опубликованной в журнале The Atlantic, Блоу назван «самым интеллектуальным разработчиком в индустрии видеоигр, а также самым язвительным и полярным внутренним критиком». В Thekla он держит небольшую команду, концентрируясь на деталях (например, нанимая архитекторов для консультаций по зданиям) и применяя самый критический взгляд к своей собственной работе.
ДЕВОН: Здравствуйте, меня зовут Девон, и вы слушаете седьмой эпизод программы «Пионеры» — цикла бесед с дизайнерами, инженерами и изобретателями, которые формируют компьютерную технику, какой мы ее знаем.
Сегодня я беседую с Джонатаном Блоу, дизайнером видеоигр, наиболее известным по созданию игр Braid и The Witness. Он также работает над новым языком программирования Jai, предназначенным для создания высокопроизводительных видеоигр. Игры Джонатана сильно отличаются от большинства видеоигр. И Braid, и The Witness обладают свойством расширять сознание. Если не раскрывать подробности, то, играя в Braid, я почувствовал, что у меня развивается шестое чувство, о котором я никогда раньше не задумывался. The Witness — это исследование природы прозрений.
Для тех, кто знаком с конструктивистской философией образования, игра The Witness, вероятно, является лучшим примером конструктивистского обучения, который я когда-либо видел. Обе игры представляют собой совершенно особый инструмент для работы с мыслями, и для меня они оказывают гораздо большее воздействие, чем большинство программ, которые сами себя называют инструментами для работы с мыслями.
Джонатан, большое спасибо за то, что нашли время для беседы. Я очень ждал этого.
ДЖОНАТАН: Привет, я тоже с нетерпением жду этого. Да, спасибо.
ДЕВОН: Замечательно. Чему вы научились, играя или разрабатывая видеоигры, и что вы используете в своей повседневной жизни?
ДЖОНАТАН: Возможно, это немного пересекается с общей инженерией, но, возможно, видеоигры дают вам особый вкус, который заключается в понимании сложности системы.
Это очень сложные системы, верно. Я думаю, что игры дают представление о том, какими могут быть сложные системы. Одна конкретная игра, возможно, не очень хорошо подходит для обобщения, но когда вы сыграли в сотни или тысячи игр, и они умны, вы начинаете видеть между строк. Начинаешь понимать, что такое сложность. Тогда, если дело доходит до решения какой-то сложной проблемы в реальном мире, вы подходите к ней, как мне кажется, с несколько менее наивной точкой зрения и можете начать предлагать вещи, которые в какой-то степени компетентно осознают сложность, которую вы пытаетесь решить.
В наши дни Интернет — это классический бесконечный источник плохой аргументации, который мы имеем сейчас, верно. Там все люди говорят: «Вы должны просто заниматься экономикой, это очевидно, верно». А на самом деле, если что-то и должно быть ясно, даже из истории экономики, то это то, что вы можете очень легко вызвать непредвиденные последствия, и на самом деле, в общем, вы не можете их избежать.
«У меня нет экономического образования, но я понимаю, как системы могут развиваться и давать удивительные результаты при небольших изменениях в пространстве параметров».
ДЕВОН: Я думаю, что одна из причин, по которой это может быть так, и то, что отличает это от создания системы, подобной видеоигре, заключается в том, что люди, обсуждающие эти вещи, на самом деле не имеют большой обратной связи. Когда ваш дядя спорит о политике за столом в День благодарения или за каким-либо другим столом, это похоже на то, что спор, который он там ведет, на самом деле ничего не меняет в мире.
Он может говорить все, что угодно, и ничто не вернется и не повлияет на него, в то время как при создании системы видеоигр, если вы неправильно понимаете, как работает эта система, вы очень быстро начинаете видеть последствия этого, потому что игра перестает работать или, возможно, дает сбой.
ДЖОНАТАН: Это, безусловно, общее, опять же с инженерным делом в целом. Вы можете иметь любое мнение о том, какая форма моста является хорошей, но вы узнаете, так это или нет, когда попытаетесь его построить. Выдержит ли он? Насколько хорошо он стоит?
ДЕВОН: Какие примеры непредвиденных последствий вы встречали при создании видеоигры, когда вы подправляли какую-то часть системы, а потом она возвращалась и кусала вас?
ДЖОНАТАН: Это трудно объяснить людям, но существует эстетика дизайна уровней, когда они становятся все более уродливыми, поскольку вы все больше и больше пытаетесь заставить игрока что-то сделать. «О, мне нужно заставить игрока сделать то-то и то-то, поэтому я поставлю эти стены здесь, эти дыры здесь и забор из колючей проволоки», и все такое.
Есть определенная красота и магия, которую можно получить, сдерживая порыв сделать это.
Когда что-то не получается, вместо этого можно спросить: «Что это за форма этого уровня? Или каково взаимодействие этих нескольких объектов? Что в нем есть такого, что я могу выявить, вывести на чистую воду, придав уровню немного правильной формы». Это как легкое пушистое тесто. Чем легче вы к нему относитесь, тем оно лучше. Чем больше вы заставляете людей делать или не делать определенные вещи, тем меньше пользы, как правило.
ДЕВОН: В этом есть большой смысл. Я недавно переехал в новую квартиру, и поэтому, переехав через всю страну, я купил всю новую мебель. Меня удивило, как много всего — просто попытка решить одну маленькую проблему. Я хочу, чтобы мне было удобнее держать кофе, когда я сижу на диване, поэтому у меня будет маленький столик, который наклоняется над диваном. Внезапно это делает комнату гораздо менее приятной.
ДЖОНАТАН: Я действительно думаю, что все эти вещи имеют сходство.
Частью правильного создания вещей является учет взаимодействия каждого элемента с каждым другим элементом.
Есть эти невидимые отношения между вещами, которые на самом деле являются тем, чем вы управляете, когда пытаетесь сделать что-то красивое. Дело не в том, чтобы вещи по отдельности были красивыми, — все это помогает, — а в том, чтобы они были вместе и образовывали композицию. Отчасти поэтому разрабатывать игры так сложно, ведь в играх много всего.
ДЕВОН: Похоже, что это одна из причин, по которой полезно иметь меньше вещей, потому что при экспоненциальном росте n-квадратов становится все труднее и труднее сделать хорошую работу. В дизайне, безусловно, есть примеры максимализма, когда люди размещают на экране или в доме множество вещей, которые выглядят великолепно, но сделать это гораздо сложнее.
ДЖОНАТАН: Я бы сказал, что в современной эстетике наблюдается тенденция к минимализму, верно. С одной стороны, в минимализме есть хорошие стороны. С другой стороны, например, если обратиться к компьютерным пользовательским интерфейсам — я считаю, что большинство из них очень плохие.
Большинство этих минимальных пользовательских интерфейсов, в основном функциональных, я уже не могу определить, что именно на экране является активным предметом для нажатия. У Apple репутация человека, который хорошо разбирается в дизайне или что-то в этом роде. Я думаю, что они умеют создавать физические объекты, которые кажутся дорогими, как кольцо, и ты думаешь: «Мое!» и хочешь взять его в руки. Но есть очень базовые вещи, которые явно неправильные, например, стандарт иконок в iOS, который они применяют, просто ужасен, верно.
Затем для iOS 7 или какой там был тот момент, когда они решили, что скеоморфизм — это плохо. Это было целой тенденцией веб-дизайнеров в течение года. На самом деле, людям нужно знать, что означают те или иные вещи, и если у вас есть какой-то нескеоморфный способ сделать это, то это прекрасно. Но на самом деле вам нужно каким-то образом подключиться к их мозгу. Вам нужно подключиться к тому, что они понимают, а все эти попытки сделать что-то не давали такой возможности. Они просто говорили: «Вы должны знать, что это за странное…». Игровой центр iOS представлял собой несколько кружков, а App Store — треугольник в форме буквы А. Это просто как, ребята, да ладно.
ДЕВОН: Я думаю, что идея минимализма заключается в том, какой минимальный объем информации мне нужно поместить на экран, чтобы выразить то, что я пытаюсь выразить. Но главное, что существует минимум, и он не равен нулю, поэтому если вы постоянно что-то убираете, то иногда становится просто невозможно понять, что происходит.
ДЖОНАТАН: Циничная часть моего мозга говорит: «Ну, это же совершенно очевидно, что если есть меньше вещей, над которыми нужно работать, то нужно делать меньше работы». Верно.
Тенденция такова, что все целыми днями сидят в Slack, и лишь немногие занимаются реальной работой. Очевидно, что мы будем стремиться к минимальному дизайну.
ДЕВОН: Это делает дизайн более доступным для людей, которые не всегда владеют этим навыком в совершенстве. Я бы, кстати, отнес себя к этой категории. Я ни в коем случае не дизайнер, но я могу сделать что-то, что выглядит довольно хорошо по современным стандартам, потому что современные стандарты — это белая страница, довольно красивая типографика и все. Если это есть, то это считается стильной, красивой страницей.
ДЖОНАТАН: Когда я смотрю на iPhone, я замечаю, что мой мозг путается, и мне трудно сосредоточиться на чем-либо, потому что все эти округлые прямоугольники мешают распознаванию силуэтов. Вы просто видите все эти одинаковые силуэты, округлые прямоугольники.
ДЕВОН: Вы испытываете нечто подобное с видеоиграми, когда у вас в голове есть базовая концепция, но потом, когда вы ее создаете, вы понимаете: хм, те конкретные вещи, которые я создал, чтобы попытаться выразить эту концепцию, не совсем работают. Или есть что-то неудобное в эргономике, и тогда вы делаете итерации?
ДЖОНАТАН: Часто бывает так, что у меня есть идея, а потом я начинаю ее реализовывать, и эта идея по какой-то причине оказывается не такой хорошей, как я думал, верно. Потому что, когда у меня есть идея, вначале она очень общая.
Типа: «О, было бы здорово, если бы такая-то вещь…». И это не так, правильное создание вещей — это взаимодействие вещей, верно. Эта идея в моей голове, я могу как бы мысленно смоделировать, как она будет взаимодействовать с вещами, но особенно если это сложно, сложно и имеет много аспектов, я не очень хорошо могу это визуализировать. Я начинаю его делать, а потом смотрю, что получается, и оказывается, что это не так круто, как я думал.
Так что можно сделать одну вещь: да, просто итерации в сторону чего-то немного лучшего, а затем сделать это. Но довольно часто я этого не делаю. Довольно часто я просто говорю: «Ладно, это не то». Но я стараюсь узнать из этого цикла, что именно я не увидел заранее, и пытаюсь включить это в свой процесс, а затем просто начинаю процесс с самого начала. Потому что в итоге вы можете оказаться совсем в другом месте.
В The Witness есть головоломки, например, на маленьких панелях, где вы отправляетесь их решать. В самом начале игры я прошел ее за два-три часа. В нем некоторые символы имели немного разные значения, очень разные значения, и я подумал, что в принципе это очень здорово, но, кроме того, я сделал для этого все программирование. Я установил ее в игру, она была играбельна. Потом я подумал: о, да — эта штука играбельна сама по себе и, возможно, интересна, но потом она не… Теперь я вижу, что это существует, и это не связано с тем, что я хочу сделать в остальной части игры.
Мы все еще храним его где-то в системе контроля исходных текстов, и, возможно, когда-нибудь в будущем я выпущу его для развлечения.
Очень важно иметь самокритичный взгляд. Иногда я не так воспринимаю людей, когда резко критикую их.
Иногда люди делают поспешные выводы типа: «О, он хочет уничтожить людей или просто быть злым к ним» или что-то в этом роде. Нет, на самом деле это тот же взгляд, которым я смотрю на свою собственную работу, когда пытаюсь сделать ее как можно лучше. Вы просто пытаетесь ясно увидеть, что здесь есть, что не так и как это исправить.
ДЕВОН: Люди, не имеющие отношения к инженерной деятельности, часто понимают ее неправильно. Они не понимают, что существует множество различных компромиссов, на которые можно пойти, и поэтому в каждый момент времени приходится принимать очень творческие решения.
Когда вы строите мост или создаете программное обеспечение, существует огромное количество различных вариантов, которые могут взаимодействовать друг с другом. На каждом шагу вы делаете творческий выбор: «Что важно для меня? Что важно для человека, который будет этим пользоваться? Насколько мне это важно?» Это не очень ценится за пределами инженерной сферы, потому что люди смотрят со стороны и думают: «О, это просто объективная проблема. Просто постройте мост, чтобы люди могли по нему пройти».
ДЖОНАТАН: Большинство решений, которые я принимаю в программировании, — это эстетические решения. Потому что я много занимался программированием. Я делал все по-разному. Когда я сталкиваюсь с функциональными требованиями, например, «Эй, я работаю над этим компилятором. Я хочу сделать такую-то штуку, которая будет работать таким-то образом». ХОРОШО. На самом деле существует бесконечное число способов сделать это, верно. Эти способы оцениваются, они могут быть оценены по множеству различных параметров.
Люди пытаются аппроксимировать эти эстетические решения с помощью всевозможных книг или интернет-специалистов, которые расскажут вам, что такое хороший стиль программирования.
На самом деле, я думаю, что почти все они очень болезненны и ужасны. Но они хороши, если вы начинаете, буквально ничего не знаете и пытаетесь освоить вкус, тогда да. Я имею в виду, если то, что вы напечатали бы в противном случае, — это огромный ужасный беспорядок, тогда, возможно, начните с этих вещей. Я думаю, что людям важно пройти через них — и потому, что все эти правила о том, что такое хороший стиль программирования, имеют причины, почему это именно те правила, которые придумал конкретный человек. Что вы хотите сделать, так это усвоить эти правила.
Я думаю, что также существует определенное селективное давление, когда вы можете сказать, что некоторые простые правила — это те вещи, которые эффективно передают информацию.
Нужно уметь принимать свежие решения, используя не просто правила, которым вас кто-то научил роботизированно, а используя чувство дизайна, настроенное на текущее время и место.
Быть живым дизайнером — значит распознавать этот контекст и реагировать на него соответствующим образом. Быть мертвым дизайнером — это значит: «Я просто делаю то, чему меня научили, и вот, пожалуйста». А если вам это не нравится? Отлично.
ДЕВОН: Я думаю, что еще один аспект — я бы сказал, давать хорошие советы или учиться на принципах, которые передают люди, — это осознание того, что многие принципы очень направленные. Так что речь идет о том, какие ошибки этот человек скорее всего совершит, чем нет?
Например, я очень скуп на деньги, до такой степени, что сам себя делаю несчастным. Поэтому советы, которые большинство людей дают другим людям, а именно: ведите бюджет, следите за тем, чтобы не тратить деньги впустую, — для меня совершенно бесполезны. На самом деле, мне нужно услышать противоположный совет. Это тот совет, который мне нужно услышать, но это не тот совет, который нужно услышать большинству людей, я думаю.
Ранее вы говорили о том, как менялась структура команд с течением времени. И одна из вещей, с которой экспериментируют многие компании, — это плоская структура без менеджеров. Как вы формируете свою команду для той работы, которой вы занимаетесь?
ДЖОНАТАН: Мы достаточно малы, и нам не нужно быть очень иерархичными. Сейчас в компании около 12 человек, что действительно недостаточно для того, чтобы делать то, что мы делаем. Но, опять же, я предпочитаю недокорректировать количество людей, чем перекорректировать. Потому что есть такая петля обратной связи, когда вы нанимаете больше людей, а это значит, что вам нужно еще больше людей, и становится сложнее выжить.
Что касается программирования, то я просто руковожу им. Но мы также нанимаем людей, которые по большей части руководят собой сами и не требуют микроменеджмента, в том числе и потому, что я хочу по-прежнему заниматься дизайном, программированием и всем остальным.
Я не хочу постоянно присутствовать на различных совещаниях и говорить людям о том, что они должны делать. И это даже немного плохо, потому что иногда я не знаю о некоторых вещах, которые происходят, а потом расстраиваюсь, что они произошли. Но по большей части это удается сделать так, что мы не отвлекаемся от нюансов того, что пытаемся сделать. Один из других программистов отвечал за разработку графического движка для новой игры.
Время от времени я заговариваю с ним об этом. Но по большей части я просто доверяю ему. И вы знаете, он работает с несколькими другими людьми над этим с художественной стороны. У нас есть руководитель художественной группы, с которой, опять же, я время от времени общаюсь, и мы как бы мысленно представляем себе, что именно мы хотим сделать и как мы собираемся это сделать. Но я даже не знаю таких подробностей процесса, как то, что вы делаете в инструменте 3D-моделирования.
Я отделен от этого процесса на определенном уровне. Мы просто идем вперед, но не… В более крупной компании есть очень четко выраженные уровни управления на нескольких иерархических уровнях и т.д. И я думаю, что если бы мы были крупнее, это было бы лучше, чем пытаться сделать плоскую структуру. Ни одна успешная армия в мировой истории не была плоской. И вы должны задуматься об этом.
ДЕВОН: Абсолютно. Я думаю, что плоская система может работать как лучше, так и хуже. Например, я недавно много читал об организации пиратских кораблей.
У них были капитан и квартермейстер, которые обладали большей властью, но они избирались демократическим путем. И если они делали что-то, что им не нравилось, пиратская команда могла сместить их и поставить на их место кого-то другого, и они часто так делали. Но когда они находились в бою, было исключение.
Если они оказывались в бою, то капитан вдруг становился абсолютно главным. То, что он говорил вам делать, вы должны были делать несмотря ни на что, потому что вам приходилось действовать в очень сжатые сроки, когда не было времени на разногласия. Вы просто должны двигаться, потому что иначе вы все умрете, попадете в тюрьму или будете повешены. И поэтому я думаю, что интересно также подумать о том, в какие моменты различные типы структур могут работать лучше для одних проблем и хуже для других.
ДЖОНАТАН: Итак, в моем воображении пиратский корабль — это, вероятно, просто множество пробормотанных союзов в процессе принятия решений… Вероятно, между отдельными людьми очень быстро возникнут политические разногласия.
В игровой индустрии есть одна или две компании, которые известны тем, что они как бы плоские. И на самом деле это не так, у них действительно есть высшее руководство в том смысле, о котором вы говорите, что они не могут быть выброшены на берег, что очень интересно. Идея плоской структуры заключается в том, что никто не может… Если у вас есть лучшая идея о том, как сделать этот конкретный проект, вы можете конкурировать с ней внутри компании и сделать свою лучшую идею. И тогда появляется лучшая идея, верно? Или вы можете решить, что делать. Однако в реальности нужно, чтобы люди были на одной волне.
Для реализации масштабных проектов, требующих координации действий между людьми, необходим консенсус, а что происходит в противном случае. Если у вас есть кто-то, кто просто говорит: «Смотрите, вот что вы делаете». Вы можете ворчать и не соглашаться, но вы, по крайней мере, знаете, что делают все. Если этого нет сверху донизу, то в итоге получается, что многие люди занимаются политикой друг с другом.
Есть такой способ, когда вы думаете: «О, мы собираемся быть плоскими, чтобы избежать этой ситуации, когда вы политизируете менеджера и пытаетесь быть любимчиком менеджера и получать все хорошие прибавки и прочее». Но, судя по тому, что я слышал от людей, работавших в подобных компаниях, на самом деле это только усугубляет политическую ситуацию, потому что теперь вам приходится политиковать со всеми, а не с одним человеком, верно? Это просто n-квадратное число политических связей.
ДЕВОН: И каждый может заблокировать что-то, а вы должны убедить их всех.
Я думаю, что во многом этот инстинкт возникает из-за того, что люди хотят чувствовать себя равными друг другу — я уважаю этот инстинкт и сам его чувствую. Но мне кажется, что в компании этот инстинкт немного неуместен. Это имеет смысл для страны или общества, потому что вы не можете выбрать всех. Но в компании вы можете сделать выбор и уйти. Если вам не нравится, как она управляется, вы можете уйти в другую компанию. И поэтому мне кажется, что эти правила должны быть другими.
В компании вы строите ее так, как, по мнению того, кто ее создал, она будет работать наиболее эффективно. И если вы считаете, что у вас есть лучшая система, вы можете уйти и основать другую компанию, которая сможет либо превзойти их, либо просто заняться чем-то другим.
ДЖОНАТАН: Я согласен с этим. Контекст имеет значение. Верно? Есть большая разница, если вы родились в ситуации, и у вас не так уж много …., если в условиях высокой энергетики выйти из нее будет очень сложно. В отличие от Калифорнии, если вы работаете программистом в компании, то очень легко найти работу в другой компании. И на самом деле люди так и делают.
Люди считают, что хорошая карьерная лестница — это менять компании каждые пару лет. Я просто не думаю, что это хорошая идея, если вы действительно хотите быть хорошим специалистом.
Потому что вы никогда не погружаетесь в глубокое понимание конкретной вещи, а это очень ценно.
ДЕВОН: Вы затронули вопрос о том, что вы предпочитаете нанимать меньше, а не больше. Если вы выбираете одно или другое, то предпочитаете нанимать меньше. Похоже, что в крупных технологических компаниях существует прямо противоположное стремление: все те, кого я видел, нанимают, на мой взгляд, слишком быстро. И в результате это размывает тот контекст, который есть у людей. Как Вы думаете, почему крупные компании так поступают?
ДЖОНАТАН: У отдельных менеджеров есть стимул развивать свою маленькую вотчину.
Можно подумать, что при масштабах компании ее цель — быть эффективной. Но она состоит из всех этих отдельных клеток, и эти клетки хотят съесть как можно больше средств внутри компании. Или этот менеджер хочет получить повышение. И если вы управляете 100 людьми, это гораздо более впечатляюще, чем управление 12 людьми. Таким образом, есть все эти стимулы, которые подталкивают к разрастанию. Но чем больше людей работает над проектом, тем больше знаний распространяется.
Чем меньшую часть целого знает каждый отдельный человек, тем менее прочным является его понимание. Возникает петля обратной связи, когда теперь все строится с ухудшенным пониманием, и поэтому все становится еще хуже, верно? Со временем все становится еще хуже.
Поскольку ситуация становится все хуже и хуже, А) ее становится все труднее и труднее понять и Б) возникает все больше пожаров, с которыми приходится бороться. Вам нужны люди, которые постоянно тушат пожары. А когда компании становятся больше, им необходимо сохранять форму. Им нужна более жесткая структура, чтобы люди понимали, что происходит, и компания могла успешно управляться. Таким образом, процесс становится все более важным, верно? Хорошо, как вы подаете жалобу? Что это за процесс? В большой компании он может быть довольно сложным.
Или как установить контакт с другой группой в компании для выполнения определенных видов … Я не знаю… В каждой компании есть много таких вещей. Чем больше у вас процессов, тем больше времени люди тратят на их выполнение. И тем меньше они тратят времени на выход, где… таких вещей много, очень много. И это одна из причин, по которой крупные компании меня не привлекают. С другой стороны, вам вроде как нужны люди для выполнения некоторых видов работ. Когда я думаю о том, что я хочу сделать перед смертью, возможно, я хочу попытаться сделать что-то более масштабное. Если я когда-нибудь пойму, что именно это такое, я, возможно, решусь что-нибудь вырастить. Но пока я этого не делаю.
Иногда, как в случае с Google или Facebook, вы находите абсолютно огромный резервуар и можете выкачивать оттуда деньги с очень высокой скоростью. И тогда почему бы вам не расти? Потому что эти деньги просто приходят к вам.
Таким образом, возникает экономический режим, который не является тем экономическим режимом, о котором мы привыкли думать, когда эффективность производства имеет значение. Google и Facebook не так уж и озабочены, очевидно, тем, сколько инженеров требуется для выполнения той или иной задачи, потому что у них просто есть эта денежная масса. Верно? В какой-то момент, я думаю, в более отдаленном будущем, когда многие низко висящие фрукты исчезнут и компьютеры будут применяться ко всему, о чем мы только можем подумать, тогда, возможно, мы вернемся в более нормальную экономическую систему с этими компаниями, где качество имеет значение и все эти вещи. Но сейчас этого просто нет.
ДЕВОН: В создании видеоигры участвует множество различных вещей. Я не буду перечислять их все, но вы знаете, деньги — это одна из них, люди, которые понимают проблему, художественное мастерство, список можно продолжать и продолжать. Что из этого или из того, что я не перечислил, является ограничивающим фактором для того, над чем вы сейчас работаете?
ДЖОНАТАН: Трудно нанять хороших людей для работы. Думаю, все с этим согласны. Поэтому нам на самом деле сложнее нанимать людей, чем хотелось бы.
Отчасти это связано с тем, что мы по какой-то причине все еще находимся в Калифорнии. Нам приходится конкурировать с такими компаниями, как Google и Facebook, которым неважно, платят ли они инженеру 500 тыс. долл. в год. Поэтому они делают это для людей. Google платит людям 500 тыс. долл. в год, которых мы даже не смогли бы нанять, потому что они не делают достаточно много.
Это затрудняет прием на работу, потому что, если ты можешь заработать такие деньги там, не делая ничего особенного, зачем тебе работать в этой игровой компании? Ответ: потому что вы на самом деле считаете, что это другое дело более значимо или более интересно, и вас не мотивирует прибыль.
Поскольку мы маленькие и не так часто выпускаем игры, мы чаще всего не на слуху. Если кто-то говорит: «Я хочу работать в сфере игр, о каких игровых компаниях я должен думать?» Они думают о более крупных компаниях, которые представлены повсюду. Для нас это просто сложно. Но мы справляемся. За последние полтора года мы наняли несколько очень хороших людей, и, надеюсь, эта тенденция сохранится.
Умение хорошо нанимать людей — это навык. И мы, на самом деле, не очень старались развить этот навык. Поэтому сейчас мы как компания не очень хороши в этом.
Если бы мы были более крупной компанией, я мог бы оправдать найм HR-отдела. Тогда это их работа — искать людей. Надеюсь, что вы хорошо справитесь с наймом своего первого HR-специалиста или кого-либо еще, но у нас не такой большой рост, чтобы мы могли оправдать наем человека, для которого это было бы полной обязанностью.
В некотором смысле, есть вещи, которые становятся проще, когда компания становится больше, потому что в какой-то момент ты просто смиряешься с тем, что говоришь: «Мы используем промышленную линию производства Model T для этой конкретной вещи. Мы просто нанимаем хороших программистов, сейчас мы не нанимаем…» Сейчас нам нужны люди, которые могут делать конкретные вещи, очень конкретные вещи для пары проектов, над которыми мы работаем.
ДЕВОН: Мне не совсем понятно, что наем HR-специалиста, даже если бы вы могли нанять его бесплатно и не тратить на это деньги, обязательно решил бы вашу проблему.
Потому что тот, кто занимается HR, скорее всего, не понимает, что нужно для создания видеоигры, причем именно так, как это делаете вы. И поэтому они могут просто не найти нужных людей. Я обнаружил это даже на относительно простых вакансиях в области веб-разработки, технических вакансиях в прошлых компаниях — рекрутеры как бы не знают, как это выглядит. Потом они видят, что они учились в Карнеги-Меллон. Наверное, они хороши. И на этом все.
Я думаю, что это сводится к проблеме стимулов. Думаю, если бы вы спросили руководство большинства этих компаний, они бы согласились с вами и сказали: «Да, мы хотим находить лучших людей. Даже если они не ходили в колледж». А может быть, даже скорее всего — во многих из них руководство часто бросало учебу, чтобы основать свои компании. Я думаю, что проблема в том, что когда у вас есть рекрутер, есть возможность правдоподобного отрицания. Типа: «Если я нанял их в Стэнфорде, что ж…».
Никто не уволит вас за то, что вы наняли выпускника Стэнфорда.
ДЕВОН: Точно. «О, не получилось? Что ж, это сюрприз».
В отличие от того, если вы возьмете на работу 16-летнего подростка, который блестяще справляется со своими обязанностями, и в итоге у него возникнут какие-то проблемы, то все будут спрашивать: «А кто нанял этого человека?».
Поэтому я думаю, что по мере роста компании вы все чаще попадаете в такие ловушки, а если у вас небольшая компания, то руководство может просто принимать такие решения и говорить: «Эй, знаете что? Этот 16-летний подросток гениален и умеет делать то, чего не умеет никто из моих знакомых». Так что решайте некоторые из этих проблем.
Если бы у вас действительно был конвейер удивительно талантливых людей, и вы имели бы их бесконечное количество, и они просто приходили бы к вам, то каким бы стало ваше узкое место? Если бы вы могли бесконечно клонировать себя, а затем каким-то образом присоединить свой мозг, чтобы все разные клоны использовали один и тот же «ум в улье». По сути, вы просто расширяете объем работы, которую можете выполнить каждый из вас. Что бы вы построили?
ДЖОНАТАН: Довольно странно, над чем я сейчас работаю. Я занимаюсь дизайном игр, а потом, со временем, мне становится все интереснее и интереснее, насколько беспорядочной, по моим наблюдениям, стала компьютерная техника в целом. И вот, одно из выступлений, которое я хочу сделать, возможно, я сделаю это на каком-нибудь мероприятии, если такие мероприятия снова начнут проводиться. Я пытаюсь донести до людей мысль о том, что то, чем программисты занимаются большую часть времени, — это пустая трата времени.
В основном это работа со сложностями, которые там не нужны, либо сложности, созданные их собственной компанией в их собственном продукте, потому что они наняли кучу людей, которые недостаточно хорошо координировали свои действия — все знают эту историю.
Программисты имеют дело с базовой вычислительной структурой, которая представляет собой огромный беспорядок, заставляющий вас работать гораздо больше, чем нужно, для выполнения простых вещей.
И на самом деле, то, что раньше люди воспринимали как должное, теперь становится довольно сложным, и это проблема.
Программисты в среднем становятся все более неэффективными. Есть небольшие группы программистов, которые работают очень продуктивно. Я думаю, что если вы можете работать над своим собственным кодом в изолированной среде, вы можете быть очень продуктивны. Но как только вы попадаете в большую команду, которая имеет дело с операционной системой, веб-браузером и какими-то невидимыми маршрутизаторами в Интернете, которые ведут себя очень странно, и вы даже не можете их увидеть, — все быстро становится очень запутанным.
Я общаюсь со многими молодыми программистами, особенно потому, что я провожу стримы, я провожу прямые трансляции, где я программирую и все такое. Программисты часто находятся в депрессии. И я это понимаю, потому что сам часто бывал в депрессии, когда программировал. Это очень легко происходит, когда вы чувствуете, что большая часть того, что вы делаете весь день, — это просто мусор, и вы, вероятно, будете чувствовать себя так, если вы хоть в какой-то степени занимаетесь самоанализом.
Если вы целыми днями бьетесь головой о кирпичную стену, но в конце концов вам удается что-то сделать, а через две недели все рушится, вы будете несчастны.
Поэтому я думаю, что если бы у меня была бесконечная возможность выполнять работу прямо сейчас, бесконечная пропускная способность, я бы попытался это сделать. Я бы попытался сделать более простую версию всех вычислений, которая была бы такой же способной, как и то, что мы имеем сегодня. На самом деле она была бы более способной, потому что она была бы быстрее, в ней было бы на порядок меньше ошибок, по крайней мере, и она была бы проще для понимания людьми, проще для работы с ней и все такое.
ДЕВОН: Я понимаю, что вы имеете в виду, говоря о депрессии. У меня она проявлялась в виде чувства вины.
На своей первой работе в качестве профессионального инженера-программиста я помню, как чувствовал себя очень виноватым за то, что я не был более продуктивным, а они платили мне все эти деньги. А я тратил все свое время на исправление конфигурации Webpack или что-то в этом роде, даже не создавая что-то новое, просто каким-то образом сборка ломалась. Мне казалось, что я не справляюсь со своей работой. Я не делаю того, для чего я здесь. И только после того, как я поработал еще на нескольких должностях, связанных с программным обеспечением, я понял, что это состояние многих систем. Дело не только во мне.
ДЖОНАТАН: Многие вещи практически не работают, потому что за кулисами постоянно находятся люди, которые занимаются этими вещами. И это просто нехорошо.
Типа, смотрите, мы могли бы быть гораздо более продуктивными, если бы просто прекратили это. Но дело в том, что это действительно так. Это очень большая, сложная система. Ее не очень легко изменить. Однако такие вещи, как экономика, сложны, потому что они связаны с личными решениями, которые люди принимают каждый день, и вы не знаете этих людей, не знаете, что они собираются делать, и даже не знаете себя. Повеселитесь, разрабатывая это.
Компьютеры были разработаны людьми. Кто-то, где-то, знает, как все это работает. Но доля людей, которые понимают, как работает та или иная деталь, со временем уменьшается. И это, в общем-то, опасно.
Это создано нами, и мы можем сделать это лучше. Люди могут по-разному оправдывать существующее положение вещей. Я думаю, что в этом есть некий командный аспект. Мне все больше кажется, что это отношение к тому, что эти вещи были сделаны, это как пирамиды в Египте, где они были сделаны праотцами, и кто ты такой, чтобы говорить, что их нужно изменить? А вы должны просто жить в этих сооружениях, которые были созданы предыдущими поколениями, потому что они были умнее вас или что-то в этом роде. Я иногда слышу такую фразу: «Веб-браузер был создан людьми, которые были умнее меня», — это кто-то сказал мне в споре в Интернете.
Это страшно. Как только программирование становится, мы живем в этих структурах, созданных будущими поколениями, которые мы уже не в состоянии построить, — это цивилизация в упадке. Вот и все. Или, по крайней мере, это цивилизация, которая прошла дни своей славы и больше не может делать такие вещи.
Может быть, он мог бы оставаться в устойчивом состоянии при каком-то более низком уровне энергии, но в истории такого не случалось, все в конце концов просто снижается.
ДЕВОН: Вещи ломаются.
ДЖОНАТАН: Да! Все ломается, особенно высокотехнологичное общество, если его не поддерживать. Так что, если обратиться к краху бронзового века и некоторым другим известным историческим крахам общества, то получается, что есть люди, которые в некотором роде уже пережили дни своей славы, и они думают, что у них все в порядке.
Затем происходит некий экологический шок. Или на них нападает некто неожиданный, о существовании которого они не подозревали, или происходит и то, и другое сразу. Тогда общество испытывает стресс, которого оно не ожидало. И оно оказывается неспособным эффективно реагировать. Все идет не так, как хотелось бы. Очень немногие вещи вызывают у меня настоящий гнев, но такие вещи вызывают. Когда люди оправдывают посредственность, это, на мой взгляд, ведет к упадку. Меня это злит, потому что ставки очень высоки, но большинство людей, похоже, не согласны со мной в том, что ставки настолько высоки.
ДЕВОН: Вы затронули идею о том, что нужно делать вещи достаточно простыми, чтобы другие люди могли их понять, а если вы делаете их невероятно сложными, то их гораздо труднее передать по наследству.
Это напомнило мне о том, как в старших классах школы я занимался старыми автомобилями. И одна из вещей, которая мне нравилась в старых Mustang, — это то, что они оставляли пространство вокруг двигателя немного больше, чтобы можно было просунуть руки, испачкаться и разобраться во всем. В то время как в iPhone все настолько плотно упаковано, что нужно точно знать, что делаешь, иначе можно что-нибудь сломать.
Что мы могли бы сделать в программном обеспечении, чтобы оставить немного больше места в моторном отсеке, что помогло бы будущим поколениям поддерживать программное обеспечение или развивать его в хорошем направлении?
ДЖОНАТАН: То, что я обнаружил, например, с компилятором, потому что это именно то, к чему я больше всего подхожу с таким отношением к передаче знаний по ходу работы, потому что если я хочу, чтобы это был успешный язык программирования, то в какой-то момент за это должен отвечать кто-то другой.
При работе над ним я обнаружил, что набор возможностей языка несколько амбициозен, и это делает некоторые вещи действительно трудновыполнимыми. Иногда они просто очень сложные и пугающие. И я возвращаюсь к ним позже, например, через месяц после того, как я что-то написал. Иногда я возвращаюсь к ней и думаю: «Я не только не понимаю, что это делает, но и испытываю чувство замирания, когда знаю, что пойду и посмотрю на это — потому что я знаю, что это будет непонятно, и у меня нет уверенности, что это действительно работает, и все такое прочее. И если это случится со мной через пару месяцев, то какая у меня надежда на то, что кто-то другой будет иметь такой же уровень понимания. В том-то и дело, что для этого должна быть очень высокая планка.
Я работаю над этим компилятором уже семь лет. И до сих пор не выпустил его. И это на самом деле неслыханно.
У меня был работающий компилятор, который в 2014 году показал очень красивую демонстрацию, она есть на YouTube. Люди могли его увидеть. Типичным решением в то время было бы выпустить его, чтобы люди использовали его в раннем состоянии, а затем просто развивать его с течением времени. Но я заметил, что этот процесс привел к большому количеству беспорядка. И я чувствую: «Ладно, в конце концов, я выпущу его. Но чем больше я сейчас работаю над тем, чтобы сделать эту вещь лучше, тем больше боли я в итоге сберегу.
Мы действительно делаем неслыханные вещи, например, у нас есть очень сложная игра коммерческого качества, которая работает на этом языке программирования, графический движок, который выполняет большой объем работы для каждого визуализируемого кадра, и все эти вещи. Это не похоже на «hello world», который люди… иногда люди тестируют, они собирают свой компилятор в своем компиляторе и чувствуют себя очень хорошо от этого. Но я не знаю, мне кажется, что это не очень хороший тест.
Так или иначе, я обнаружил, что для меня очень показательно в некотором смысле, который трудно передать, видеть разницу между тем, что было моей лучшей попыткой сделать какую-то функциональность в первый раз, и тем, что получилось в пятый раз, и видеть разницу между этими вещами. С одной стороны, я думаю, что к тому времени, когда у меня будет пятая версия, она станет намного проще. Обычно она быстрее. Она обычно более надежна и будет лучше доноситься до будущих людей, потому что у меня уже есть опыт. Когда начинаешь проект, я не являюсь экспертом в этой конкретной системе. Я мало что о ней знаю.
Я должен накопить опыт, и решения, которые я принимаю на ранних этапах, не всегда будут оптимальными. На самом деле, они будут далеки от оптимальных, потому что эти решения принимаются человеком, который не очень хорошо разбирается в том, что делает, в то время как решения, принятые позже, будут гораздо лучше.
Я пытаюсь сказать, что эта как бы простота использования, эта мифическая простота использования и продуктивность, о которой говорят люди, — я видел, что она достижима, по крайней мере, в малых и средних масштабах, но она не похожа на то, что люди о ней думают.
ДЕВОН: Вы используете Jai в очень серьезном контексте. Мне это немного напоминает то, как Pixar разработала Presto — свое программное обеспечение для анимации.
Я думаю, что Pixar изначально создавала Presto, чтобы продать его. А потом они сказали: «Ну, может быть, нам стоит снять фильм с помощью этой штуки, чтобы убедиться, что она действительно помогает нам снимать кино». В итоге они стали одной из самых известных киностудий в мире и продолжили разработку. Я думаю, что она и сегодня находится в стадии разработки и развивается вместе с фильмами. Каждый раз они говорят: «Знаете что, мы очень хотим иметь возможность делать по-настоящему реалистичные шотландские волосы. Как нам это сделать?»
Вероятно, когда они только начинали писать программу, они не думали, что им понадобится это делать. А вот реальное применение нашлось. В сообществе разработчиков программного обеспечения я часто сталкиваюсь с проблемой того, что многие разработчики ориентированы на демонстрацию, то есть на то, как мы можем сделать классную игрушку, например, список дел, который будет очень хорошо работать на экране, выглядеть очень круто и легко создаваться. И если вы создаете список дел, то это здорово. И он действительно может решить эту проблему очень хорошо. Но это не говорит вам о том, будет ли он масштабироваться.
ДЖОНАТАН: Дело в сложности того, что вы пытаетесь сделать с его помощью. Не так уж сложно сделать что-то, что хорошо работает для решения игрушечных задач.
ДЕВОН: Совершенно верно, и это, на мой взгляд, также является основной проблемой обзоров инструментов в целом.
Каждый раз, когда вы задаете вопрос «Какое лучшее приложение для ведения заметок» или что-то в этом роде, я не знаю. Кто-то говорит: «Я перепробовал все приложения для заметок, и это — лучшее». Если вы перепробовали столько приложений, то, скорее всего, вы ими не пользуетесь. Я думаю, что понять, насколько хорошо то или иное приложение, можно только после того, как вы используете его в течение 10 лет.
Я не знаю, как решить эту проблему, потому что иногда нужно время, а иногда его просто нет. Вам нужно принять решение, но это становится сложной задачей.
ДЖОНАТАН: Это странно, потому что я говорил, что делаю это в таких играх, как The Witness, где мы не видим, как все происходит на самом деле.
Мы должны априори разработать что-то, что будет хорошо, когда люди будут в это играть. Всегда есть небольшое рассогласование между тем, что вы думаете, что это будет, и тем, что происходит в реальности. Я обнаружил, что с такими вещами, как правило, я могу, на данный момент, с тем количеством опыта, которое у меня есть, я обычно могу сделать это довольно близко. В то время как в начале, когда я только начинал делать игры, а это было в 90-х годах, я не мог этого сделать. Мой мозг не работал таким образом. Поэтому я как-то впитал это, делая кучу игр.
ДЕВОН: Есть ли какие-то эвристики, которые Вы могли бы сформулировать и которые направили Вас в лучшую сторону?
ДЖОНАТАН: Вы начинаете с идеи создания игры, а затем изучаете последствия этих идей. И как вы это делаете?
Вы находитесь в этом многомерном пространстве, где есть все эти направления, вы могли бы начать с одного и затем просто продолжать бурить в каком-то направлении. Но проблема в том, что вы будете вечно погружаться во все более и более мелкие вещи. Поэтому нужно провести некоторую границу, где будет указано — детали определенного размера, и мы хотим убедиться, что внутри этой границы есть все, что имеет такой размер. Так, например, те пазлы, о которых я уже говорил, которые я вырезал из свидетеля, я мог вырезать по той причине, что они как бы выступали. Он вносил несоответствие, как я уже говорил, или вы могли бы отмахнуться от него, но он как бы был… но также он не имел решающего значения для того, что стало ясно, было своего рода центром тяжести игры. Он как бы торчал в стороне. И мы подумали, что да, эта часть нам не нужна. В то время как если вырезать середину, это будет очень плохо.
ДЕВОН: Это действительно интересный образ n-мерного объекта, в котором есть как бы центр масс, где сгруппировано множество вещей. Если вещи выходят слишком далеко за пределы этой границы, вы должны подумать о том, чтобы сказать: ну, если это действительно круто, может быть, я расширю то, что должно быть в этом центре масс, и как бы сделаю все вещи в этом внешнем кольце.
Я часто чувствую себя так, когда пишу эссе.
Где каждое эссе, которое вы пишете, имеет бесконечное количество смежных вещей, о которых вы могли бы говорить, которые также интересны. И для того, чтобы безжалостно вычеркивать то, что не является главным в том, что вы пытаетесь сказать, требуется большой самоконтроль, которого у меня нет. Я думаю, что одним из способов освобождения, который используют люди, являются сноски: «Я должен поговорить об этом, хотя я знаю, что мне не следовало включать это в эссе». И вот, вы помещаете это в сноску, и это как бы дает лучшее из двух миров.
Существует ли эквивалент сноски в видеоигре?
ДЖОНАТАН: В головоломках мне нравится делать так, чтобы можно было предусмотреть разные уровни вовлеченности, верно? Так, в книге вы можете читать сноски, можете пропускать сноски. Если вы относитесь к книге с большим энтузиазмом и хотите прочитать все до единой сноски, это прекрасно.
Так, в случае с The Witness мы говорили: «Хорошо, мы хотим завершить игру на том уровне, который вас устраивает, если вы получаете удовольствие от игры, но вы не чувствуете себя особенно завершенным. И вы не чувствуете особого любопытства по поводу того, что вы заметили. И если вам надоела эта игра, то вот точка выхода. А вот вещи после этого — а также просто вещи в мире, которые, возможно, придется искать немного сложнее, — они могут быть более сложными, потому что они очень необязательны.
Итак, проблема, с которой сталкивались игры в более ранние десятилетия, заключалась в том, что они, как правило, были очень линейными по своей структуре, и если это была головоломка, то это означало, что если вы не смогли решить определенную головоломку, то после нее вы не сможете перейти к остальным частям игры. Это очень расстраивает.
Это привело к тому, что головоломки стали в некотором роде ненастоящими, потому что они стали звучать так: «Слушайте, мы просто не можем бросить людей в середине игры. Они будут очень злиться. Поэтому мы просто должны сделать головоломки настолько простыми, чтобы ни у кого не возникло с ними проблем».
Но ведь это не совсем головоломка, если вы не можете ее разгадать, верно? Если вы гарантированно разгадаете ее, то она, вероятно, не так уж интересна.
ДЕВОН: Итак, одна из причин, по которой вы можете делать это в видеоиграх, заключается в том, что они представляют собой пространственный мир. Люди принимают решения на протяжении всего действия, в отличие от фильма или книги, которые очень последовательны и в большей степени направляются автором. Какие вещи, благодаря тому, что видеоигры являются пространственной средой, открываются с точки зрения дизайна?
ДЖОНАТАН: Вы как бы говорите о том… что я делаю в отличие от того, что делает автор? Я пытаюсь найти, что может сделать этот носитель и какие вещи в нем работают.
Некоторые вещи о видеоиграх я не могу сказать. Игры, как правило, делают что-то вроде того, что помещают вас внутрь системы. Скажем, у вас есть веб-сайт, на нем есть графики, например, как вы справитесь с COVID, и у вас есть бюджет, который вы можете тратить, и вы можете тестировать людей время от времени, или иметь определенную политику и т.д. И вы можете двигать ползунки и видеть, как графики поднимаются и опускаются, и пытаться получить какой-то, возможно, слишком упрощенный код, который выполняется, чтобы попытаться определить результат. Если вы крутите эти циферблаты и наблюдаете за результатами, то вы стоите вне этого. И тогда вы должны каким-то образом построить в своем воображении, как это было бы, какова вся эта система, которую вы видите только крошечными частями.
Игры непрерывны и хороши в итерациях с различными начальными условиями и просто потому, что вы действуете так, что вам небезразлично ваше решение и вы видите его последствия. Это совсем не то же самое, что крутить ползунок на веб-странице. Это вроде бы одно и то же, но на самом деле это совершенно разные вещи.
Я очень верю в то, что если мы хотим донести до людей сложные вещи, то игры — это хороший способ сделать это.
Но такая игра, если мы будем следовать этому направлению исследований, вероятно, приведет к тому, что мы получим нечто, сильно отличающееся от того, что мы имеем в настоящее время, от того, что представляет собой большинство игр. И это большая способность или большой … колодец неиспользованного потенциала, с которым было бы здорово поиграть.
ДЕВОН: Я читал, что одна из игр, над которой Вы работаете, выйдет в виде эпизодической части, а на создание полной серии может уйти до 20 лет. Не могли бы Вы рассказать об этом подробнее?
ДЖОНАТАН: Итак, прототип для этой игры я сделал — пока работал над The Witness — потому что просто трудно работать над большим проектом в течение многих лет. Я считаю, что хорошо иметь небольшой побочный проект, к которому не нужно относиться очень серьезно, потому что мы не пытаемся довести его до конца.
Многие люди говорят: «Я хожу на работу, а после нее иду в бар, тусуюсь и пью пиво». А я на самом деле так не делаю. Я хожу на танцы, но я программирую как способ развлечься. Так что это был мой побочный веселый проект, и в итоге получилась очень хорошая игра. И я захотел ее сделать.
На самом деле, я начал разрабатывать эту игру примерно в 2013 году, но долгое время она была как бы на втором плане. Эстетика, о которой я говорил вам раньше, — исследование пространства идей — может быть разной.
Braid делает это в меньшем масштабе. Braid — это своего рода жесткая параллельная структура, в которой есть некоторое количество миров. В каждом мире есть одинаковое количество головоломок. Таким образом, они имеют примерно равный вес по важности.
А вот в The Witnesses, например, в некоторых местах больше головоломок, а в некоторых — меньше, и она более растянутая и не такая плотная, но это нормально, потому что она просто делает что-то другое.
Эта новая игра посвящена разработке комбинаторного взрыва, поэтому в ней гораздо больше взаимодействий между правилами. К тому времени, когда вы закончите игру Braid или The Witness, вы сможете написать все правила. И если вы напишете их для этой игры, то это будет намного больше, чем для любой из этих игр, если вы напишете их все.
Эта часть минутного игрового процесса действительно интересна. Но я могу представить себе и другие похожие вещи, которые представляют собой другое занятие, но могут каким-то образом вписаться в одну вселенную, верно? Вы можете выпустить одну игру, похожую на эту. В игре есть разные персонажи. На самом деле это не головоломка, но в ней есть немного отголосков головоломки. То есть есть объекты, которые вы узнаете, изучаете их поведение, а затем используете это понимание поведения для того, чтобы сделать то, что вы хотите сделать. До тех пор, пока вы не сможете расширить вселенную, чтобы иметь больше таких объектов, верно? Или больше видов мест, где это поведение может происходить.
Я хотел сделать это так, как автор фэнтези или научной фантастики пишет 27 романов в одной и той же вселенной и расширяет ее. И это показалось мне очень сложным и интересным, потому что это было бы место, которое еще никто не делал.
ДЕВОН: Это как правила, которые связаны друг с другом, но они не все одинаковы, как, например, книги » Игра Эндера», все они имеют схожий стиль и схожий тип мира. Но вы не говорите, что это одни и те же персонажи или одни и те же объекты, а скорее правила, которые как бы объединяются в одну категорию.
ДЖОНАТАН: Я бы хотел, чтобы эти вещи взаимодействовали на каком-то уровне, но при этом оставались как бы независимыми. Например, Земля и Луна вращаются друг вокруг друга, но это разные тела. И на Земле можно делать то, чего нельзя делать на Луне — например, дышать. На Луне вы можете прыгать гораздо выше.
ДЕВОН: О, это интересно. Итак, вы думаете об этом как о физике, не о физике, потому что физика одинакова на Земле и Луне, но основные факты, такие как гравитационное притяжение, были бы чем-то вроде набора правил.
В какой-то момент вы затронули идею создания эскиза игры, а как выглядит реальный прототип игры? Например, тот, который вы создаете, или The Witness, это буквально набросок или это метафора?
ДЖОНАТАН: Итак, в игровой индустрии существует идея прототипирования. Раньше это считалось хорошей идеей — возможно, так оно и есть, потому что игры сложны, и трудно понять, что они из себя представляют, как я уже говорил. Поэтому вы делаете что-то простое, что позволяет вам понять, с чем вы имеете дело.
Раньше я думал, что это хорошо, но на самом деле я больше не нахожу себя именно в создании прототипов. Обычно я нахожу, что могу бросить начальный дротик достаточно близко к цели, которая может просто стать вещью. Так я и поступил.
Итак, Braid был играбельной игрой с первой недели, и существует прямая преемственность от нее до финальной версии, которая была отправлена. Как будто не было отдельного прототипа или чего-то еще. Она просто втянулась в игру, и то же самое можно сказать о The Witness.
Так что я не знаю. Хотя этот начальный период разработки немного похож на прототип, в том смысле, что там очень мало, приходится принимать более резкие решения, решения стоят меньше, вы не пытаетесь достичь какой-то планки качества или просто пытаетесь впихнуть туда что-то. Это больше похоже на то, как если бы вы разрабатывали набросок книги в окончательный вариант или что-то в этом роде.
В те времена, когда я начинал программировать игры, мы очень старались рисовать 3D, и у вас не было графических ускорителей, которые могли бы это сделать, или были ранние. Вы строили весь свой движок в зависимости от скорости процессора, а скорость совершенствования компьютеров тогда была гораздо выше, чем сейчас. Так что два года спустя принятые вами конструкторские решения уже не были объективно правильными, чтобы иметь быстрый движок. Или если вы рендерите меньшее количество больших треугольников, то, как только у людей появляются более быстрые компьютеры, на которых можно получить больше деталей в сцене, внезапно многие решения меняются.
Приходилось много писать и переписывать, потому что менялись компьютеры. Даже в плане работы.
Я основал свою первую компанию в 1996 году, и в течение многих лет мы покупали новые компьютеры каждые полгода, потому что они были на 30% быстрее, чем тот, который был у меня полгода назад. Сейчас такого просто нет.
Некоторое время это касалось телефонов, но и это в основном прекратилось.
Это в некотором смысле полезно, потому что все более стабильно и можно принимать технические решения с более длительным горизонтом. Я не знаю, как обстоит дело в веб-мире. Я имею в виду, что меня раздражает в веб-мире то, что люди продолжают создавать все эти фреймворки и прочее, что, по их мнению, является технологическим прогрессом, но на самом деле они просто как бы плещутся на месте, а не плывут вперед. И поэтому существует мода на то, что люди меняют используемый фреймворк, но на самом деле он не становится лучше.
ДЕВОН: Ну, как правило, в итоге получается еще хуже, потому что тогда получается этакий Франкенштейн, наполовину состоящий из одной системы, наполовину из другой. Затем происходит все это взаимодействие, и в результате получается хуже, чем если бы обе системы были сами по себе.
И ты всегда думаешь: «О, мы закончим переход». Но это не так. Всегда есть что-то, что нельзя так просто переписать, или кто-то не знает, как это сделать.
ДЖОНАТАН: Или, знаете, просто вы думали, что у вас будет время в расписании, чтобы сделать это, но все заняло больше времени, чем вы думали, и теперь вы не можете сделать это.
ДЕВОН: Не знаю, в программном обеспечении такого не бывает.
ДЖОНАТАН: Да, никогда, никогда! Но на самом деле, часть причины, по которой мы работаем без расписания, в большинстве случаев заключается в том, чтобы не иметь этой проблемы.
Типа, смотрите, мы собираемся переписать эту вещь. Это как раз то, что происходит. Конец. Просто это выйдет лучше. И да, это на два года позже, чем мы думали, но мы все равно сделаем это.
И это то, на что мало у кого хватает силы воли, даже при … Деньги у Google в ближайшее время не закончатся. Почему бы им не делать это чаще? Но они этого не делают.
ДЕВОН: Производительность — это то, о чем вы много думаете при создании программного обеспечения, и мы не слишком часто затрагивали эту тему в нашем разговоре.
Я думаю, что на этот вопрос есть интуитивный ответ: «Почему это важно?». А если говорить более конкретно, то если бы у The Witness были проблемы с производительностью, и она падала бы на кадры — как бы это повлияло на игру?
ДЖОНАТАН: В разных играх это имеет большее или меньшее значение. Если в экшн-игре у вас падают кадры и возникают заикания, это очень плохо, поскольку игра оценивает вас по времени выполнения действий.
Если это время трудно оценить, потому что все происходит с непоследовательной скоростью, и игра считает, что нажатие кнопки произошло позже, чем было, потому что это был длинный кадр, когда вы нажали кнопку — тогда внезапно достоверность игры оказывается под угрозой. Потому что она оценивает вас по вещам, которые в корне несправедливы, поскольку не дает вам возможности действовать правильно.
Braid немного похож на это, потому что он немного экшен. Это не совсем экшн-игра, но вы делаете вещи, основанные на тайминге. В The Witness, по замыслу, очень мало вещей, основанных на тайминге. Но это все равно цель… Я собирался сказать что-то, что на самом деле неверно. Я хотел сказать, что цель игры — это получение удовольствия. Это не совсем так.
Для многих людей это действительно так.
Я не разрабатываю игры, чтобы они доставляли максимальное удовольствие или что-то в этом роде. Люди, которые играют в мои игры, знают, что иногда они разочаровывают. Иногда они делают вещи, которые явно не потворствуют аудитории.
Есть несколько моментов. Первая — если вы собираетесь решать трудные головоломки… Представьте, что вы участвуете в программе наставничества с кем-то и очень хотите научиться у него некоторым вещам. А учиться трудно. И вам приходится много работать, и это трудно, и вам кажется, что вы учитесь не так хорошо, как следовало бы, и все такое прочее. Если человек добр к вам и действительно пытается помочь, и вы чувствуете, что он действительно прикрывает вашу спину, это как бы облегчает задачу. Вы чувствуете, что находитесь в надежных руках.
Если они грубы с вами и как бы хотят, чтобы вы ушли, или, по крайней мере, демонстрируют такое отношение, или не объясняют ничего по-настоящему. Возможно, это странная аналогия. Так что давайте от нее откажемся.
Это то, что человек делает всегда, когда попадает в новую ситуацию: «В какой ситуации я нахожусь? Каковы ее параметры? И как я буду действовать в этой ситуации?». Игры в этом смысле особенно щекотливы, потому что игры похожи на досуг.
Ощущения от игры плавные, отзывчивые и качественные. Это как в смартфонах — они много работают над материалами и над тем, чтобы материалы были приятными на ощупь. Вы пытаетесь создать единое целое, чтобы люди чувствовали, что вы заботитесь о том, что они испытывают.
Особенно это касается головоломок, которые становятся сложными. У людей возникает вопрос: «Подождите, я думал, что это будет ответом на этот вопрос. Почему не получается? Игра сломана? Дизайнер тупой? Или есть какая-то веская причина, почему это не правильный ответ, которую я не вижу? И я буду в восторге, когда увижу его». Ну, ответ на этот вопрос зависит от того, кто разрабатывал игру.
Об этом можно судить по предыдущему опыту игры. Если у вас есть достаточный опыт общения с кем-то, то он даст вам повод для сомнений. Они скажут: «Хорошо, я не понимаю этого, но я чувствую, что это высококачественный опыт. Я просто пойму, что сейчас я ничего не понимаю, и мы вернемся к этому позже».
В то время как если вы не получите такой поддержки, люди будут думать, что ваша вещь сломана или плоха. Это не так, я только что сказал о том, что люди будут думать, что Х, я не думаю, что они действительно сознательно говорят об этом, как о голосе в своей голове. Но именно так люди ориентируются в мире. Так они оценивают ситуацию. Это постоянный, непрерывный процесс.
К этому доверию я отношусь очень серьезно. Но это как бы начало и середина игры. Если смысл игры в том, чтобы создавать — мне не нравится говорить «создавать», я хотел сказать «создавать опыт», когда вас тонко заботит, что это за опыт — но это не совсем правильно. Я не пытаюсь создать конкретные впечатления, которые должны быть у людей, но я пытаюсь создать возможности для людей, чтобы они могли испытать то, что они не смогли бы получить в другом месте, и где эти вещи могут быть значимыми для них или интересными для них.
Когда вы пытаетесь сделать такую вещь, нюансы всего остального имеют значение.
Если игра заикается и постоянно неправильно реагирует на нажатие кнопок, и вы не уверены, на что смотрите, потому что графика странным образом исчезает, то это может быть что-то вроде того, что происходит в игре.
Все эти технические проблемы, которые могут возникнуть в игре, приводят к снижению точности этого инструмента, с которым вам как дизайнеру приходится работать.
Я очень рано сказал, что, по моему мнению, компьютеры делают людей несчастными в корне. И одна из них заключается в том, что происходит глубокая сенсорная депривация. Как будто большая часть вашего тела спит, когда вы используете компьютер.
ДЕВОН: Мне кажется, что одна из вещей, которую мы действительно упускаем, испытывая сенсорную депривацию, о которой вы говорите, — это то, что вещи в мире имеют множество возможностей. Если вы готовите, отворачиваетесь от кастрюли, и она начинает гореть, вы ощущаете запах. Существует множество различных типов взаимодействия с предметами в мире, помимо обоняния, которые вы не можете получить с помощью компьютера.
ДЖОНАТАН: На самом деле это еще один долгосрочный проект, который я хотел бы осуществить, помимо воссоздания всей технологии, чтобы она стала проще. Я делаю этот компилятор, верно, и часть того, что делает компилятор, заключается в том, что он должен хорошо предоставлять вам информацию о программе и взаимодействовать с внешними системами.
Итак, программирование — это сложно. И одна из причин, почему это трудно, заключается в том, что трудно понять, что на самом деле представляет собой ваша программа, трудно увидеть все сразу. Вы видите все эти попытки визуализации программ, и в основном они также приводят к тому, что трудно понять, и вы не знаете, что это такое, верно?
ДЕВОН: Обычные графики.
ДЖОНАТАН: Да. «Мы создаем просто гигантский график спагетти даже для очень простой программы», верно. И поэтому то, над чем я хотел бы поработать — и мы, вероятно, сделаем это в какой-то момент — это визуализация программы, как для статической программы, например, что это такое, с математической точки зрения, так и для работающей программы, например, как она себя ведет?
В нем просто используется то, что мы знаем из видеоигр, для создания более насыщенного сенсорного опыта. Здесь есть и звук, и визуальные эффекты, которые, например, можно увидеть 3D-рендеринг в некоторых высокобюджетных играх, причем очень сложный. Иногда это выглядит почти фотореалистично.
Но даже если это не так, даже если вы стилизуетесь, есть просто всевозможные эффекты, которые вы можете применить, и ваш мозг как бы знает, что это такое. Ваш мозг знает, что такое дымка и туман. И вы можете использовать это в окружающей среде. Он знает, что такое свет, отражающийся от поверхности.
Задача состоит в том, как найти способы использовать их для полезного общения? Это на самом деле очень сложно. Потому что, например, вы можете сделать что-то визуальное, что сопоставляет аспекты программы с этими вещами, но расшифровать это для пользователя совсем не просто.
Возможно, это то, что вы учитесь декодировать, как иногда люди учатся естественным образом делать вещи, которые довольно странные, просто потому, что они часто подвергаются воздействию стимула.
ДЕВОН: Я слышал о браслете на лодыжке, который был у одного из моих друзей, который… жужжал каждый раз, когда он поворачивался лицом к северу. И таким образом он начал лучше чувствовать кардинальные направления и начал интуитивно понимать пространство.
Жужжание на лодыжке — это не то, что обычно связывают с кардинальными направлениями. Но когда это произошло достаточно много раз, в его сознании начала выстраиваться такая карта. Так что я оптимистичен в том, что вы можете сопоставить произвольные вещи с различными органами чувств, но я думаю, что лучше, если они будут менее произвольными, в идеале, потому что тогда вы, вероятно, быстрее их усвоите.
ДЖОНАТАН: Есть и другие очень странные вещи. Я не проверял, но довольно давно слышал об устройствах для слепых, где на вас надевается камера, а затем камера имеет считывающее устройство, представляющее собой кучу пикселей, которые просто нажимаются либо на руку, либо на язык, поскольку язык очень чувствителен. По-видимому, когда вы привыкаете к этому, вам кажется, что вы как бы видите. Хотя это всего лишь абстрактное считывание ощущений.
Вообще-то интересно, насколько они хороши сейчас, ведь со временем разрешение должно повышаться и все такое. Люди умеют приспосабливаться к странным вещам.
ДЕВОН: Я не так много знаю о когнитивных науках, но из повседневного опыта мне кажется, что есть много примеров вещей, когда я думал, что никогда не смогу понять эту вещь, потому что у меня нет четкого представления о ней или она не использует один из моих органов чувств, что нормально. Но потом, когда вы делаете это достаточно много раз, у вас начинает формироваться интуиция. Появляется пластичность, и все начинает соединяться.
Но это все какие-то волшебные слова. Каждое слово, которое я только что произнес, наполнено множеством предположений, которые я не знаю, как они работают на самом деле, но, похоже, они работают.
ДЖОНАТАН: Я хочу изучить, как это можно сделать с помощью программного обеспечения? Как сделать так, чтобы информация о программном обеспечении была доступна людям, чтобы их мозг мог ее воспринять? И если для ее понимания не требуется многолетнего обучения, то это замечательно.
Но даже если бы это было так. Даже если бы вначале вы получали не так много информации, а потом она накапливалась по мере воздействия на вас стимулов, это все равно было бы существенным прогрессом в технологии по сравнению с тем, что мы имеем сейчас — а именно, никто понятия не имеет, что делает их чертова программа, на самом деле.
ДЕВОН: Аспект сенсорной депривации в программном обеспечении, собственно, и привлек меня изначально.
Я бы не сформулировал это так же, когда был моложе, но программирование, мне действительно нравилось, как абстрактное программирование. Как в своей голове я мог создать целый маленький мир логики, который не должен был взаимодействовать ни с чем в реальном мире. Но я думаю, что теперь, когда я провел много лет в этой вселенной, я понял, что мне не хватает того, чтобы быть более пространственным существом и как бы находиться в реальном месте.
Я читал, что при создании The Witness вы работали с архитектором и ландшафтным дизайнером. Как это изменило ваше представление об игровом мире?
ДЖОНАТАН: Мы уже говорили о том, что чувствуем себя в надежных руках, верно. Но для того, чтобы это сработало, они также должны быть в хороших руках.
Если вы создадите несколько головоломок и скажете: «Хаха, чтобы увидеть подсказку, которая расскажет вам информацию, необходимую для решения головоломки, вам нужно заглянуть за один куст, который находится на другой стороне острова, где-то в углу. А искать там нечего. И концептуально это никак не связано». Это глупая головоломка, верно.
Люди не только будут чувствовать, что они не в надежных руках, но и на самом деле не будут. И игра не будет функционировать, верно. Это не будет решаемая головоломка.
Поэтому я понял, что это должно быть очень четко прописано. Например, A) вы должны были знать, что от вас не ожидают, что вы улетите далеко в космос, подальше от места, где вы находитесь, чтобы попытаться найти то, что имеет отношение к делу.
Каждый отдельный район имеет свою индивидуальность, а архитектура — это часть того, как создать индивидуальность района, как внутренняя, так и внешняя. Поэтому мы пригласили ландшафтных архитекторов, которые помогли нам определить, какие растения где растут.
Второй момент: люди будут смотреть по сторонам, потому что некоторые из этих головоломок связаны с миром, в котором вы находитесь. Люди будут очень внимательно смотреть на этот мир. Так что игра не должна развалиться под таким пристальным вниманием, верно. Во многих играх, например, в 3D-играх, сложно создать все эти 3D-сетки и соединить их вместе. И поэтому часто есть места, на которые вы должны обратить внимание. А если вернуться в подворотню и заглянуть за некоторые вещи, то можно увидеть действительно неаккуратные вещи, например, геометрию, которая пересекается там, где не должна, текстуры с низкой детализацией и все такое прочее.
Я знал, что для этой игры, если мы просим людей внимательно относиться к миру, то и мир должен соответствовать этим ожиданиям. Он должен был не развалиться под таким уровнем проверки, верно.
Частично это означает, что все должно быть хорошо построено. Не должно быть никаких задних переулков, где есть странные вещи, но это также означает, что если здание имеет смысл в масштабе, когда я нахожусь на расстоянии 50 метров и смотрю на него правильно, то если я прошу вас внимательно посмотреть на окружающую среду, то это здание должно иметь смысл, если вы смотрите под крыльцо.
Внесение этих деталей, а это на самом деле значительная часть того, что советовали архитекторы, — это то, каковы детали этой конструкции, верно? Если вы используете этот материал с этим материалом, как они соединяются?
Это придает игре тот уровень детализации, при котором у вас не возникает ощущения, что мы, разработчики, не потрудились подумать об этой вещи, которую вы делаете прямо сейчас. И опять же, я думаю, что большинство игроков не осознают этого, но это как бы пронизывает опыт и помогает им почувствовать, что это высококачественная вещь.
ДЕВОН: Ну, я, конечно, мог бы продолжить этот разговор, но я хочу дать вам возможность жить своей жизнью.
ДЖОНАТАН: Когда-нибудь, может быть, мы снова возьмемся за это. Спасибо, это было хорошо.
ДЕВОН: Это было очень весело. Давайте на этом закончим. Спасибо, Джонатан.
ДЖОНАТАН: Всем пока.