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

Виной всему была моя неспособность забросить их в ситуацию, в которой они были бы обязаны использовать «улучшенный подарок» и узреть весь его потенциал в тот же момент, как он появлялся у них в инвентаре. Продумывая саму механику использования «улучшенного подарка», я не озадачился таким важным вопросом, как «А в каких именно ситуациях он будет необходим игроку для прохождения?». Я просто сделал красочное и сильное оружие, без которого вполне можно пройти игру и появление которого никого особо не обрадовало. А ведь оно планировалось как награда за исследование! А что это за награда такая, если большинство игроков в момент получения сочло ее хламом? Получилось примерно как с делюминатором в «Гарри Поттере».

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


Осмысление

Еще одной необходимой составляющей обучения является осмысление игровых механик. Любая информация запоминается лучше, когда она понятна. Запомнить случайный набор кнопок, знаков и символов – задача почти невозможная, в то время как глубокое понимание сути объекта запоминания предоставляет ему более устойчивое положение в долговременной памяти.

Я мог бы написать про обучение в видеоиграх куда более лаконично, но мне важно, чтобы полученные вами знания нашли применение в ваших проектах, а для этого их надо запомнить. А чтобы запомнить, нужно осмыслить. Именно поэтому я использую столько слов и примеров. В некоторых видеоиграх нередка ситуация, когда игрок просто не понял, каким образом у него получилось убить сильного врага или решить очередную головоломку. Допускать подобное никак нельзя: при повторном возникновении тех же условий вы не вызовете у игрока ничего, кроме раздражения. К преградам подобного рода можно отнести, например, излюбленные многими разработчиками «пятнашки»: собрать картинку из восьми блоков на поле из девяти ячеек части игроков удается в ходе бездумного перетаскивания элементов изображения. Они ничему не учатся и не получают от процесса удовольствия.

Игра Chrono Trigger, представляющая собой классическую JRPG эпохи SNES, в ходе обучающих битв ставит игрока перед ситуацией, в которой почти невозможно проиграть. Можно просто нажимать на все клавиши подряд – и хилые враги всё равно падут перед вашей мощью. Когда сложность возрастает, игра начинает требовать от игрока уже более глубокого понимания ее механик. По расчетам разработчиков, это понимание должно было возникнуть в ходе битв со слабыми и уязвимыми монстрами из обучения, но поскольку некоторые игроки прошли тренировочные бои путем бездумного перебора кнопок на контроллере, они оказались не готовы к настоящим испытаниям. А свои объяснения игра уже закончила.


Гениальный Марио

Пожалуй, лучшим примером обучения в видеоиграх, использующим почти все способы, о которых я успел на данный момент рассказать, является Super Mario Bros. (рис. 12). Первый уровень был выверен до пикселя в ходе множества тестов, и он один умудряется раскрывать все основные механики игры. Во-первых, Марио появляется в левой части экрана, предоставляя игроку для исследования огромное пространство справа – туда как раз и нужно двигаться. В эпоху, когда платформеры использовали в основном вертикальную прокрутку, Super Mario Bros. стала одной из первых игр, в которых герой двигается слева направо, и игроков того времени нужно было этому учить.


Рис. 12. Super Mario Bros. Nintendo, 1985


Во-вторых, первый встречаемый нами враг – это Гумба. Его поведение хоть и является очень простым – он неумолимо движется вперед, – но игрок еще об этом не знает. Как заметили разработчики «Марио», новый игрок, озадаченный появлением Гумбы, обычно останавливается и подпрыгивает в момент, когда тот к нему приближается. Ровно над тем местом, где останавливалось большинство игроков, разработчики установили такой интерактивный объект, как кирпичик со знаком вопроса. Подпрыгнув в попытке увернуться от Гумбы, игрок бьется о кирпичик снизу, и игра тут же раскрывает ключевую механику: удар по кирпичу дает бонусы – из него вылетает монетка, и игрок получает аж две сотни очков! Что за очки – пока неясно, но цифры играют немаловажную роль в эмоциях, испытываемых игроком: он воспринимает их как оценку своих действий. Внушительной цифрой 200 игра показывает, что разбивать кирпичи – это одобряемый и вознаграждаемый паттерн поведения игрока.

В-третьих, из-за удара о кирпичик прыжку Марио не хватает высоты, чтобы пропустить Гумбу под собой. Усатый водопроводчик неминуемо сваливается своему врагу на голову, за что получает еще сотню очков и приятную анимацию сплющивания Гумбы. Так игра только что положительной реакцией закрепила еще один одобряемый ею паттерн поведения.

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

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

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

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

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