Читаем Ошибки разработчиков видеоигр. От идеи до провала полностью

Стоит задуматься о том, насколько ваши идеи и используемые образы будут понятны вне контекста вашего опыта. Персонажи моей игры Catmaze основаны на русских сказках и славянских мифах, но я изо всех сил пытался сделать их цели и характеры понятными и в отрыве от всех тех знаний, которыми обладает выросший в России человек. Разработчик визуальной новеллы «Зайчик» перенес игрока в русские реалии начала 90-х. Он понимал, что играть будут не только люди, заставшие это время, и уж тем более не только те, кто вырос в России. Оттого в «Зайчике» есть нечто вроде словаря, где поясняются такие понятия, например, как Бабай: «в славянском фольклоре ночной дух, воображаемое существо, упоминаемое родителями, чтобы запугать непослушных детей». Так игрок, желающий разобраться во всех образах и элементах, задействованных в игре и формирующих целостную картину, не покинет игру с горьким привкусом вызванной отсутствием контекста недосказанности, которую по недосмотру допустил автор. Здорово, что игра не навязывает чтение этого словаря, но стоит учитывать, что подобным «сноскам» уделит внимание далеко не каждый игрок и закладывать в них вещи, действительно необходимые для хотя бы поверхностного понимания произведения, не стоит.


Иллюзия прозрачности

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

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

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

Осознание наличия у себя такого когнитивного искажения – это уже первый шаг к тому, чтобы от него избавиться. Чаще задумывайтесь о том, что конкретно в написанной вами фразе поможет правильно понять ее смысл. Какие детали локации помогут игроку дать точный ответ на вопрос, где он сейчас? Отображает ли созданная анимация то, что вы в нее закладывали, или игрок не осознает, что его персонаж получает сейчас урон?


Проклятие знания

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

Если бы не «проклятие знания», то обучение других людей чему-то новому не требовало бы кучи навыков и специального образования. Проклятие знания проявляется во всех сферах: опытные спортсмены сокрушаются, наблюдая за неуклюжими движениями толстячков, впервые пришедших в спортзал; бездарные преподаватели давят студентов терминами и принципами, которые их юные мозги еще не освоили, а плохой игровой дизайнер твердо убежден, что любой нормальный игрок найдет спрятанную им в интерфейсе кнопку «закончить ход».

Мы взялись за разработку игр, определенно обладая опытом игры в них. Мы набрались знаний из сотен других проектов и уже забыли, с какими трудностями столкнулись, в первый раз осваивая перегруженный интерфейс какой-нибудь стратегии вроде Warcraft. Сотню пройденных игр спустя мы уже хорошо ознакомились со множеством игровых элементов, чтение которых кажется нам теперь очевидным. В ходе разработки у нас может даже и не проскочить мысли о том, что игрок не разберется в том, что нам самим кажется азами. И вот такой мысли не было ни у разработчиков Pascal’s Wager, ни у разработчиков Exorcist Fairy.

Перейти на страницу:

Похожие книги

Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных
Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных