Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше - [141]

Шрифт
Интервал

И огромный объем знаний – не единственная проблема. Большую часть знаний о процессе трудно или невозможно передать. Это называется неявным знанием. Например, навыки – это неявное знание. Опытный художник может посмотреть на никудышную композицию и просто знать, как ее исправить. Программист может просто знать, как оптимизировать алгоритм, а разработчик может просто знать, как сделать интерфейс лучше. Но никто из них не может объяснить это – эти знания возникают интуитивно на основании натренированного бессознательного. Эти знания невозможно передать ведущему специалисту. Это навык, и на его развитие ушли годы.

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


Распределенный разум

Чтобы понять, как создавать игры, не обязательно учиться у мастеров, живших в 1912 году. Можно поучиться у муравьев.

Вспомните, как муравьи собирают еду. Во-первых, несколько муравьев-фуражиров отползают от муравейника. Когда муравей-фуражир находит источник пищи, он возвращается, оставляя за собой след феромона. Другие муравьи инстинктивно следуют по этому следу к еде. Каждый муравей, который находит еду, тянет уже свой собственный след феромона назад, тем самым усиливая его. Если муравей приходит к богатому источнику с едой, след феромона усиливается каждый раз. По мере упрочнения тропки начинаются другие процессы. Появляются более сильные рабочие муравьи и убирают препятствия с тропки. Муравьи-солдаты начинают ее патрулировать, наблюдая за угрозами. Некоторые рабочие муравьи жертвуют собой, создавая из своего тела мост через ямки. Вместе муравьи чрезвычайно эффективно создают, оптимизируют и защищают тропки к лучшим источникам пищи. И весь этот великолепный сложный процесс осуществляется без центрального плана благодаря совместным усилиям глупых муравьев, которые следуют своим простым правилам. Ни один из муравьев не понимает общую стратегию того, что делает колония, но все они в равной степени координируют свои действия в комплексный подход. Как будто колония муравьев образует коллективный, распределенный разум, обладающий гораздо большей силой, чем любой из ее отдельных участников. Муравей – глуп, колония муравьев – умна.

Разработка игр работает по такому же принципу, так как никто не может понять все, что происходит в процессе разработки. Слишком много событий для одного человеческого мозга. Поэтому, подобно муравьям, каждый из нас должен играть свою роль, но только в более широком распределенном разуме. Действия каждого из нас должны выполняться на благо чего-то большего.

Это невозможно с помощью тейлоризма. Мы не можем отнимать решения у рабочих и отдавать их в руки нескольких руководителей. Чтобы распределенный интеллект работал, мы должны разделить власть между членами команды.


Распределение власти

У муравьев нет начальников, которые говорят им, как сделать феромоновую дорожку. Каждый из них принимает собственные решения в зависимости от условий. В этом есть два основных преимущества.

Во-первых, задействуется весь мозг каждого муравья. В тейлоризме интеллектуальные силы рабочих остаются невостребованными, потому что у них отнимается каждое решение. Не использовать такой ценный ресурс – это ошибка, особенно в геймдизайне. Весь смысл работы с командой разработчиков – использовать их мозг.

Во-вторых, при полном распределении власти используются знания, которыми обладает каждый муравей. Каждый муравей очень хорошо знает свое непосредственное окружение, так как он в нем находится постоянно. Если бы королеве постоянно приходилось говорить каждому работнику, что ему нужно сделать, она принимала бы плохие решения, находясь только в одном месте. Она никогда не поймет то, что делает работник № 1314 так же хорошо, как сам работник № 1314. То же самое относится и к геймдизайну. Каждый разработчик понимает свою часть работы так, как никто другой. Каждый разработчик понимает уровень, технологии или механику, над которыми он работает, так, как никто другой.

Разработчики игр могут делать то же самое, что и муравьи, распределяя решения между членами команды. Каждый разработчик выбирает то, что ему ближе всего. Программист системы должен принять решения относительно дизайна этой системы. Дизайнер уровня должен разработать подробный проект уровня. У каждого человека существует сфера естественной власти, которая охватывает те части проекта, которые он понимает лучше всего.

ЕСТЕСТВЕННАЯ ВЛАСТЬ разработчика распространяется на любое решение, в котором он разбирается лучше, чем кто-либо другой из членов команды.

Это не значит, что каждый просто работает только над своей задачей. Разработка игр всегда предполагает интенсивную коммуникацию, поскольку решения часто требуют знаний разных людей. Например, художник никак не сможет решить, как будет выглядеть персонаж, не зная нарративной цели. Писатель не сможет написать хороший диалог для боевой сцены, если он не знает, как она изменилась после последнего плейтеста. Чтобы собрать всю эту информацию, нужна коммуникация.

Например, совещания – это способ сбора информации для принятия решений. Рассмотрим совещание, на котором креативный директор, программист, разработчик и художник решают, с каким из двух возможных вариантов «серого ящика» продолжать работу. Они организовали совещание, так как у каждого из них есть уникальные знания, имеющие отношение к решению.


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.