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