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

Еще в самых ранних аркадных играх разработчики уже задумывались о мотивации своих героев. Это позволяло игрокам лучше понимать цели игры, сильнее сопереживать персонажам и отдавать себе отчет в том, зачем они вообще прыгают по платформам. Иной раз хватает пары фраз о том, что «принцесса похищена», чтобы у игрока появились причины двигаться дальше, или о том, что «улицы забиты преступниками», чтобы мы бросились бить лица каждому попавшемуся под руку прохожему в серии игр Streets of Rage. Для создания хорошей игры действительно может оказаться достаточно очертить основной конфликт (но о сложной природе конфликтов мы еще поговорим) и тем самым обезопасить себя от возможности допустить лудонарративный диссонанс, который с большей вероятностью возникнет в сюжетно-ориентированном произведении с замысловатым игровым процессом. Но ведь на конфликте ваша история не заканчивается!


Обучение опытных героев

Повествование в видеоиграх является не самой простой задачей по нескольким причинам. Первая сложность при написании сценария заключается в том, что в сюжет видеоигры необходимо каким-то образом интегрировать пресловутое обучение, важность которого я уже подчеркнул. Отличный способ был использован в оригинальной Final Fantasy VII, где под наше управление попадает опытный солдат по имени Клауд. Почти в самом начале игры сценарий оставляет Клауда один на один с повстанцами-новобранцами, не имеющими боевого опыта, но желающими присоединиться к его праведному делу. Клауд начинает обучать их основам боя. Игрок слышит все пояснения из уст самого героя, и выходит так, что это он сам учится у Клауда. Такой подход помогает сохранить образ главного героя целостным – он уже всё знает и всё умеет. Это он учит игрока, а не наоборот. У Клауда есть прошлое, и навыки, приобретенные им годами ранее, учитываются игрой.

Что интересно, уже в Final Fantasy XIII про это оригинальное решение забыли. Хоть главные персонажи в самом начале окружены зелеными новобранцами, которые вызвались сражаться, нас всё равно заставляют пробиваться через стену текста, написанного невидимой рукой игрового дизайнера и обращенного непосредственно к главным героям. Зачем?

В игре Fable мы проживаем несколько стадий взросления вместе с персонажем. Сначала мы контролируем еще юного мальчугана, который вместе с нами учится лупить деревянной палкой тренировочные манекены, а уже потом получаем контроль над слегка возмужавшим юношей, готовым к своим первым приключениям. Лудонарративного диссонанса здесь нет. В противовес этому примеру можно привести Devil May Cry 5, где первая же сцена показывает нашего героя крутым и умелым парнем, мастерски разделывающимся с ордой монстров, но как только управление переходит к игроку (якобы в самый разгар битвы), на нас вываливается стена текста. Перед персонажем появляются три слепых и неповоротливых монстра, призванных стать тушками для битья. Неуклюжая битва с ними ярко контрастирует с тем лютым акробатическим безумием, которое нам показали в заставке. Под оттачивание каждого нового приема, кстати, нам предлагается целое трио из монстров. Надеюсь, на данном этапе книги вы уже понимаете, почему игрока заставляют делать одно и то же трижды?


Игровые условности

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

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

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

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

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

Программирование, программы, базы данных
Язык программирования 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 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

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

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