Механика 2: Объекты, свойства и состояния
Пространство без ничего – это просто пространство. Внутри вашего игрового пространства обязательно должны быть объекты. Персонажи, знаки, табло, в общем, все, что можно видеть, и чем можно управлять в вашей игре — попадает под эту категорию. Объекты – это “существительные” игровых механик. Теоретически могут быть случаи, когда пространство само является объектом, но чаще пространство и объекты достаточно разные, чтобы их можно было легко отличать друг от друга. Объекты обычно имеют одно или несколько свойств, одно из которых часто является текущей позицией в игровом пространстве.
Свойства – это категории информации об объектах. Например, в гоночном симуляторе свойствами автомобиля может быть текущая и максимальная скорость. У каждого свойства есть текущее состояние. Состояние свойства “максимальной скорости” может составлять 150 миль в час, тогда как состояние свойства “текущей скорости” может составлять 75 миль в час, если этот показатель является той скоростью, с которой двигается автомобиль. Состояние максимальной скорости сильно не меняется, если только вы не приобретаете апгрейды для вашего мотора. В то же время текущая скорость – это постоянно меняющийся показатель.
Если мы называем объекты существительными игровых механик, то свойства и состояния – это их прилагательные.
Свойства могут быть постоянными (такими как цвет шашки), которые не изменяются в течение игры, или динамичными (у шашки есть свойство “режима движения” с тремя возможными состояниями: “нормальное”, “дамка”, “захваченное”). Нас интересуют, в первую очередь, динамичные состояния.
Вот еще два примера:
1 В шахматах у короля есть свойство “режима движения” с тремя важными состояниями (“свободное движение”, “шаг”, “мат”).
2 В Монополии всякую собственность на игровом поле можно рассматривать как динамичное свойство “количества построек” с шестью состояниями (0, 1, 2, 3, 4, отель), а также как свойство “закладной” с двумя состояниями (да, нет).
Важно ли информировать игрока о каждом изменении состояния? Не обязательно. Некоторые изменения состояний лучше оставить скрытыми. Но есть и такие, о которых сообщать игроку очень важно. Обязательно следуйте правилу: если два объекта ведут себя одинаково, они должны выглядеть одинаково. Если они ведут себя по-разному, выглядеть они должны тоже по-разному.
Объекты в видеоиграх, особенно те, которые представляют собой персонажей с развитым AI, имеют столько свойств и состояний, что геймдизайнер может легко в них запутаться. Часто может быть полезным составить диаграмму состояний для каждого свойства, чтобы вы могли лучше понять, какие состояния связаны между собой и что является катализатором их изменений. В рамках игрового программирования, применение состояния свойства как “конечного автомата” может помочь контролировать всю эту сложность и облегчить процесс дебага. Рисунок 10.9 – это простая диаграмма для свойства “движения” привидения в Pac Man.
Рис. 10.9
Круг, который обозначен “в клетке” — это изначальное состояние привидения (двойной круг часто используется для отображения стартовой позиции). Каждая стрелка показывает возможные смены состояния вместе с событиями, которые провоцируют эти смены. Диаграммы вроде этой очень полезны, когда нужно создать сложное поведение в игре. Они заставляют вас обдумать абсолютно все, что может произойти с объектом и что провоцирует эти события. Применяя эту смену состояний в компьютерном коде, вы автоматически запрещаете нежелательные смены (такие как “В клетке” -> “Синий”), что помогает избавиться от сбивающих с толку багов. Эти диаграммы могут быть самыми сложными и иногда иерархичными. Например, вполне возможно, что в алгоритме настоящего Пак-Мана есть несколько суб-состояний “Преследовать Пак-Мана”, такие как “Найти Пак-Мана”, “На хвосте у Пак-Мана”, “Двигаться через тоннель” и т.д.
Вы сами должны решать, какими будут свойства и состояния каждого объекта. Часто есть много способов представлять одни и те же вещи. Например, в покере руки игрока можно определить как зону для игрового пространства, в которой находятся пять объектов в виде карт или вы можете решить, что вы не хотите думать о картах как об объектах и тогда просто называете руки игрока объектом, у которого есть пять свойств в виде карт. Как и со всем остальными аспектами геймдизайна, здесь “правильным” способом мышления будет тот, который больше всего подходит вам в данный момент.
Секреты
Касательно игровых свойств и их состояний очень важно решить, кто о каких будет знать. Во многих настольных играх вся информация открыта: иными словами, все о ней знают. В шахматах оба игрока могут видеть все фигуры на доске и все фигуры, которые были захвачены – нет никаких секретов — кроме того, о чем думают остальные игроки. В карточных играх скрытое или приватное состояние – это большая часть игры. Вы знаете свои карты, но карты оппонента являются для вас тайной, которую вы должны разгадать. Например, покер, в основном заключается в необходимости угадать, какие карты находятся у вашего оппонента, пытаясь скрыть информацию о том, какие карты у вас на руках. Игра становится абсолютно другой, когда вы варьируете открытую и приватную информацию. В традиционном “draw poker” все состояния приватные – игроки могут только угадывать ваши карты, основываясь на том, сколько вы ставите. В “stud poker” некоторые ваши состояния публичные, а некоторые приватные. Это дает оппонентам больше информации о положении друг друга, что делает игру совершенно другой. Такие настольные игры как Морской бой и Stratego целиком основываются на угадывании состояний приватных свойств оппонента.
В видеоиграх мы сталкиваемся с чем-то новым: состояние, о котором знает только сама игра. Это поднимает вопрос о том как, с точки зрения игровой механики, нужно воспринимать виртуальных соперников: как других игроков или просто как часть игры. Это хорошо показано в истории: В 1980 мой дедушка купил игровую консоль Intelevision, с которой шел картридж Las Vegas Poker and Blackjack. Ему она очень понравилась, но бабушка отказывалась играть. “Он жульничает”, настаивала она. Я сказал ей, что это глупо – это просто компьютер – как он может жульничать? Она объяснила мне: “Он знает все мои карты и все карты, которые в колоде! Как он может не жульничать?” И тогда я должен был признать, что мое объяснение того, что компьютер “не смотрит на них”, когда принимает решения относительно игры, звучали неубедительно. Но это показывает, что в игре было три составляющих, которым были известны состояния различных свойств: мой дедушка, который знал состояние своих карт; алгоритм внутреннего оппонента, который “знал” состояние своих карт; и наконец, главный алгоритм игры, который знал все о картах обоих игроков, о каждой карте в колоде и обо всех остальных аспектах игры.
Значит, с точки зрения открытых/приватных свойств, есть смысл рассматривать виртуального оппонента как отдельную сущность, наравне с игроками. Сама же игра – это тоже отдельная сущность со специальным статусом. Поскольку сама она в игру не играет, то она дает ход процессам, которые делают геймплей возможным. Целия Пирс указывает на другой вид информации, которая скрыта от всех указанных выше сущностей: случайно получаемая информация — такая, как бросок игральных костей. В зависимости от ваших взглядов на судьбу, можно говорить о том, что эта информация даже не существует до того момента, когда она сгенерирована и отображена, так что определять это просто как приватную информацию немного глупо.
Сама же игра – это тоже отдельная сущность со специальным статусом. Поскольку сама она в игру не играет, то она дает ход процессам, которые делают геймплей возможным. Целия Пирс указывает на другой вид информации, которая скрыта от всех указанных выше сущностей: случайно получаемая информация — такая, как бросок игральных костей. В зависимости от ваших взглядов на судьбу, можно говорить о том, что эта информация даже не существует до того момента, когда она сгенерирована и отображена, так что определять это просто как приватную информацию немного глупо.
Чтобы ее понять, хорошо подойдет диаграмма Венна (Venn diagram), которую я называю “иерархией знающих”, с помощью которой можно визуально представить отношения между открытыми и приватными состояниями:
Каждый круг на Рис. 10.10 представляет собой “знающего”. “Знающие” – это God, the Game и Player 1, 2, 3. Каждый пункт в игре является некой информацией – состоянием свойства.
Рис. 10.10
● A – полностью открытая информация, такая как положение фигуры на игровом поле или открытая карта. Всем игрокам она известна.
● B– состояние, о котором знают player 2 и 3, но которое скрыто от player 1. Возможно, 2 и 3 имеют возможность видеть открытую карту, в то время как player 1 не имеет такой возможности. Или, может быть,player 2 и 3 – виртуальные оппоненты player 1, и их алгоритм подразумевает совместное использование информации с целью объединения против player 1.
● C– информация, известная только одному игроку, которым в этом случае является player 2. Это может быть, например, карта, которую он вытащил.
● D– информация, о которой знает игра, но которая не известна игрокам. В некоторых механических настольных играх это состояние существует в физической структуре самой настольной игры, но игрокам оно неизвестно. Stay Alive — это классический пример такой игры, в которой пластиковый ползунок при перемещении открывает отверстия на игровом поле. Touche — это еще один интересный пример. Здесь под каждой клеткой игрового поля находятся магниты с неизвестной полярностью. Игра “знает” об этих состояниях, но игроки – нет. Другой пример – настольные ролевые игры, в которых есть “dungeon master” или “game master”. Этот персонаж не является игроком, но ему известна значительная часть информации об игровых состояниях, поскольку он представляет собой, так сказать, операционный механизм игры. В большинстве компьютерных игр значительная часть информации о внутренних состояниях не известна игрокам.
● E– случайно сгенерированная информация, о которой знает только God.
● Игры, в которых игрок обязан держать в голове слишком много состояний (слишком много игровых элементов, слишком много статистики каждого персонажа), могут запутать его, перенасытив ненужной информацией. В Главе 11 мы поговорим о технике оптимизации количества состояний, которые являются приемлемыми для игрока.
Если вы будете думать о вашей игре строго как о наборе объектов и свойств с изменяющимися состояниями, это откроет вам полезную перспективу, на которой основывается Линза #22:
Линза #22: Линза Динамического Состояния |
Чтобы воспользоваться этой линзой, подумайте о том, какая информация меняется в процессе вашей игры и кому эта информация известна. Спросите себя: ● Из каких объектов состоит моя игра? ● Что является свойствами этих объектов? ● Какие возможные состояния есть у каждого свойства? Что провоцирует изменение состояний каждого свойства? ● Какие состояния известны только игре? ● Какие состояния известны всем игрокам? ● Какие состояния известны некоторым или только одному игроку? ● Изменится ли моя игра в лучшую сторону, если я изменю список тех, кому доступна приватная информация. В игре нужно постоянно принимать решения. Вы принимаете решения, основываясь на информации. Решения относительно различных свойств, их состояний и того, кто о них знает – это ядро механики вашей игры. Небольшое изменение списка “знающих” может радикально изменить вашу игру, иногда в лучшую, а иногда в худшую сторону. Этот список можно изменять даже по ходу игры – отличный способ добавить игре драматичности – сделать открытой некую важную информацию, которая до этого была приватной. |
Механика 3: Действия
Следующая важная игровая механика – это действия. Действия – это “глаголы” игровых механик. Существуют два взгляда на действия или, иными словами, два способа ответить на вопрос “Что могут делать игроки?”.
Первый тип действий – это активные действия. Это просто те действия, которые игрок может совершать. Например, в игре шашки доступны три основных действия:
1 Двигать шашку вперед
2 Перепрыгивать через шашки оппонента
3 Двигать шашку назад (только в дамках)
Второй тип действий – результирующие действия. Это действия, которые нужно рассматривать с точки зрения игры в целом – они определяются тем, как именно игрок использует активные действия в процессе достижения цели. Список результирующих действий обычно длиннее списка активных действий. Давайте посмотрим на возможные результирующие действия в шашках:
● Защитить шашку от захвата, поставив сзади нее другую шашку
● Заставить оппонента совершить ненужный ему прыжок
● Пожертвовать шашкой, чтобы обмануть оппонента
● Построить “мост”, чтобы прикрыть задний ряд
● Поместить шашку в “ряд дамок”, чтобы сделать из нее дамку
● …и многие другие
Результирующие действия часто можно описать как незримые взаимодействия внутри самой игры, которые, к тому же, часто представляют собой стратегические ходы. Эти действия не заложены в правила игры, а скорее являются действиями и стратегиями, которые возникают сами по себе в процессе игры. Большинство геймдизайнеров согласны с тем, что возникающие действия – это признак хорошей игры. Поэтому соотношение значимых результирующих действий и действий управления — это хороший способ измерить количество возникающего поведения, доступное вашей игре. Если игра сделана действительно со вкусом, она позволяет игроку при минимальном количестве действий управления, совершить максимальное количество эффект-ориентированных действий. Следует отметить, что это, в некотором смысле, субъективная мера, потому что количество “значимых” результирующих действий — это личное дело каждого.
Создание “возникающего геймплея”, то есть интересных результирующих действий, можно сравнить с выращиванием сада, поскольку то, что возникает, живет своей собственной жизнью, но в то же время, оно настолько хрупкое, что его легко разрушить. Когда вы замечаете в своей игре интересные эффект-ориентированные действия, вы должны уметь узнать их, а затем сделать все, что в ваших силах, чтобы вскормить их, дать им шанс окрепнуть и расцвести. Но чем же все-таки вызывается возникновение этих вещей? Это не просто удача — вы сами можете увеличить шансы появления интересных эффект-ориентированных действий. Вот пять советов для того, чтобы правильно подготовить грунт вашей игры и высадить в него семена возникновения.
1 Добавляйте больше глаголов. Иными словами, добавляйте больше активных действий. Результирующие действия возникают при взаимодействии активных действий друг с другом, с объектами и с игровым пространством. Когда вы добавляете больше активных действий, появляется больше возможностей для взаимодействий, то есть для возникновения. Игра, где вы можете бегать, прыгать, стрелять, покупать, продавать, водить машины и строить, имеет более высокий потенциал для возникновения, чем та, где вы можете только бегать и прыгать. Тем не менее, не стоит забывать об осторожности — добавление слишком большого количества активных действий, особенно таких, которые не взаимодействуют друг с другом достаточно хорошо, может сделать вашу игру затянутой, запутанной и безвкусной. Не забывайте, что соотношение результирующих и активных действий важнее, чем общее количество одних только активных действий. Всегда лучше добавить одно хорошее активное действие вместо кучи действий среднего уровня.
2 Глаголы, которые могут взаимодействовать со многими дополнениями. Это, возможно, самая эффективная вещь, которую вы можете применить, чтобы сделать первоклассную, интересную игру. Если вы даете игроку оружие, которым можно стрелять только по плохим парням, то у вас получается слишком простая игра. Но если с этим же оружием можно прострелить дверной замок, сразить окно, ходить на охоту, взрывать машинные покрышки или оставлять послания на стенах, вы сразу открываете для себя мир с большим количеством возможностей. У вас все еще есть только одно активное действие “стрелять”, но, увеличив количество объектов по которым можно эффективно стрелять, вы увеличили также и количество эффект-ориентированных действий.
3 Цели, которых можно достичь более чем одним путем. Это отлично, когда вы позволяете игрокам делать самые разные вещи в вашей игре, предоставляя им большое количество глаголов, и большое количество дополнений к ним. Но если есть только один путь для достижения цели, игроку незачем искать необычные взаимодействия и интересные стратегии. Возвращаясь к примеру про “стрелять”, если вы даете игроку возможность стрелять по многим вещам, а цель игры предусматривает просто “убить босса”, игроки будут делать только это. С другой стороны, если вы можете убить босса, например, выстрелив в канат таким образом, чтобы тот разорвался и на босса упал какой-то большой груз, или, может быть, и вовсе без единого выстрела, используя исключительно свою смекалку, вы получите насыщенный, динамичный геймплей, в котором возможно практически все. Проблема этого подхода состоит в том, что он усложняет задачу сохранения баланса в игре, ведь если один путь будет значительно легче всех остальных (доминантная стратегия), игрок всегда пойдет именно этим путем. Мы поговорим об этом подробнее в Главе 11.
4 Много субъектов. Если бы в шашках была только одна красная шашка и одна черная, но правила были бы те же, что и сейчас, в эту игру было бы неинтересно играть. А всё потому, что игра становится интересной благодаря большому количеству фигур, которыми игроки могут управлять по своему усмотрению, вызывая различные взаимодействия, передвигая свои фигуры и жертвуя ими. Конечно, этот метод нельзя применять ко всем играм, но в некоторых ситуациях его эффект может приятно вас удивить.
5 Побочные эффекты, которые изменяют вектор давления. Если каждый раз, когда вы совершаете действие, оно имеет побочные эффекты, которые могут изменить степень давления на вас или на вашего оппонента, это может стать основой очень интересного геймплея. Давайте еще раз посмотрим на шашки. Каждый раз, когда вы передвигаете фигуру, вы не только изменяете клетку, которая находится под угрозой захвата, но и одновременно изменяете список клеток, на которые ваш оппонент (или вы) может переместить свои фигуры. В известном смысле, каждый шаг в корне изменяет игровое пространство, хотите вы этого или нет. Подумайте, насколько бы шашки отличались от своего классического вида, если бы на одной клетке могли находиться несколько фигур. Заставляя основные аспекты геймплея меняться после каждого активного действия, вы увеличиваете вероятность случайного возникновения интересных результирующих действий.
Линза #23: Линза Возникновения |
Чтобы убедится в том, что ваша игра обладает интересными качествами возникновения, спросите себя: ● Сколько глаголов есть у моего игрока? ● На сколько объектов распространяются действия каждого глагола? ● Сколькими путями игрок может достичь цели? ● Сколько субъектов контролирует игрок? ● Как побочные эффекты изменяют вектор давления? |
Если сравнивать игры с книгами и фильмами, одним из самых явных отличий будет количество глаголов. Игры обычно ограничивают игроков до крайне ограниченного ряда возможных действий, в то время как количество действий, доступных персонажу литературного произведения, кажется практически безграничным. Это естественный побочный эффект того факта, что в играх все действия и их эффекты проявляются непосредственно в процессе игры, тогда как в литературном произведении все эти аспекты проработаны заранее. В Главе 16 мы поговорим о том, как сделать эти побочные эффекты незаметными для игрока, чтобы мы могли дать ему ощущение бесконечных возможностей, ограничивая при этом количество доступных активных действий рамками целесообразности.
Причина того, что многие игры кажутся похожими, заключается в том, что они используют один и тот же набор действий. Посмотрите на так называемые “производные” игры, и вы заметите, что они содержат тот же набор действий, что и те игры, от которых они “произошли”. А теперь посмотрите на игры, которые люди называют “инновационными”, и вы найдете в них абсолютно новые типы активных и результирующих действий. Когда Donkey Kong только появилась, она сильно отличалась от существующих игр, потому что в ней можно было бегать и прыгать, что для того времени было в новинку. Harvest Moon была игрой о ведении фермерского хозяйства. В Katamaran Damacy нужно было катать липкий шар. Действия, которые игроки могут совершать, настолько важны для определения игровых механик, что, изменив одно действие, вы можете создать абсолютно новую игру.
Некоторые дизайнеры мечтают об играх, где каждый глагол, о котором подумает игрок, становится возможным действием, и это определенно прекрасная мечта. Некоторые крупные многопользовательские игры как раз начинают двигаться в этом направлении, предлагая широкий ряд глаголов для боевых, социальных и других взаимодействий. В некотором смысле, это возвращение в прошлое — к текстовым квестам 1970-х и 1980-х, которые были очень популярными, и в которых игрокам были доступны десятки, и даже сотни возможных глаголов. Но, с развитием игр с доминирующей визуальной составляющей, количество глаголов заметно сократилось, потому что поддержка такого большого количества действий на визуальном уровне не была возможной. Уход (или спячку) текстовых квестов обычно связывают с ориентацией масс на яркие визуальные эффекты — но с другой точки зрения, этому может быть и другое объяснение. В современных трехмерных видеоиграх у игрока есть крайне ограниченный набор активных действий. Обычно игроки знают о всех возможных действиях, которые они могут совершить. В текстовых квестах целый ряд активных действий был неизвестен игроку, а их открытие становилось частью игры. Очень часто решением заковыристой загадки становился необычный глагол, типа “уколоть рыбу” или “пощекотать обезьяну”. Несмотря на всю креативность данного подхода, задания часто были слишком сложными — на каждую сотню глаголов, которые поддерживала игра, приходилась тысяча неизвестных ей. Как результат, у игроков не было “полной свободы”, которую теоретически должен был предоставить им интерфейс текстового квеста. Вполне возможно, что эта сложность, больше чем все остальное, повлияла на уход этого жанра в небытие.
То, какие действия вы выберете, в значительной степени определит структуру вашей игры, так что обратите внимание на Линза #24.
Линза #24: Линза Действия |
Чтобы воспользоваться этой линзой подумайте о том, что ваши игроки могут делать, чего не могут и почему так происходит. Спросите себя: Какие активные действия есть в моей игре? Какие есть результирующие действия? Какие результирующие действия я хотел бы увидеть? Как я могу изменить свою игру, чтобы они были возможными? Доволен ли я соотношением результирующих и активных действий? Какие действия игроки хотели бы совершать в моей игре, но не могут? Могут ли я как-то дать им такую возможность, посредством активных или результирующих действий? Игра без действий похожа на предложение без глаголов — ничего не происходит. Определение со списком доступных действий — это возможно самое важное решение, которое вы принимаете как геймдизайнер. Даже самые незначительные изменения этого списка будут иметь самые серьезные последствия, которые могут привести вас как к чудесному возникающему геймплею, так и к скучной и предсказуемой игре. Внимательно выбирайте ваши действия и научитесь слушать вашу игру и ваших игроков, чтобы знать, во что выльются ваши решения. |
Механика 4: Правила
Правила – это на самом деле самая основная механика. Они определяют пространство, объекты, действия, последствия действий, векторы давления действий и цели. Иными словами, они делают возможными все те механики, которые мы уже обсуждали, и добавляют важнейшую вещь, которая делает игру игрой – цели.