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

Создание таких игр требует огромного количества ресурсов, так что определенно не стоит сходить с ума в попытке предоставить игроку такие же просторы для действий, какие имеются, например, в Red Dead Redemption 2. Перенять такую черту, как разнообразие целей и действий, можно и менее ресурсозатратными способами: почти любая метроидвания, подводя игрока к очередному боссу, способна оставить на карте белые пятна, к которым он вернется в поисках усилений в том случае, если сочтет босса слишком сложным. Разнообразие оружия в играх других жанров приведет к тому, что, заскучав, игрок сможет сменить экипировку и начать получать от игры другой опыт, способствующий появлению состояния потока. Наличие возможности бросить начатое дело и отвлечься на другую задачу, которая покажется игроку более выполнимой, равно как и предоставление разных способов достижения поставленной цели, позволит вам дольше удерживать игрока в потоке. В Binding of Isaac игрок регулярно сталкивается с одними и теми же монстрами, но в ходе исследования процедурно генерируемых локаций он всю дорогу собирает разные комплекты способностей и усилений, что замечательным образом сказывается на состоянии потока: перед игроком всегда встают разнообразные вызовы.


Навыки игроков

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

Моя ошибка заключалась в том, что я умудрился подвести игроков к секции со школьниками, не подготовив их к резкому скачку сложности. Играя в сложные платформеры вроде Celeste или Super Meat Boy, вы можете обратить внимание на то, насколько плавно усложняется структура уровней. Препятствия постепенно превращаются из легкопроходимых в зубодробительно сложные. Если игрока сразу забросить на последние уровни Super Meat Boy или сразу обвешать всеми усилениями и выпустить к Сатане в Binding of Isaac, цель пройти эти секции покажется большинству игроков недостижимой. Они будут не готовы к такому испытанию.

Плавное нарастание сложности является не только элементом качественного обучения, но и замечательным способом, которым разработчик проверяет, готов ли игрок к тем испытаниям, которые его ждут. Если игрок не освоил длинный прыжок в Super Meat Boy, его ни в коем случае нельзя пропускать на следующие уровни, ибо там перед ним возникнет невыполнимая цель и он, скорее всего, бросит игру. Качественное обучение предоставит играющему те знания и навыки, которые поспособствуют возникновению относительно сходного игрового опыта для всех пользователей, вне зависимости от их первоначальной подготовки.

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

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

Но, разумеется, из всех правил есть исключения, и вы вполне можете найти группу игроков-мазохистов, готовых с радостью принять ваш нечестный и неаккуратный платформер, состоящий из пил и шипов. Некоторые игры и вовсе делают издевательский подход к игроку своей ключевой особенностью: например, в I wanna be the Guy правила игры меняются на ходу и большинство смертей просто непредсказуемы. Вы можете спокойно пробежать мимо трех красных яблок, а четвертое, точно такое же внешне, свалится на голову и убьет вашего персонажа. Эти механики работают, потому что используются авторами осознанно и с пониманием того, что они делают.


Честность

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

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

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

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

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