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

Не по этой ли причине Vampire Survivors стала успешнее, чем ее прародитель – игра Crimsonland, вышедшая еще в 2003 году и, даже имея аналогичный игровой процесс, не способная удержать у экранов внушительное количество игроков? Такого чувства прогрессии Crimsonland не давала, и числа над головами монстров не выскакивали в таких огромных количествах.

В игре Super Mario Bros. действия игрока, одобряемые разработчиками, как я уже упоминал, награждаются очками: две сотни очков за выбитую из кирпичика монетку и сотня очков за поверженного Гумбу. Способа получить пятьдесят или пять очков в игре нет – для игрового баланса дополнительные два нуля не имеют никакого смысла: разработчики могли все значения смело поделить на сто, и в механиках игры ничего бы не изменилось. Изменения коснулись бы восприятия своих действий самим игроком: получить два очка за монетку не так радостно, как две сотни, даже если игрок еще не понимает, зачем эти очки нужны.

В качестве плохого примера я могу вспомнить оригинальную игру D2 (рис. 14). Проект награждает игрока очками опыта после каждого сражения. На победном экране мы видим общее количество собранного опыта и то, сколько очков нам добавилось. Представьте себе ощущения игрока, когда в графе «Добавилось» он наблюдает +0007, а в графе с общим опытом – 0000154. Стоит ли уточнять, что такое обращение с числами совсем не способствует появлению чувства прогрессии и удовлетворения? Выигранный бой кажется бесполезным, а победа – незначительной.


Рис. 14. D2. Warp, 1999


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

Способы порадовать игрока положительным откликом на его непревзойденные навыки или нечеловеческое упорство не ограничиваются одними только цифрами. Если вы играли в Unreal, то можете вспомнить мало с чем сравнимое удовольствие, которое испытывали, услышав «Double Kill!» при двойном убийстве. Когда невидимый диктор произносит «Mega Kill!», а затем «Ultra Kill!», гормоны радости вынуждают всё глубже и глубже погружаться в игру, а громогласное «M-M-M-M-MONSTER KILL!» так и вовсе уносит гордящегося своими навыками игрока на верхушку Олимпа. Нас опьяняет чувство удовлетворения. Столь положительная реакция на наши действия подталкивает к тому, чтобы повторять их раз за разом, какими бы рутинными они ни казались. Игрок чувствует, что приближается к цели, из чего делает нужный нам вывод о том, что цель достижима. Система достижений способна сыграть такую же роль, как и отображение того, сколько ударов игрок собрал в цепочку «комбо», как это было реализовано в Devil May Cry.


Интерфейсы

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

Дальше всех в этом плане ушла игра Illbleed (рис. 15), в которой у нас есть индикатор здоровья, сердцебиения, эмоционального состояния, адреналина, слуха, запаха и «шестого чувства».


Рис. 15. Illbleed. Climax Graphics, 2001


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


Остановка времени

Различного рода всплывающие окна, рамки с диалогами или меню резко меняют темп игры, иной раз и вовсе останавливая в ней время. Я уже упоминал, что игроки, ведущие трансляции, чаще всего заканчивают играть, когда их персонаж погибает и время останавливается на грустной надписи Game over. Игрок выходит из потока, вспоминает о других делах и закрывает ваш проект. Такое же поведение вы будете наблюдать и на шоукейсах: остановка времени игровым интерфейсом служит причиной отложить контроллер чаще, чем что-либо другое.

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

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

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

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

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