|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Механика 2: Объекты, свойства и состояния
Пространство без ничего – это просто пространство. Внутри вашего игрового пространства обязательно должны быть объекты. Персонажи, знаки, табло, в общем, все, что можно видеть, и чем можно управлять в вашей игре — попадает под эту категорию. Объекты – это “существительные” игровых механик. Теоретически могут быть случаи, когда пространство само является объектом, но чаще пространство и объекты достаточно разные, чтобы их можно было легко отличать друг от друга. Объекты обычно имеют одно или несколько свойств, одно из которых часто является текущей позицией в игровом пространстве. Свойства – это категории информации об объектах. Например, в гоночном симуляторе свойствами автомобиля может быть текущая и максимальная скорость. У каждого свойства есть текущее состояние. Состояние свойства “максимальной скорости” может составлять 150 миль в час, тогда как состояние свойства “текущей скорости” может составлять 75 миль в час, если этот показатель является той скоростью, с которой двигается автомобиль. Состояние максимальной скорости сильно не меняется, если только вы не приобретаете апгрейды для вашего мотора. В то же время текущая скорость – это постоянно меняющийся показатель. Если мы называем объекты существительными игровых механик, то свойства и состояния – это их прилагательные. Свойства могут быть постоянными (такими как цвет шашки), которые не изменяются в течение игры, или динамичными (у шашки есть свойство “режима движения” с тремя возможными состояниями: “нормальное”, “дамка”, “захваченное”). Нас интересуют, в первую очередь, динамичные состояния. Вот еще два примера:
1 В шахматах у короля есть свойство “режима движения” с тремя важными состояниями (“свободное движение”, “шаг”, “мат”). 2 В Монополии всякую собственность на игровом поле можно рассматривать как динамичное свойство “количества построек” с шестью состояниями (0, 1, 2, 3, 4, отель), а также как свойство “закладной” с двумя состояниями (да, нет).
Важно ли информировать игрока о каждом изменении состояния? Не обязательно. Некоторые изменения состояний лучше оставить скрытыми. Но есть и такие, о которых сообщать игроку очень важно. Обязательно следуйте правилу: если два объекта ведут себя одинаково, они должны выглядеть одинаково. Если они ведут себя по-разному, выглядеть они должны тоже по-разному. Объекты в видеоиграх, особенно те, которые представляют собой персонажей с развитым AI, имеют столько свойств и состояний, что геймдизайнер может легко в них запутаться. Часто может быть полезным составить диаграмму состояний для каждого свойства, чтобы вы могли лучше понять, какие состояния связаны между собой и что является катализатором их изменений. В рамках игрового программирования, применение состояния свойства как “конечного автомата” может помочь контролировать всю эту сложность и облегчить процесс дебага. Рисунок 10.9 – это простая диаграмма для свойства “движения” привидения в Pac Man. Рис. 10.9
Круг, который обозначен “в клетке” — это изначальное состояние привидения (двойной круг часто используется для отображения стартовой позиции). Каждая стрелка показывает возможные смены состояния вместе с событиями, которые провоцируют эти смены. Диаграммы вроде этой очень полезны, когда нужно создать сложное поведение в игре. Они заставляют вас обдумать абсолютно все, что может произойти с объектом и что провоцирует эти события. Применяя эту смену состояний в компьютерном коде, вы автоматически запрещаете нежелательные смены (такие как “В клетке” -> “Синий”), что помогает избавиться от сбивающих с толку багов. Эти диаграммы могут быть самыми сложными и иногда иерархичными. Например, вполне возможно, что в алгоритме настоящего Пак-Мана есть несколько суб-состояний “Преследовать Пак-Мана”, такие как “Найти Пак-Мана”, “На хвосте у Пак-Мана”, “Двигаться через тоннель” и т.д. Вы сами должны решать, какими будут свойства и состояния каждого объекта. Часто есть много способов представлять одни и те же вещи. Например, в покере руки игрока можно определить как зону для игрового пространства, в которой находятся пять объектов в виде карт или вы можете решить, что вы не хотите думать о картах как об объектах и тогда просто называете руки игрока объектом, у которого есть пять свойств в виде карт. Как и со всем остальными аспектами геймдизайна, здесь “правильным” способом мышления будет тот, который больше всего подходит вам в данный момент.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |