Ошибки разработчиков видеоигр. От идеи до провала - Грис Слава
Прячущая рука
Помимо вышеупомянутой ошибки планирования, психологами сформулирован «принцип прячущей руки». Он проявляется, когда человек охотно берется за сложный проект, не имея ни малейшего представления обо всех почти непреодолимых трудностях, которые его ждут. Ученые долго спорили о том, насколько положительно или, напротив, отрицательно это когнитивное искажение сказывается на результатах работы.
С одной стороны, «прячущая рука» может влиять благотворно. Когда я сам садился за разработку своей первой видеоигры, я и представить не мог, с какими трудностями мне предстоит столкнуться. В определенный момент мой проект обрел свою уникальность, и я работал, используя весьма специфичную коллекцию плагинов для движка. Из-за них я столкнулся с ошибками при сборке проекта в .exe файл (это файл, который мог бы позволить запустить мою игру не из движка, а просто как обычную программу на любой машине). На форумах никто не мог мне помочь, потому что такой набор плагинов и их конкретных версий использовался только мной. Я остался со своей проблемой один на один.
«Прячущая рука» не позволила мне предугадать всей глубины того кромешного ада, в который мне предстояло окунуться, разбираясь в работе сторонних плагинов и выискивая, что же там с чем конфликтует. Стал бы я использовать эти плагины, если бы знал, что мне предстоит потратить несколько недель, выискивая конфликтующие элементы, которых я мог на самом деле и не найти? Нет, не стал бы. Но смог бы я реализовать все свои идеи без этих плагинов? Нет, не смог бы. Игра стала бы совсем другой.
«Прячущая рука» забросила меня в то положение, в котором я был вынужден приобрести полезные знания, проявить креативность и, чтобы двигаться дальше, освоить новые навыки. Всё это сопровождалось отчаянием, стрессом и паникой, но в любом другом случае я бы так и не узнал всех тонкостей своего движка, которые я учитываю в проектах и по сей день.
С другой стороны, ситуация могла бы оказаться безвыходной и решения могло бы не найтись: при худшем раскладе я был бы вынужден избавиться от части плагинов, реализовать задуманное какими-то иными способами или, почувствовав себя в совсем уж глухом тупике, попросту бросить проект. Тогда «прячущая рука» привела бы меня не к улучшению навыков, а к провалу.
Для того чтобы выяснить, является ли «прячущая рука» когнитивным искажением, способным положительно сказаться на результатах нашей деятельности, или же, напротив, ее влияние всегда негативно, было введено разделение этого явления на «благотворную прячущую руку» и «тлетворную прячущую руку». Психологи провели исследование на двух тысячах проектов, пытаясь выяснить, с какой вероятностью незнание сложностей ведет к положительным результатам и росту компетенцией, а с какой – приводит к провалу и ошибкам.
Результаты, увы, оказались неутешительными: мой случай, когда тупиковая, казалось бы, ситуация сделала меня умнее, вошел лишь в 22 % проанализированных проектов. В остальных 78 % «прячущая рука» оказывала тлетворное влияние и приводила если не к провалу, то к серьезному откату назад и задержкам в исполнении.
Что же получается? С одной стороны, незнание всех нюансов вашей задачи способно создать наиболее подходящую среду для развития навыков и проявления креативности. Неправильная оценка задачи – это лучший способ задействовать все творческие ресурсы и раскрыть свой потенциал. С другой – исследования показывают, что в подавляющем большинстве случаев «прячущая рука» приводит к крайне плачевным последствиям, скрывая от нас преграду, которую мы не способны преодолеть. И как тут быть?
Самозванцы
Подобное когнитивное искажение получится обойти двумя способами. Во-первых, возможно компенсировать его другим искажением, ибо минус на минус может дать плюс. Я говорю о так называемом синдроме самозванца, который сопровождается недооценкой собственных сил. Люди с синдромом самозванца обычно крайне не уверены в своих компетенциях. Все свои достижения они списывают или на удачу, или на других людей. Им кажется, что всё, чего они добились, досталось им незаслуженно. Вне зависимости от имеющихся знаний и навыков эти люди не чувствуют себя специалистами в своей области и недооценивают свои силы.
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})При работе над Reflection of Mine я преодолел препятствия, скрытые от меня «прячущей рукой», и вошел в 22 % счастливчиков именно из-за этого синдрома: я понятия не имел о том, что мне было по силам, и принял за тупиковую ситуацию самый обычный рабочий момент.
Если вам свойственно ошибаться в расчете собственных сил в пользу недооценивания своих способностей, то «принцип прячущей руки» не столь страшен. Ваша слабость окажется преимуществом тогда, когда раскроются невидимые ранее подводные камни. Люди с синдромом самозванца редко берутся за выполнение задач, если они не сталкивались ни с чем подобным ранее или если они не способны просчитать все риски. Только «принцип прячущей руки» позволяет им оказаться в условиях, необходимых для получения новых знаний и проявления креативности.
Модули
Но далеко не все мы чувствуем себя самозванцами: подобное когнитивное искажение распространено не так уж сильно, и иной раз люди, напротив, склонны переоценивать свои достижения. Если вы ни разу не наблюдали за собой поведения, свойственного человеку с синдромом самозванца, и не испытываете леденящего душу ужаса, хватаясь за работу, с которой раньше не сталкивались, то от зловещих последствий «прячущей руки» вас спасет второй предлагаемый мной путь – модульная разработка.
Любой элемент в любом продукте стоит разбивать на отдельные модули, и чем меньше они будут связаны друг с другом, тем лучше. Под модулем я подразумеваю какую-то составляющую проекта, без которой игра если и станет хуже, то, по крайней мере, не перестанет существовать вовсе. Например, сюжет игры можно разбить на почти независимые друг от друга «главы», где важнейшими будут только две – первая и последняя. Без остальных же сюжет вполне сможет существовать. Тогда в случае, если у вас не хватит сил, знаний, денег, опыта или других ресурсов на реализацию чего-то из середины игры, вы вполне сможете вычеркнуть эту главу и, добавив несколько незначительных изменений в другую, продолжить повествование.
Такой подход можно спроецировать, например, и на способности, которыми обладает ваш главный герой: при добавлении нового способа атаки лучше делать так, чтобы та часть кода, которая за него отвечает, минимально перекликалась со всем остальным массивом умений и могла быть безболезненно вычеркнута и так же безболезненно введена обратно. Чем меньше у вас будет взаимосвязей между потенциально независимыми элементами, тем меньше трудностей у вас возникнет, когда «прячущая рука» откроет перед вами завесу непреодолимых преград.
Вместо того чтобы неделями биться как рыба об лед о проблему, существование которой было невозможно предусмотреть, вы сможете просто пройти мимо нее, вычеркнув этот элемент из своей игры. Оттого и совет о том, что после продумывания основных механик и концепции стоит сразу реализовывать концовку вашей игры, является лучшим из всех, что я слышал и что я могу дать. Такой подход во многом увеличит ваши шансы довести игру до ума. У вас будет начало и конец, а с серединой вы сможете делать всё, что захотите.
В моей игре Fearmonium главной героине открыто весьма обширное количество способов передвигаться: можно как просто бегать, так и ехать на самокате, скользить по наклонным поверхностям, надышаться гелия и лететь, подобно воздушному шару, и т. д. Каждый раз, когда игрок менял способ передвижения с бега на самокат, вся часть кода, отвечающая за бег, попросту переставала работать – я отключал ее полностью.
В относительно популярной игре The Vagrant долгое время присутствовал баг, завязанный на хитром использовании способности «рывок», позволяющей игроку с высокой скоростью переместиться по заданной траектории. При использовании рывка в воздухе на одном уровне с платформой персонаж мог коснуться земли до того, как закончится ускорение от рывка. При выполнении такого хитрого приземления персонаж переходил-таки в состояние бега, но сохранял удвоенную скорость, свойственную рывку. Разогнавшись, он мог перейти в состояние прыжка и, так как скорость движения сохранялась, преодолеть немыслимое расстояние, сломав игру совсем.