Книга: Геймдизайн
Назад: Механика 2. Время
Дальше: Механика 4. Действия

Механика 3. Объекты, свойства и состояния

Пустое пространство – это просто пространство. Внутри вашего игрового пространства обязательно должны быть объекты. Персонажи, знаки, табло: все, что можно видеть и чем можно управлять в вашей игре, попадает в эту категорию. Объекты – это «существительные» игровых механик. Теоретически могут быть случаи, когда пространство само является объектом, но чаще пространство и объекты достаточно различны, чтобы их можно было легко отличать друг от друга. Объекты обычно имеют одно или несколько свойств, одно из которых часто является текущей позицией в игровом пространстве.
Свойства – это категории информации об объектах. Например, в гоночном симуляторе свойствами автомобиля может быть текущая и максимальная скорость. У каждого свойства есть текущее состояние. Состояние свойства «максимальной скорости» может составлять 150 миль в час, тогда как состояние свойства «текущей скорости» может составлять 75 миль в час, если этот показатель является той скоростью, с которой двигается автомобиль. Состояние максимальной скорости не меняется, если только вы не приобретаете апгрейды для вашего мотора. В то время как текущая скорость – это постоянно меняющийся показатель.
Если мы называем объекты существительными игровых механик, то свойства и состояния – это их прилагательные.
Свойства могут быть постоянными (такими как цвет шашки), не изменяющимися в течение игры, или динамичными (у шашки есть свойство «режима движения» с тремя возможными состояниями: «стандартная», «в дамках», «захваченная»). Нас интересуют в первую очередь динамичные свойства.
Вот еще два примера.
1. В шахматах у короля есть свойство «режима движения» с тремя важными состояниями («свободное движение», «шах», «мат»).
2. В «Монополии» всякую сущность на игровом поле можно рассматривать как динамичное свойство «количества построек» с шестью состояниями (0, 1, 2, 3, 4, отель), а также как свойство «закладной» с двумя состояниями (да, нет).
Нужно ли, чтобы игрок знал о каждом изменении состояния? Не обязательно. Некоторые изменения состояний лучше оставить скрытыми. Но есть и такие, о которых сообщать игроку очень важно. Обязательно следуйте правилу: если два объекта ведут себя одинаково, они должны выглядеть одинаково. Если они ведут себя по-разному, выглядеть они должны тоже по-разному.
Объекты в видеоиграх, особенно те, которые представляют собой персонажей с развитым искусственным интеллектом, имеют столько свойств и состояний, что геймдизайнер может легко в них запутаться. Будет полезным составить блок-схему состояний для каждого свойства, чтобы вы могли лучше понять, какие состояния связаны между собой и что является катализатором их изменений. С точки зрения программирования состояние каждого свойства может быть представлено в виде «механизма состояний», это поможет держать под контролем столь сложные системы и в дальнейшем облегчит процесс исправления ошибок. Рис. 12.12 – это простая диаграмма для свойства «движения» привидения в Pac Man.
Круг, обозначенный как «в клетке», – это изначальное состояние привидения (двойной круг часто используется для отображения стартовой позиции). Каждая стрелка показывает возможные изменения состояния вместе с событиями, которые провоцируют эти изменения. Диаграммы вроде этой очень полезны, когда нужно описать сложное поведение в игре. Они заставляют вас обдумать абсолютно все, что может произойти с объектом и что провоцирует эти события. Перенося эти изменения состояний в компьютерный код, вы автоматически запрещаете любые переходы между состояниями, которые противоречат ей (например, «В клетке» → «Синий»), что помогает избавиться от сбивающих с толку ошибок. Эти схемы могут быть довольно сложными и иногда иерархичными. Например, вполне возможно, что в алгоритме настоящего Пак-Мана есть несколько субсостояний «Преследовать Пак-Мана», такие как «Найти Пак-Мана», «На хвосте у Пак-Мана», «Двигаться через тоннель» и т. д.

 

 

Вы сами должны решать, какими будут свойства и состояния каждого объекта. Часто одни и те же вещи можно реализовать несколькими способами. Например, в покере руки игрока можно определить как зону для игрового пространства, в которой находятся пять объектов в виде карт. А можно назвать объектом сами руки игрока, а карты – пятью их свойствами. Как и в случае со всеми остальными аспектами геймдизайна, «правильным» способом мышления здесь будет тот, который больше всего подходит в данный момент конкретно вам.
Игры, заставляющие держать в голове слишком много состояний (слишком много игровых фигур, слишком много свойств у каждого персонажа), могут запутать игроков. В главе 13 мы рассмотрим различные техники оптимизации количества состояний, с которыми сталкивается игрок. Если вы представите свою игру как набор свойств с изменяющимися состояниями, вы откроете для себя много интересного, в этом вам поможет призма 28.
Призма 28: Призма механизма состояний
Чтобы воспользоваться этой призмой, подумайте, какая информация изменяется по ходу вашей игры. Спросите себя:
• Какие объекты есть в моей игре?
• Какие у этих объектов свойства?
• Какие состояния могут быть у этих свойств?
• Что вызывает изменение состояния для каждого из свойств?

Играя, мы постоянно принимаем решения. Эти решения основываются на информации. Решая, какими в вашей игре будут различные свойства и как будут изменяться их состояния, вы определяете суть ваших игровых механик.
Секреты
Очень важным решением будет вопрос о доступности информации. Во многих настольных играх вся информация открыта: иными словами, все игроки располагают одинаковым количеством информации. В шахматах оба игрока могут видеть все фигуры на доске и все захваченные фигуры, нет никаких секретов, кроме того, о чем думает другой игрок. В карточных играх бо́льшая часть игры проходит в скрытом приватном состоянии. Вы знаете свои карты, но карты оппонента являются для вас тайной. Суть игры в покер заключается в основном именно в необходимости разгадать карты оппонента, пытаясь скрыть информацию о том, какие карты у вас на руках. Игра становится абсолютно другой, когда вы варьируете открытую и приватную информацию. В традиционном «draw poker» все состояния приватные – игроки могут только угадывать ваши карты, основываясь на том, сколько вы ставите. В «stud poker» часть состояний открытые, а часть – приватные. Это дает оппонентам больше информации о положении друг друга, что делает игру совершенно иной. Такие настольные игры, как «Морской бой» и Stratego, целиком основываются на попытках угадать состояния приватных свойств оппонента.
В видеоиграх мы сталкиваемся с чем-то новым: состояние, о котором знает только сама игра. Это поднимает вопрос о том, как с точки зрения игровой механики нужно воспринимать виртуальных соперников: как других игроков или просто как часть игры. Эта идея хорошо раскрыта в следующей истории: в 1980 году мой дедушка купил игровую консоль Intelevision, с которой в комплекте продавался картридж Las Vegas Poker and Blackjack. Дедушке игра очень понравилась, но бабушка отказывалась играть. «Компьютер жульничает», – настаивала она. Я сказал ей, что это глупо – это просто компьютер, как он может жульничать? Она объяснила мне: «Он знает все мои карты и все карты, оставшиеся в колоде! Как он может не жульничать?» Мне пришлось признать, что мои объяснения о том, что компьютер «не смотрит на карты», принимая решения о своих дальнейших действиях, звучали неубедительно. Но это показывает, что в игре есть трое, кому известны состояния различных свойств: мой дедушка, знавший состояние своих карт; алгоритм внутреннего оппонента, который «знал» состояние своих карт; и, наконец, главный алгоритм игры, знавший все о картах обоих игроков, о каждой карте в колоде и обо всех остальных аспектах игры.
Значит, с точки зрения открытых/приватных свойств, есть смысл рассматривать виртуального оппонента как отдельную сущность, наравне с игроками. Сама же игра – это тоже отдельная сущность со специальным статусом, которая сама в себя играть не может, но может принимать решения, реализующие гейм-плей. Целия Пирс также указывает на другой вид информации, скрытый от всех указанных выше сущностей: случайно генерируемая информация, например бросок игральных костей. Если вы не верите в предопределенность, можно даже сказать, что этой информации не существовало вовсе до того момента, пока она не была сгенерирована и отображена. И ее в любом случае нельзя определять как приватную.
Все сказанное отлично вписывается в диаграмму Венна, которую я называю «иерархией знающих» и с помощью которой можно визуально представить отношения между открытыми и приватными состояниями.
Каждый круг на рис. 12.13 представляет собой «знающего». «Знающие» – это Бог, Игра и Игроки 1, 2, 3. Каждый пункт в игре является некой информацией – состоянием свойства.

 

 

• A – полностью открытая информация, например положение фигуры на игровом поле или открытая карта. Всем игрокам она известна.
• B – состояние, о котором знают игроки 2 и 3, но которое скрыто от игрока 1. Возможно, 2 и 3 имеют возможность видеть открытую карту, в то время как игрок 1 не имеет такой возможности. Или, может быть, игроки 2 и 3 – виртуальные оппоненты игрока 1, и их алгоритм подразумевает совместное использование информации с целью объединения против игрока 1.
• C – информация, известная только одному игроку, которым в данном случае является игрок 2. Это может быть, например, карта, которую он вытащил.
• D – информация, известная игровой системе, но о которой не знают игроки. В некоторых механических настольных играх это состояние существует в физической структуре самой настольной игры, но игрокам оно неизвестно. Stay Alive – классический пример такой игры, в которой пластиковый ползунок при перемещении открывает отверстия на игровом поле. Touche – еще один интересный пример. Здесь под каждой клеткой игрового поля находятся магниты с неизвестной полярностью. Игра «знает» об этих состояниях, но игроки – нет. Другой пример – настольные ролевые игры, в которых есть ведущий («dungeon master» или «game master»). Этот персонаж не является игроком, но ему известна значительная часть информации об игровых состояниях, поскольку он представляет собой, так сказать, операционный механизм игры. В большинстве компьютерных игр значительная часть информации о внутренних состояниях не известна игрокам.
• E – случайно сгенерированная информация, о которой знает только Бог.
Секреты – это сила. Призма 29 поможет вам направить эту силу в нужном направлении. Возьмите ее, но только никому о ней не рассказывайте.
Призма 29: Призма секретов
Если вы измените отношения между информацией и теми, кто владеет этой информацией, это радикально изменит вашу игру. Чтобы воспользоваться этой призмой, подумайте, кому какая информация известна и почему. Спросите себя:
• О чем знает только игра?
• О чем знают все игроки?
• Что известно некоторым или только одному игроку?
• Если я поменяю эти связи, что изменится в моей игре?

Играя в игру, мы постоянно принимаем решения. Эти решения основываются на информации. Решая, какими будут различные свойства в вашей игре и как будут изменяться их состояния, вы определяете суть ваших игровых механик. Небольшие изменения между информацией и теми, кто этой информацией обладает, могут кардинально изменить вашу игру как в хорошую, так и в плохую сторону. Вы можете менять эти связи по ходу игры: отличный способ добавить в игру драматизма – сделать ранее приватную информацию публичной.
Назад: Механика 2. Время
Дальше: Механика 4. Действия