Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Механика 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: Линза Динамического Состояния
Чтобы воспользоваться этой линзой, подумайте о том, какая информация меняется в процессе вашей игры и кому эта информация известна. Спросите себя:   ● Из каких объектов состоит моя игра? ● Что является свойствами этих объектов? ● Какие возможные состояния есть у каждого свойства? Что провоцирует изменение состояний каждого свойства? ● Какие состояния известны только игре? ● Какие состояния известны всем игрокам? ● Какие состояния известны некоторым или только одному игроку? ● Изменится ли моя игра в лучшую сторону, если я изменю список тех, кому доступна приватная информация.   В игре нужно постоянно принимать решения. Вы принимаете решения, основываясь на информации. Решения относительно различных свойств, их состояний и того, кто о них знает – это ядро механики вашей игры. Небольшое изменение списка “знающих” может радикально изменить вашу игру, иногда в лучшую, а иногда в худшую сторону. Этот список можно изменять даже по ходу игры – отличный способ добавить игре драматичности – сделать открытой некую важную информацию, которая до этого была приватной.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных