Система правил ADftD
(С) Сергей Симонович, 1995.
В игре священники имеют ряд особенностей и их надо знать. Так, например при бросках они пользуются только 8-гранными костями (d8). Только священники получают дополнительные баллы за высокий параметр мудрости (Wisdom) . У священников весьма ограничен выбор оружия и доспехов, которыми он может пользоваться. Конкретно же ранки этих границ зависят от той мифологической системы, в которой они действуют (какому Богу они поклоняются).
Как и все герои, священники прогрессируют по ходу игры с набором опыта (Expirience). Постепенно повышая свою опытность, они повышают свой уровень (Level). Таблица приведена ниже.
Таблица 10-1.
Уровни развития священника.
Уровень |
Клерик |
ДРУИД |
Hit Dice |
1 |
0 |
0 |
ld8 |
2 |
1500 |
2000 |
2d8 |
3 |
3000 |
4000 |
3d8 |
4 |
6000 |
7500 |
4d8 |
5 |
13000 |
12500 |
5d8 |
6 |
27500 |
20000 |
6d8 |
7 |
55000 |
35000 |
7d8 |
8 |
110000 |
60000 |
8d8 |
9 |
225000 |
90000 |
9d8 |
10 |
450000 |
125000 |
9d8+2 |
11 |
675000 |
200000 |
9d8+4 |
12 |
900000 |
300000 |
9d8+6 |
13 |
1125000 |
750000 |
9d8+8 |
14 |
1350000 |
1500000 |
9d8+10 |
15 |
1575000 |
3000000 |
9d8+l2 |
16 |
1800000 |
- |
9d8+14 |
17 |
2025000 |
- |
9d8+16 |
18 |
2250000 |
- |
9d8+18 |
19 |
2475000 |
- |
9d8+20 |
20 |
2700000 |
- |
9d8+22 |
Как видно из этой таблицы, друиды до 5-го уровня прогрессируют медленнее, чей клерики, но потом они развиваются быстрее. После 12-го уровня друиды опять начинают отставать и выше 15-го уровня обычных друидов вообще не бывает.
В зависимости от уровня опытности священника, еиу доступно большее или меньшее число заклинаний (молитв).
Таблица 10-2. Заклинания, доступные священнику.
Уровень |
Уровень |
заклинания |
священника |
1 |
2 |
3 |
4 |
5 |
6* |
7** |
1 |
1 |
|
|
|
|
|
|
2 |
2 |
|
|
|
|
|
|
3 |
2 |
1 |
|
|
|
|
|
4 |
3 |
2 |
|
|
|
|
|
5 |
3 |
3 |
1 |
- |
- |
- |
- |
6 |
3 |
3 |
2 |
- |
- |
- |
- |
7 |
3 |
3 |
3 |
1 |
- |
- |
- |
8 |
3 |
3 |
3 |
2 |
- |
- |
- |
9 |
4 |
4 |
3 |
2 |
1 |
- |
- |
10 |
4 |
4 |
3 |
3 |
2 |
- |
- |
11 |
5 |
4 |
4 |
3 |
2 |
1 |
- |
12 |
6 |
5 |
5 |
3 |
2 |
2 |
- |
13 |
6 |
6 |
6 |
4 |
2 |
2 |
- |
14 |
6 |
6 |
6 |
5 |
3 |
2 |
1 |
15 |
6 |
6 |
6 |
6 |
4 |
2 |
1 |
16 |
7 |
7 |
7 |
6 |
4 |
3 |
1 |
17 |
7 |
7 |
7 |
7 |
5 |
3 |
2 |
18 |
8 |
8 |
8 |
8 |
6 |
4 |
2 |
19 |
9 |
9 |
8 |
8 |
6 |
4 |
2 |
20 |
9 |
9 |
9 |
8 |
7 |
5 |
2 |
ПРИМЕЧАНИЯ: * - молитвы (заклинания) 6-го уровня доступны только священникам, у которых параметр мудрости (Wisdom) не менее 17. ** - молитвы 7-го уровня доступны только священникам , у которых параметр мудрости не менее 18.
10.1 Категории священников.
Все священники разделяются на 16 категорий, которые называют "сферами влияния". Разные классы священников имеют доступ к разным сферам влияния. Таким образом принадлежность священника к тем или иным сферам влияния определяет для него набор доступных заклинаний (молитв). Это понятно, поскольку например католический священник не станет пользоваться языческими молитвами.
Эти шестнадцать сфер влияния -следующие:
All - базовые заклинания, которыми могут пользоваться все священники, независимо от веры.
Animal - заклинания, связанные с животными. Ими можно создавать животных или видоизменять их. На людей не действуют.
Astral - заклинания астрального плана. Позволяют держать связь на расстоянии через астральное пространство или перемещаться в пространстве.
Charm - "очаровывающие заклинания". Воздействуют на людей, на их взгляды и пристрастия. Как правило, эти заклинания могут заставить полюбить кого-то, сделать кого-то прекрасным в чьих-то глазах, они также используются для развития способностей, связанных с искусствами.
Combat - боевые заклинания. Используются в бою для атаки противников. Очень хорошо действуют, если священник поклоняется богу войны или богу смерти.
Creation - заклинания, порождающие что-то из ничего. Часто применяются не для себя, а для партнеров.
Divination - эти заклинания позволяют найти наилучший выход в трудной ситуации. Наприиер, найти потайную дверь, вспомнить давно забытую инфорнацию. Наилучшим образом работают в руках священника, поклоняющегося богам мудрости и знания.
Elemental - заклинания связанные с четырьня базовыми стихиями - Огня, Воды, Земли и Воздуха. Хорошо работают в руках священников, поклоняющихся богам, связанным с природой, и богам, покровительствующим мореплавателям.
Guardian - эти заклинания вызывают сверхъестественные силы, защищающие предмет или персону.
Healing - лечебные заклинания и восстанавливающие силы. Это основная группа заклинаний для священника, так как главная роль священника в бою - лечить пострадавших воинов.
Neeromantio - заклинания, связанные со смертью. Относятся в основном к черной магии и имеют две направленности. Во-первых, с их помощью священник может оживлять погибших героев или лечить полуживых, передавая им ^часть своей жизненной силы. Применяя заклинания этой группы, священник наносит существенный урон себе. Вторая направленность связана с нанесением разрушительных повреждений противнику. Этой возможностью пользуются исключительно злые (наклонность EVIL) священники.
Plant - группа заклинаний, связанная с растениями. Их много. Они позволяют большой спектр действий от простого увеличения урожая до возможности общения с растениями.
Protection - группа защитных заклинаний, позволяющая установить волшебную защиту в бою на избранную персону. Наряду с заклинаниями группы Healing - наиболее распространенные заклинания.
Summoning - заклинания, предназначенные для вызова других созданий из другого места или из другого пространства. Часто применяются в бою или перед боем для временного увеличения численности отряда и его боевой мощи.
Sun - группа заклинаний, связанная с естественной природой и энергией солнца. Типичные заклинания связаны с освещением пространства или, наоборот, с ослеплением противника.
Weather - тоже связаны с естественной природой и с погодой. Сюда попадают заклинания от самых простых, способных вызвать дождь до самых сложных, вызывающих ураган огромной силы и обрушивающих его энергию на врага.
Священники могут быть разных классов. Мы рассмотрим два из них подробно - Клериков и Друидов и наметим остальные.
10.2.1. Клерики.
Класс клериков лучше всего рассматривать на примере рыцарей средневековых рыцарских орденов, таких как Орден Тамплиеров, Тевтонский Орден, Орден Госпитальеров и др. Все они развивали в своих членах религиозные качества наряду с боевыми искусствами. Члены этих орденов тренировались в военном деле как рыцари, но при этом посвящали себя служению церкви. Часто мы находим такие организации на границах европейского мира. Здесь они выполняли функции защиты рубежей от "неверных" и одновременно развивали военную экспансию, захватывая новые территории, якобы неся новую веру народам, они бы поработали и на Руси, если бы Александр Невский не показал им от ворот поворот. В Литве и Польше их проникновению преградила дорогу Грюнвальдская битва.
Европа не была исключением. Аналогичные организации существовали и в Азии и в Японии, достаточно вспомнить монахов из буддистского монастыря Шаолинь.
Из-за своей "универсальности" клерики - наиболее широко встречаются в ролевых играх. Они удобны широтой своих возможностей. Как правило ими могут быть персонажи с добрыми (GOOD) наклонностями, но это не обязательно. Класс этим не ограничивается. Основной параметр клерика - мудрость (Wisdom) и клериком не может быть герой, у которого этот параметр меньше 9. Из других параметров, полезных для клерика, выделим здоровье (Constitution) и обаяние (Charisma), хотя в конкретных играх иногда именно обаяние является главным параметром.
Клерик, который достиг мудрости 16 или более, получает дополнительно 10 процентов к своей опытности.
Иэ разных рас клериками могут быть люди, гномы пещерные (dwarfs), гномы лесные (gnomes), эльфы и полуэльфы.
Клерики - неплохие воины, хотя выбор оружия для них ограничен, другое дело - средства защиты. Они могут использовать любые доспехи, кольчугу, броню и щиты.
Выбор оружия ограничен тем, что клерики не любят крови. Потому они применяют в основном ударное оружие (палицы, булаву, боевой посох, шест, цеп и т.п.). Они охотно применяют магическое оружие (свитки, волшебные перстни, Магические эликсиры, волшебные палочки и жезлы и т.п.).
Но основное их оружие - заклинания и молитвы. Они используются для удовлетворения потребностей в еде, питье, отдыхе, для защиты, лечения и оживления героев отряда. Для клериков выбор этих заклинаний наиболее широк и превосходит возможности священников, посвященных конкретным специальным богам. С точки зрения сфер влияния клерик имеет полный доступ ко всем сферам, кроме Plant, Animal, Weather и Elemental. К сфере Elemental он имеет ограниченный доступ, а к остальным трем вообще не имеет никакого.
Клерик имеет очень большую силу против нежити (зомби, вампиры, скелеты, мумии, привидения и пр.). В применении заклинания Turn Undead ему нет равных, он хорошо противостоит этим силам и способен их активно уничтожать.
10.2.2. ДРУИДЫ.
Друиды тоже очень часто встречаются в ролевых играх. Исторически друиды жили в Западной Европе среди германских и британских племен во времена Римской Империи. Они были языческими священниками этих племен и выступали прежде всего в качестве советников вождей и имели огромное влияние на племена. Отправной точкой их веры была идея о том, что Земт ля является матерью всего живого и источником жизни. Соответственно и поклонялись они богам, связанным с природой, а прежде всего Солнцу, Луне и некоторым деревьям.
В играх AD&D друиды представляют собой пример "специальных" священников, опирающихся на определенную систему мифов. Они как бы священники природы, защитники дикой жизни. Свою силу они черпают от животных, растений, земли и водных источников.
Друидои может быть только человек или, в крайнем случае, полуэльф. Он должен иметь параметр мудрости не ненее 12 и параметр обаяния не менее 15. Это первичные требования к Друиду.
В отличие от клерика, друиды ограничены в выборе средств защиты. Им доступны только естественные - кожаные или деревянные доспехи* и щиты, в том числе и заряженные магией. В выборе оружия они также весьма ограничены и пользуются только дубинкой, посохом, дротиком, копьем, пращой и кинжалом.
Друиды не имеют такого широкого доступа к заклинаниям, как клерики. Они имеют полный доступ только к следующим сферам: All Animal, Elemental, Healing, Plant и Weather. Кроме того, они имеют ограниченный доступ к сфере Divination.
10.2.2.1 Преимущества друидов.
Поскольку друиды имеют массу ограничений по сравнению с клериками, для баланса игры неплохо бы им еще иметь какие-то преимущества. Как правило, все эти преимущества связаны с их близостью к природе и к возможности черпать от нее силы.
Первое преимущество связано с "сохраняющим броской". Он делает его по правилам для всех священников, но получает премию +2 очка к результату, если подвергся атаке силами огня или электричества.
Все друиды знают на один язык больше, чем это обозначено в их параметрах. Это некий секретный язык, который, кстати, используется ими для узнавания "своих". У них есть большие способности к языкам. Они могут осваивать языки лесных жителей (фавнов, кентавров, дриад, гномов, эльфов, драконов и мн.др.). После достижения третьего уровня друид добавляет себе знание еще одного языка и дальше по одному на каждый новый уровень.
Друиды хорошо перемещаются по таким территориям, где проход другим членам отряда закрыт совсем или закрыт до соответствующего обучения. Они прекрасно ориентируются в непроходимых лесах, зарослях кустарников и не оставляют следов.
В общем, способностей у друидов ненного, но можно сказать так, что для слабоподготовленного отряда они важны. На начальных этапах игры иметь в отряде друида очень полезно. Он проведет Вас там, где Вы без него не пройдете, он сможет собрать нужную информацию (подсказки) от растений и животных .
10.2.2.2. Организация друидов.
Друиды имеют хитрую организацию, что может внести дополнительный интерес в игру, если игра идет в многопользовательском режиме, а таких игр за рубежом уже хватает и, возможно, через несколько лет они появятся и у нас. Система этой организации представляет интерес еще и потому, что на ее основе создаются своеобразные увлекательные игровые сценарии.
Друид не сразу становится друидом, а только по достижении 12-го уровня. До этого он еще не друид, а только "послушник", хоть и числится друидом. Настоящих друидов 12-го уровня в регионе не может быть более 9-ти. Таким образом, персонаж не может достигнуть 12-го уровня, если в их организации нет вакантного места. Придется либо ждать, пока оно освободится, либо сражаться за него. Такой поединок может быть как на обычном оружии, так и с использованием магии. В случае летального исхода победитель получает статус друида и 12-ый уровень. Если поединок заканчивается без смерти участника, то уровень опытности проигравшего "урезается" до 200 ООО пунктов, что соответствует 11-му уровню.
Достигнув 12-го уровня и став полноценным друидом, герой приобретает дополнительные блага. К нему на службу поступают послушники. Сколько и каких - зависит от места друида среди 9-ти действующих друидов (определяется по уровню опытности). Самый опытный из 9-ти имеет трех послушников 9-го уровня. Следующий - трех послушников 8-го уровня и т.д. Последний друид имеет трех послушников 1-го уровня.
Достигнув 13-го уровня, друид может стать архидруидом. Архидруидов в регионе может быть не более трех. Опять надо либо ждать вакансии, либо искать соперника для поединка. Архидруиду служат три послушника 10-го уровня.
Высший Друид (Great Druid) соответствует 14-му уровню. В регионе он может быть только один и отвоевывает свое звание у предыдущего Высшего Друида. Становление нового Высшего Друида обычно вызывает соответствующие подвижки в рядах архидруидов, друидов и послушников и имеет сложное влияние на всю организацию.
Самый высокий уровень, какой может иметь друид - 15-ый. в этом случае он получает ранг Великого Друида (Grand Druid). Выше мы говорили, что Высший Друид в регионе может быть только один. Но сама игра может включать в себя несколько регионов. Например, это могут быть острова. Или это иожет быть большой континент, разделенный горами и реками на регионы. Великий Друид в игре может быть только один. Соответственно,
15-ый уровень может иметь тоже только один друид.
Великому Друиду служат девять друидов, из которых три могут быть архидруидами, а остальные -любого другого уровня. По ходу игры Великий Друид либо призывает себе на службу тех, кто ему приглянулся, либо они находят его и предлагают свои услуги, от которых тот может отказаться.
Титул Великого Друида не завоевывается в бою, в отличие от прочих. Он передается добровольно одному из Высших друидов. Дело в том, что положение Великого Друида не слишком интересно для тех игроков, которые любят приключения. и им, достигшии этого уровня, становится скучно. Для того, чтобы у них был стимул добровольно расстаться с этим званием, перед ними открываются возможности новой карьеры в качестве иеродру-идов (самых старших друидов). А делается это так.
В табл. 9-1 Вы можете видеть, что 15-му уровню друида соответствуют 3 ООО ООО единиц опыта и дальше прогресса нет. Это не совсем правильно. На самом деле приобретая каждые дополнительные 500000 единиц опыта, друид может и дальше повышать свой уровень. Так, для того, чтобы получить
16-ый уровень, он должен иметь 3500000 пунктов опыта и добровольно отказаться от титула Великого Друида в пользу преемника, которого выберет сам из числа Высших Друидов. Еще 500000 - и переход на 17-ый уровень и так далее, до 20-го. Таким образом, иеродруидов 16-го и других уровней (в отличие от 15-го) может быть более, чем по одному.
На 16-м уровне друид приобретает следующие положительные качества :
- стойкость ко всем видам естественных ядов. Это яды, вырабатываемые растениями и ядовитыми животными. К искусственным ядаи и газам это не относится:
- неувядающее здоровье. На него не действуют процедуры, связанные с ухудшением параметров героя в связи со старением;
- немагическое изменение собственной внешности (рост, вес, возраст). Поскольку в основе этой операции не лежит магия, то это не иллюзия, которую иначе можно было бы преодолеть контрзаклина-ниями;
На 17-м уровне иеродруид приобретает способность переходить на параллельный план, связанный со стихией зеили. Он может там пребывать, перемещаться и возвращаться в естественное пространство по желанию.
На 18-м уровне добавляется возможность перехода на план огня.
На 19-м уровне - на план воды.
На 20-м уровне - на план воздуха.
Таким образом, друиды высших уровней имеют дополнительные возможности, которых нет у других священников, в частности клери-ков.
ДО.2.3. Прочие классы священников
Мы рассмотрели клериков и друидов. Но можно придумать любое количество и прочих классов священников. Вооружившись справочником по каким-либо мифам Вы и сами сможете изобрести что-то новое. При этом Вам надо построить стройную систему. Что же для этого надо? Прежде всего, создать новый класс священников - это значит разработать пять категорий правил: требования, доступное оружие, доступные заклинания, доступные силы и ... этические нормы.
10.2.3.1 Требования.
Прежде, чем герой станет таким "специальным" священником, надо разработать требования к нему. Это обычно набор минимальных параметров, которыми он должен обладать и требования к склонностям его характера. Все священники, независимо от мифологической системы, должны иметь мудрость не ниже 9. Кроме этого параметра ведущий игры (или программист) может наложить другие требования на прочие параметры. Бог войны, например, может потребовать физической силы и здоровья (Strength>l3, Constitution>12). Богиня красоты может потребовать более высокой нудрости и обаяния (Wisdom>12, Charm>16) и т.п. Большинство богов требуют от своих священников специфических особенностей.
10.2.3.2 Доступное оружие.
Далеко не все боги одинаково относятся к кровопролитию. Одним нравится применение режуще-колющего оружия - мечей, копий, стрел. Боги, связанные с войной ограничат арсенал священника именно этим оружием. Напротив, боги, связанные с природой, ограничат арсенал тем, что сделано из природных ресурсов - дубинками, луками, посохами, шестами, цепами и т.п. Самые мирные боги вообще не приветствуют оружие и примут его только как средство защиты -сети, лассо и т.п.
Некоторые рекомендации приведены в таблице 10-3.
Одним словом, дело за Вами, как связать "специфику" своего священника и его божества с выбором оружия. Нужна фантазия. Возможно привлечение достижений прочих культур земной цивилизации кроме европейской.
10.2.3.3 Доступные заклинания.
Так же, как Вы поступили с выбором оружия, здесь следует пос-
Таблица 10-3.
Направленность божества |
Оружие |
Земледелие |
Цеп, |
, коса, дубинка |
Кузнечное |
|
|
дело |
Молот |
Смерть |
Коса |
Болезнь |
Хлыст |
Земля |
Шест |
Лечение |
Лассо, сеть, посох |
Охота |
Лук/стрелы, дротик |
|
легкое копье праща |
Любовь |
Лук/стрелы, сеть. |
|
лассо. |
Природа |
Палица, посох |
Море |
Сеть, копье, |
|
трезубец. |
Мир |
Лассо, сеть. |
Сила |
Молот, цеп. |
Гром |
Палица, булава, |
|
молот. |
Война |
Топор, меч, сабля, |
|
копье. |
Ветер |
Духовая трубка, |
|
колючки. |
тупить с выбором заклинания. Для того, чтобы не пришлось разбираться с каждым заклинанием по отдельности, стоит сразу использовать их группами, относящимися к рассмотренным выше сферам влияния.
Назначьте доступными те или иные "сферы" из рассмотренных 16-ти. Возможны два вида доступа - полный и ограниченный. При полном доступе все заклинания сферы доступны священнику. При ограниченном - только заклинания не выше 3-го уровня из данной сферы.
10.2.3.4 Доступные силы.
В зависимости от "специфики" священника Вы можете "наградить" его какими-то дополнительными возможностями. Так, например, для вышерассмотренного клерика такой особой возможностью является возможность борьбы с "нежитью". Заклинание Turn Undead у него проходит особенно хорошо.
Не следует такие дополнительные способности раздавать слишком широко. Одной-двух мощных способностей уже достаточно, чтобы сделать персонаж привлекательным.
10.2.3.5 Этические нормы.
Все священники должны жить, подчиняясь определенным нормам поведения, клерики, например, избегают проливать кровь. Если Ваш священник поклоняются Богу Войны, то, возможно, тот потребует, чтобы всегда в битве священник был в первой шеренге. Может быть Бог Охоты потребует от него быть в первом ряду, если сражение происходит на открытом воздухе, а в помещении (подземелье) не потребует . Примеров можно приводить бесконечно много. Литературный поиск по книгам поможет Вам придумать свои нормы для своего героя .
10.2.3.6. Название класса.
Здесь Вы также можете покопаться по литературе и найти то, что Вам потребуется. Кроме друидов и клериков в играх нередко встречаются шаманы и наяды. Важно, чтобы название класса соответствовало духу игры. Это может быть аббат, аятолла, бонза, брат, ГУРУ* имам, митрополит, патриарх, прелат, приор, ректор, викарий и мн.др.
10.2.3.7. Балансировка.
В итоге должен получиться персонаж, с которым приятно было бы играть. Может быть у него будет очень широкий выбор оружия, тогда ограничьте его набор заклинаний. Может быть он во всех отношениях слаб, тогда дайте ему побольше удобных и практичных дополнительных возможностей. Крайними случаями являются священники, поклоняющиеся богам войны и мира. Первых надо ослаблять, а вторых - всемерно усиливать.
CnPeggVKHfi № 9Й*ЛЦ/К№ЦЛЕ священника по са&ерая влияния.
В этом выпуске мы приведем раскладку заклинаний священника по 16-ти сферам влияния, а в следующем выпуске опишем эти заклинания более подробно. В скобках указан уровень заклинания.
10.3.1 ALL
1. Bless (1)
2. Combine (1)
3. Detect Evil (1)
4. Purify Food & Drink (1)
5. Atonement (5)
10.3.2 ANIMAL
1. Animal Friendship (1)
2. Invisibility to Animals (1)
3. Locate Animals (1)
4. Charm Person or Mammal (2)
5. Messanger (2)
6. Snake Charm (2)
7. Speak with Animals (2)
8. Hold Animal (3)
9. Summon Insects (3)
10. Animal Summoning I (4)
11. Giant Insects (4)
12. Repel Insects (4) 13» Animal Growth (5)
14. Animal Summoning II (5)
15. Animal Summoning 111(6)
16. Anti-Animal Shell (6)
17. Creeping Doom (7)
10.3.3 ASTRAL
1. Plane Shift
2. Astral Spell
10.3.4.CHARM
1. Command (1)
2. Remove Fear (1)
3. Enthrall (2)
4. Hold Person (2)
5. Cloak of Bravery(4)
6. Fire Action (4)
7. Quest (5)
8. Imbue with Spell Ability (4)
9. Confusion (7) 10. Exaction (7)
РОЛЕВЫЕ
10.3.5.COMBAT
1. Magical Stone (1)
2. Shillelagh (1)
3. Chant (2)
4. Spiritual Hammer (2)
5. Prayer (3)
6. Flame Strike (5)
7. Insect Plague (5)
8. Holy Word (7)
10.3.6.CREATION
1. Create Food & Water (3)
2. Animate Object (6)
3. Blade Barrier (6)
4. Heroes' Feast (6)
5. Wall of Thorns (6)
6. Changestaff (7)
7. chariot of Sustarre (7)
10.3.7 DIVINATION
1. Detect Magic (1)
2. Detect Poison (1)
3. Detect Snares & Pits (1)
4. Locate Animals or Plants
5. Augury (2)
6. Detect Charm (2)
7. Find Traps (2)
8. Know Alignment (2)
9. Speak with Animals (2)
10. Locate Object (3)
11. Speak with Dead (3)
12. Detect Lie (4)
13. Divination (4)
14. Reflecting Pool (4)
15. Tongues (4)
16. commune (5)
17. Commune with Nature (5)
18. Magic Font (5)
19. True Seeing (5)
20. Find the Path (6)
21. Speak with Monsters (6)
10.3.8 ELEMENTAL
1. Create Water (1)
2. Dust Devil (2)
3. Fire Trap (2)
4. Flame Blade (2)
5. Heat Metal (2)
6. Produce Flame(2)
7. Flame Walk (3)
8. Meld into Stone(3)
9. Protection from Fire (3)
10. Pyrotechnics (3)
11. Stone Shape (3)
12. Water Breathing (3)
13. Water Walk (3)
14. Lower Water (4)
15. Produce Fire (4)
16. Air Walk (5)
17. Spike Stones (5)
18. Transmute Rock to Mud (5)
19. Wall of Fire(5)
20. Conjure Fire Elemental (6)
21. Fire Seeds (6) 22 Part Water (6)
23. Stone Tell (6)
24. Transmute Water to Dust (6)
25. Animate Rock (7)
26. chariot of Sustarre (7)
27. Conjure Earth Elem. (7)
28. Earthquake (7)
29. Fire Storm (7)
30. Transmute Metal to Wood (7) 31 Wind Walk (7)
10.3.9 GUARDIAN
(1) 1. Silence (2)
2. Wyvern Watch (2)
3. Glyph of Warding (3)
4. Blade Barrier (6)
5. Symbol (7)
10.3.10 HEALING
1. Cure Light Wounds (1)
2. Slow Poison (2)
3. Cure serious Wounds (4)
4. Neutralize Poison (4)
5. Cure critical Wounds (5)
6. Heal (6)
10.3.11 NECROMANTIC
1. Invisibility to Undead (1)
2. Aid (2)
3. Animate Dead (3)
4. Cure Blindness or Deafness (3)
5. Cure Disease (3)
6. Feign Death (3)
7. Rase Dead (5)
8. Negative Plane Protection (3)
9. Regenerate (7)
10. Reincarnate (7)
11. Restoration (7)
12. Resurrection (7)
РОЛЕВЫЕ ИГРЫ
|
10.3.12 PLANT |
|
6. |
Animal Summoning II (5) |
|
|
|
7. |
Animate Object (б) |
1. |
Entangle (1) |
|
8. |
Animal Summoning III (6) |
2. |
Pass Without Trace (1) |
|
9. |
Conjure Animals (6) |
3. |
Shillelagh (1) |
|
10. |
Wall of Thorns (6) |
4. |
Barkskin (2) |
|
11. |
Word of Recall (6) |
5. |
Goodberry (2) |
|
12. |
Weather Summoning (6) |
6. |
Trip (2) |
|
13. |
creeping Doom (7) |
7. |
Warp Wood (2) |
|
14. |
Conjure Earth Elemental (7) |
8. |
Plant Growth (3) |
|
15. |
Exaction (7) |
9. |
Snare (3} |
|
16. |
Gate (7) |
10. |
Spike Grouth (3) |
|
17. |
Succor (7) |
11. |
Tree (3) |
|
|
|
12. |
Hallucinatory Forest (4) |
|
|
10.3.15 SUN |
13. |
Hold Plant (4) |
|
|
|
14. |
Plant Door (4) |
|
1. |
Light (1) |
15. |
Speak wiyh Plants (4) |
|
2. |
Continual Light (3) |
16. |
Sties to Snakes (4) |
|
3. |
Starshine (3) |
17. |
Anti-Plant Shell (5) |
|
4. |
Moonbeam (5) |
18. |
Pass Plant (5) |
|
5. |
Rainbow (5) |
19. |
Liveoak (6) |
|
6. |
Sunray (7) |
20. |
Transport via Plants (6) |
|
|
|
21. |
Tern Wood (6) |
|
|
10.3.16 WEATHER |
22. |
Wall of Torns (6) |
|
|
|
23. |
Changestaff(7) |
|
1. |
Fairy Fire (1) |
|
|
|
2. |
Obscurrement (2) |
|
10.3.13 PROTECTION |
|
3. |
Call Lightning (3) |
|
|
|
4. |
Control Temperature (4) |
1. |
Endure Cold (Heat) (1) |
|
5. |
Control Winds (5) |
2. |
Protection from Evil (1) |
|
6. |
Protection from Lightning (4) |
3. |
Sanctuary (1) |
|
7. |
Rainbow (5) |
4. |
Barkskin (2) |
|
8. |
Weather Summoning (6) |
5. |
Resist Fire (Cold) (2) |
|
9. |
Control Weather (7) |
6. |
Withdraw (2) |
|
|
7. |
Dispel Magic (3) |
|
|
(Окончание следует) |
8. |
Magical Vestment (3) |
|
|
|
9. |
Remove Curse (3) |
|
|
* * * |
10. |
Negative Planr Protection |
(3) |
|
|
11. |
Protection from Fire (3) |
|
|
|
12. |
Remove Paralysis (3) |
|
|
ПРИЛОЖЕНИЕ |
13. |
Protection from Evil (4) |
|
|
|
14. |
Protection from Lightning |
(4) |
САМАЯ ПОПУЛЯРНАЯ ИГРА АМЕРИКИ |
15. |
Repel Insects (4) |
|
|
(или что нас ожидает) |
16. |
Spell Immunity (4) |
|
|
|
17. |
Anti-Plant Shell (5) |
|
|
Скоро, очень скоро, возможно |
18. |
Dispell Evil (5) |
|
уже |
этой осенью у нас с Вами отк- |
19. |
Anti-Animal Shell (6) |
|
роется интересная возможность |
|
|
|
применить на практике все те све |
|
10.3.14 SUMMONING |
|
дения, которые можно почерпнуть |
|
|
|
из |
нашего цикла, посвященного |
1. |
Abjure (4) |
|
AD&D. |
2. |
Animal Summoning I (4) |
|
|
И причина для этого вполне ба- |
3. |
Dispel Evil (5) |
|
нальная. Дело в том, что вся Аме |
4. |
Call Woodland Beings (4) |
|
рика "свихнулась" на новой игре и |
5. |
Aerial Servant (6) |
|
осталось подождать чуть-чуть и |
РОЛЕВЫЕ ИГРЫ
она придет к нам. И эта игра не пресловутый DOOM и не мультимил-лионодолларовый WING-COMMANDER 3, это вполне доступная для широких масс игра Magic: The Gathering.
Скажем сразу - это игра не компьютерная, а настольная, но никто не помешает нам сделать ее компьютерной для наших любимых "Синклеров".
Америка просто сошла с ума от этой игры. Здесь много лет не было такого помешательства. А виной всему с одной стороны необычайная простота правил, а с другой стороны - необычайная глубина игры. Сочетание довольно редкое. Научиться играть в эту игру несложно. С помощью прилагающейся брошюры каждый в состоянии освоить ее за какие-нибудь пол-часа.
Игру ведут с помощью колоды специальных карт. Уникальной особенностью игры является то, что колода во-первых не является стандартной, а во-вторых то, что у каждого игрока она своя. Конечно, существует некая "базовая колода" в 40 карт с достаточно широким набором и ее можно приобрести, но можно приобретать и дополнительные колоды со случайным набором карт, количество которых, говорят, тысячи.
Так что каждый игрок сам составляет себе колоду по вкусу и по настроению.
В основу игры положено сражение магов. И, поскольку, тема магии в последние годы широко используется в компьютерных играх, в литературе и в настольных ролевых играх, то понятно, что идея авторов игры пала на хорошо подготовленную почву и игра быстро нашла своих приверженцев. Многое из того, что положено в основу игры, хорошо известно западным игрокам по многолетнему знакомству с системой правил AD&D, а у нас в России мы надеемся обеспечить минимальный уровень информированности .
В начале игры каждый игрок получает по 20 единиц "жизненной силы". Задача играющих - понизить уровень этой жизненной силы своего противника. Итак, карт существуют тысячи. Они варьируются по типу и частоте появления. Одними из основных являются карты, изображающие "земли". От них игроки черпают энергию для питания своих действий. Другие карты содержат заклинания. Таких карт очень и очень много. Спектр заклинаний огромен - от простейших типа Lightning Bolt до редких и мощных, имеющих постоянное действие.
Еще одна группа карт предназначена для вызова различных существ себе на службу (заклинания типа Summoning). Им можно поручить атаковать соперника или, наоборот, блокировать его выпады. Есть карты, позволяющие создавать полезные магические артефакты для последующего применения (заклинания типа Create).
Есть карты, дающие необычные способности или силы, которые даже позволяют выходить за рамки правил, что дает неограниченный потенциал в развитии этой игры.
Каждая карта принадлежит к определенному "цвету" магии, а выбор того, каким "цветом" (то есть каким видом магии) пользоваться остается, за самим играющим. Если использовать только один, то'в итоге может получиться довольно-таки односторонняя стратегия, а если использовать сразу несколько, будет ощутим недостаток магической энергии.
Комбинация всех этих факторов в итоге приводит к очень разнообразной игре с высоким уровнем притягательности. В качестве примера скажем, что в Америке уже продано более миллиарда различных карт и сейчас начинают организовываться регулярные турниры самых разных уровней.
При таком невероятном успехе стало неизбежным появление компьютерной игры на эту тему. И за дело взялась фирма Microprose. Конечно, она готовит игру не для "Спектрума", а для IBM-совместимых машин и для некоторых наиболее продвинутых видеоприставок, в частности, сообщается, что к делу подключится самая современная на сегодняшний день техника фирмы Sony - приставка PlayStation.
Авторы компьютерной версии решили сохранить полностью всю механику настольной игры в качестве дуэли магов. И действительно, нет смысла экспериментировать там, где уже убедительно доказана успешность оригинальной идеи.
При первом взгляде на то, что уже сегодня известно об этой игре, видно, что в ней нет ничего такого, что нельзя спроектировать и заложить в "Спектрум". Да, графика может быть не та, что на IBM, но механика игры настолько проста, что сразу после появления IBM-совместимой версии в России и после изучения системы правил начнутся работы , по созданию "Синклеровского" аналога.
Начиная игру, Вы будете иметь примерно 200 карт, из которых сможете собрать себе колоду. Далее, побеждая по ходу игры различных магов, Вы сможете подобрать себе еще новые карты к общему репертуару.
Разработчики игры надеются вскоре после выхода программы начать проведение регулярных турниров по игре в компьютеризированную версию Magic: The Gathering.
И, конечно, в программе будет однопользовательский режим для тех, кто не может или не хочет искать себе партнера. Здесь важным становится вопрос об искусственном интеллекте игры и это основная трудность, перед которой встали программисты. На этом направлении и идет сейчас главная работа. Главное, что надо сделать - обеспечить интересную игру на любом уровне сложности, выбранном пользователем.
В общем, любителям интересных игр есть чего ждать, а программистам, способным создавать свои игры на "Спектруме", будет где развернуться. Тот, кто первым выпустит такую игру, может рассчитывать на головокружительный успех.
Правда, искусственный интеллект компьютерного оппонента может стать для наших программистов серьезным камнем преткновения. До сих пор у нас в России нет отечественной игры для "Спектрума", в которой он был бы хоть как-то представлен. По этому поводу к нам приходит много писем с просьбой рассказать, "как это делается".
Возможно, мы Вам в чем-то и поможем. Для готовящейся сейчас книги "2X-PORUM-IIIй мы работаем над обширным разделом, посвященном тому, как программируется искусственный интеллект в играх самого разного жанра - логических, стратегических, имитаторах и пр.
Следите за нашими публикациями. Как только выйдет IBM-совмес-тимая версия игры (а предварительная ее реклама уже началась и мы ждем игру этим летом), мы разберем ее механику и доведем ее до Вас вместе с предложениями по архитектуре программы.
Мы предполагаем, что ее конверсия под "Спектрум" пойдет в два этапа. На первом этапе - перенос механики и идеологии для того, чтобы можно было играть с живым соперником. И, наконец, на втором этапе, после изучения возможных стратегий, начинка процедурами искуственного интеллекта для игры против компьютера.
Возможно, что игра будет двух-модульной. Один модуль для создания и редактирования собственной "колоды" и выгрузки ее в стандартном формате и второй модуль -турнирный - для организации схватки магов. Если это будет так, то нам с Вами придется подумать, принять и утвердить свой
стандарт на формат "колоды". # * *
Проект RPG
(С) Сергей Симонович, 1995.
Структуры данных и алгоритмы в ролевых играх.
Продолжение. Начало см. в ZX-PE-
ВЮ-94, N6 и ZX-PEBI0-95, N1.
Сегодня мы продолжаем разговор о том, как проектируются ролевые игры. В прошлом выпуске мы говорили о "географической" базе данных, которая уже сама по себе позволяет Вам создать простейшую игру. В ней Вы можете ходить по игровому пространству, перемещаться из зоны в зону, из локации в локацию, любоваться природой и изучать местность.
Но самое интересное впереди. Вам еще надо находить сокровища, ключи, встречать противников и побеждать их. Для того, чтобы все это стало возможным, нужна еще одна рабочая база данных - "база энкантеров". Как мы уже говорили, энкантер - это любой объек*, субъект, который нарушает нормальную логику игры и требует принятия каких-то решений.
Энкантером может быть все, что угодно: золотая монета, сундук с сокровищами, закрытая дверь, оружие, противник и т.п.
Давайте прежде всего определимся с понятием статус энканте-ра. Поскольку всякий энкантер побуждает Вас к принятию каких-то действий, то расклассифицируем все энкантеры по тому, какие действия они могут потребовать. В основу классификации положено правило, согласно которому энкантеры одного типа должны обрабатываться одним пакетом процедур.
Виды энкантеров.
1. Инвентарь. Энкантеры этого типа требуют принятия решения о том, поднять его с земли или оставить на месте. Будучи взятым с собой, этот энкантер может изменить параметры какого-либо из членов отряда или всего отряда в целом. Например, это может быть сокровище. Если его поднять, изменится сумма денег в кошельке отряда. Это может быть меч, щит, магический элексир и т.п. Он добавится к списку инвентаря.
2. Противник. Такой энкантер требует принятия решения о начале боя. Условно назовем всех противников "монстрами", даже если они тоже люди. Если принимается решение не сражаться, программа должна отвести Вас на шаг назад, в ту локацию, где Вы до этого находились. Если принято решение сразиться, вступает в силу боевой режим, который действует до победы, поражения или отступления отряда. Если начинается боевой режим, то программа "извлекает" параметры "монстров"'из базы "монстров" (монстрариума) и Вы разыгрываете сражение (но об этом потом) .
3. Ключевой инвентарь. Это ключи и другие объекты, например волшебные камни, которые служат для того, чтобы в дальнейшем с их помощью открывать какие-то двери, запускать какие-то машины и т.п. В общем, они похожи на инвентарь в том смысле, что их можно тоже взять с собой. Но они должны от обычного инвентаря отличаться. Так, например, их нельзя не взять. Если ключ найден, то он берется во всех случая*, иначе будет неинтересно играть. Если в рюкзаках Ваших героев уже нет свободного места, куда можно было бы положить такой предмет, то он должен встать на место другого, например последнего. И в дальнейшем он не может быть выброшен или продан, что отличает его от обычного инвентаря. Он может быть только применен по назначению.
4. Информационный пункт. От этого энкантера можно получить информацию. Это может быть статуя, стена, стол, стул, настенный гобелен, свиток, книга, посторонний персонаж и мн.др. Информацию можно получить прочитав ее, поговорив с персонажем. Она может телепатически прозвучать в Вашей голове, если Вы коснетесь какого-либо волшебного камня и т.п. Как правило, эта информация имеет характер подсказки, полезного совета или предупреждения.
5. Торговый пункт. Это локация, в которой Вы можете что-то купить или продать. Покупаются оружие, еда, заклинания, полезные навыки, информация, дополнительные параметры и т.п. Продается только оружие.
6. Пункт модификации. Это эн-кантеры, изменяющие параметры членов Вашего отряда. Например, попив из волшебного колодца, можно увеличить свою силу (Might) или выносливость (Endurance) и т.п. Такие модификации могут быть временными (temporary) или постоянными (permanent). Временные модификации действуют только на сутки, до следующего утра или до ближайшего привала. Постоянные действуют навсегда, но очевидно являются одноразовыми.
7. Препятствия преодолимые (ПП). Это прежде всего двери, решетки, подвесные мосты, речные переправы и т.п. Их цель - преградить Вам дорогу. ПП могут быть двух типов - "квестовые" и "нек-вестовые". Рассмотрим для простоты сначала неквестовые ПП. Это обычные препятствия, для преодоления которых не надо специальных действий. Если это дверь, то она может быть открыта ВЗЛОМЩИКОМ, для чего он должен иметь параметр ловкости не ниже, чем установленный. Но она может быть выломана и ВОИНОМ, если его сила (Might) не ниже установленной для данногб препятствия.
Препятствия квестового типа не могут быть открыты ни ловкостью, ни силой. Для их преодоления нужно наличия специального ключевого предмета (см. п.З). То есть, сценарист заранее мог наложить требование на проход в подвал У только после того, как был полностью пройден подвал X и в самом его конце найден золотой ключ. Возможно, что для прохода нужно решить какую-то головоломку, ответить на какую-то загадку, назвать какой-то пароль, который не найти никак иначе, кроме как ознакомившись предварительно с информационным энкантером (см.п.4).
8. Препятствия непреодолимые. Это прежде всего стены. Деревянные, бетонные, кирпичные, глинобитные, каменные и т.п. Не исключено, что в сплошной стене есть слабое место, в котором стена может быть проломлена. Локация с таким слабым местом относится к преодолимым препятствиям.
9. Условный энкантер. Это эн-кантер, который требует от Вас специального действия и заранее неизвестно, чем он Вас наградит -подарком или повреждением. Примером может быть запертый сундук. Открыв его, можно получить что-то в награду, а можно получить в лицо порцию соляной кислоты. Действия, которые требует такой энкантер, могут быть следующими:
- открыть (сундук, бочку);
- обыскать (мусор, шкаф...)
- нырнуть (в пруд, в котел);
- спуститься (в яму);
- подняться (по столбу);
- сесть (на стул, на трон);
- нажать (на кнопку, рычаг);
- попить (воды из родника)
Нередко результат действия такого энкаитера зависит от того, кто из Ваших героев сделал действие. Например, если ловкий взломщик спустится в яму, то найдет что-то хорошее. А если то же сделает кто-то другой, то может сломать себе ногу и ничего не найти.
приведенных здесь типов энкантеров достаточно для создания ролевой игры любой сложности. Что именно у Вас будет стоять в какой локации и как при этом называться - дело Вашей фантазии.
Главная проблема.
Главная проблема, связанная со структурой этой базы - это ее размеры. Географическая база имеет намного большие размеры, но с ней дело обстоит проще. Ее "разрезали" на зоны и одновременно в памяти можно держать от одной до нескольких зон. Если теперь надо отложить игру, то в отгрузочный файл идет только одна текущая зона. Хорошо было бы также "зонировать" и базу энкантеров, поскольку каждый энкантер "привязан" к своей географической локации. Но не тут-то было. Зонировать эту базу в общем случае невозможно, а в отдельных случаях надо принимать специальные меры.
проблема именно связана с операцией SAVE. Если бы отгружалась только часть базы энкантеров, то при повторном вхождении в ранее исследованные зоны игрок мог бы снова собирать там сокровища, встречать опять тех же монстров, которых он уже когда-то победил. Поэтому базу энкантеров нельзя "резать". Она целиком должна загружаться в ОЗУ, находиться там все время сеанса и выгружаться в составе SAVE-файла полностью.
Таким образом, проблема сводится к экономии места в ОЗУ и основной вопрос - размер базы энкантеров. Чем он больше, тем интереснее игра, но и тем труднее ее сделать. Если в Вашей игре N локаций и Вы хотите, чтобы к процентов из них содержали что-то полезное, то база энкантеров у Вас займет:
N*k*Len/100 байтов
Здесь Len - длина одной записи в базе энкантеров. Всего таких записей у Вас - N*k/100.
Как видите, можно "уложить" длину одной записи в базе энкантеров в 8 байтов. Это означает, что если Ваша географическая база имеет 60 тысяч локаций и Вы хотите держать энкантеры в 5-ти процентах локаций (а это немало), то
Таблица 1. Структура базы энкантеров
N п/п |
Содержание |
Длина, байтов |
Значение, пример |
Комментарий |
1 |
Номер зоны |
1 |
0...39 |
Номер соответствующей географической зоны. |
2 |
Коорд. X |
1 |
0...31 |
Координата X в зоне. |
3 |
Коорд. У |
1 |
0...31 |
Координата У в зоне. |
4 |
Номер изображения |
1 |
0.. .31 |
Если 0, то ничего рисовать не надо. |
5 |
Флаг "освоения" |
1 |
0/1 |
=1, если еще не использован, иначе 0. |
6 |
Номер энкантера |
1 |
0...255 |
Номер из таблицы описания энкантеров. |
7 |
Кач-во энкантера |
1 |
0. . .15 |
Указывает на характерис |
|
|
|
тику найденного объекта. |
8 |
Тип энкантера |
1 |
0. . .8 |
|
Ваи потребуется размер текущего файла, равный 3000*8 - примерно 24 килобайта. Это вполне по силам "Спектруму" и не перегрузит SAVE -файл .
В этой базе параметр ТИП определяет номер процедуры, которой данный энкантер обрабатывается. Параметр "КАЧЕСТВО" определяет, КАК этот энкантер обрабатывается, параметр НОМЕР определяет, что при этом сообщается пользователю и каков будет результат (номер соответствует номеру записи в таблице описания энкантеров, см. табл. 2).
Общий алгоритм работы с базой динамических энкантеров.
Здесь алгоритм следующий. Шагнув по географической базе в новую локацию, Вы обнаруживаете, там включенный флаг энкантера (включен бит 4-7). Следует обращение в таблицу динамических энкантеров. По номеру зоны и координатам X и У отыскивается запись, соответствующая данному эн-кантеру. На начало этой записи можно установить указание в индексном регистре.
LD IY,HL
Определяется номер соответствующего изображения.
LD А,(IY+3) LD NUM_P,А
Затем проверяется флаг "освоения", определяется номер энкантера, его качество и тип.
LD А,(XY+4) LD FLAG_0,A LD А,(IY+5) LD NUM_E,А LD А,(IY+6) LD QUAL,A LD A,(IY+7) LD TIP_E,A
Этих четырех переменных должно хватить для процедуры, обрабатывающей энкантер, каким бы этот энкантер не был.
Первым делом надо определить адрес процедуры, обрабатывающей энкантер. Этот адрес надо однозначно связать с типом энкантера, что легко сделать с помощью справочной таблицы, которая займет в памяти всего 18 байтов. Девять типов, по два байта на адрес. Применение таблицы удобно еще и потому, что в процессе отладки адреса процедур могут "мигрировать". Расположите эту таблицу в памяти так, чтобы младший байт ее адреса был меньше 237 (255-18). Это избавит Вас от необходимости учета переполнения младшего регистра.
LD А,(IY+7) : тип энкантера LD HL,TAB_AD; адрес таблицы ADD А,А ; удвоение номера ADD A,L ; переполнения не
; должно быть LD L,A ; адрес в таблице
CALL (HL) ; вызов процедуры
Несколько слов о "качестве" энкантера. Для экономии памяти, чтобы не держать слишком много предметов, в ролевых играх вводят модификатор качества. Например, меч может быть'деревянным, бронзовым, стальным, и т.п. Тогда параметры оружия, например величину наносимого им повреждения, можно задавать только для "базового" оружия, например деревянного. А для всех остальных рассчитывать через поправочный коэффициент. То же происходит и для цены. Рассмотрим пример щита (см. таблицу на след.странице).
Базовый щит - деревянный. Его основной параметр AC (Armor Class) равен -1. Его цена 3 золотых.
Итак, если Вы нашли объект номер, например, 231 (щит) с качеством 13 (бриллиантовый), то получаете сообщение типа "Вы нашли щит (брилл.)". Слово "брилл."
Качество |
АС |
Цена |
Кожаный |
0 |
2 |
Деревянный |
-1 |
3 |
Бронзовый |
-2 |
6 |
Железный |
-3 |
10 |
Стальной |
-4 |
20 |
Янтарный |
-5 |
40 |
Серебряный |
-6 |
80 |
Хрустальный |
-7 |
150 |
Золотой |
-8 |
300 |
Перламутровый |
-9 |
600 |
Эбонитовый |
-10 |
1200 |
Рубиновый |
-11 |
2400 |
Изумрудный |
-12 |
5000 |
Сапфировый |
-13 |
10000 |
Бриллиантовый |
-14 |
20000 |
Обсидиановый |
-15 |
40000 |
не случайно записано в сокращении. Это не просто эконоиия памяти, это еще уход от родовых окончаний, поскольку если Вы найдете саблю или кольчугу, то пришлось бы писать "бриллиантовую". А это пусть и малая, но пока ненужная сложность.
Для денег параметром качества стоит обозначать их количество. Например 1-3;2-6;3-Ю и т.д. Тогда сокровище с качеством 13 будет представлено как: "Вы нашли день* ги (10000 золотых)".
Алгоритм обработки энкантеров 1-го типа.
Процедура, обрабатывающая энкантер, имеет доступ к 4-м программным переменным:
NUM_P - номер картинки
FLAG_0 - флаг "освоения"
NUM_E - номер энкантера
QUAL - "качество" энкантера
Первое, что надо сделать - это проверить флаг "освоения". Если Вы здесь уже были и все собрали, то ничего делать не надо - сразу возврат.
Второе дело - попытаться нарисовать энкантер. Мы уже договаривались о том, что инвентарь имеет малые размеры и его можно не рисовать , ограничившись текстовым сообщением. Переменная NUM_P для инвентаря равна нулю и это сигнал на обход процедуры рисования.
LD A,(NUM_P)
CALL NZ,NN
Третий шаг - печать текстового сообщения, которое еще надо сконструировать. Для инвентаря фраза начинается со слов "Вы нашли...". Что именно Вы нашли, определяется по номеру энкантера. Например, это деньги. После проверки параметра "качества" сообщение формулируется окончательно и выдается на экран в окне сообщений.
ВЫ НАШЛИ ДЕНЬГИ (300 ЗОЛОТЫХ)
После нажатия любой клавиши выдается запрос.
ВЗЯТЬ (Y/N)?
По ответу (N) происходит выход из процедуры без каких-либо последствий. По ответу (У) происходит проверка номера энкантера. Два предмета - деньги и еда (номер #0 и #1) не являются личной собственностью членов отряда, а принадлежат всему отряду. Если это был именно такой предмет, то вносится новая запись в инвентарную базу отряда. Для прочих предметов выдается следующий запрос:
КТО? (1...6) ОТКАЗ - 0
Нажатием клавиши 1... 6 определяется, к кому в рюкзак пойдет добыча. Клавишей 0 можно отказаться и выйти без последствий, как при ответе (N). После этого проверяется инвентарная база данного героя. Если "рюкзак" переполнен и свободных слотов нет, то можно предложить взять предмет другому члену группы, а можно "наказать" за невнимательность и заменить этим предметом другой, стоящий в базе последним.
Алгоритм обработки энкантеров 2-го типа.
Это монстры. Четыре исходных переменных все те же, взятые из базы энкантеров. Флаг FLAG_0, если выключен, определяет возврат без последствий (монстры уже побеждены) . В противном случае их надо "обработать".
Рисовать их или нет, дело Ваше. Если есть возможность дать какую-то картинку, дайте, хотя бы и символическую.
Переменная NUM_E определяет тип монстра и служит для связи с "монстрариумом" (таблицей, где заложены названия и параметры монстров).
Переменная QUAL в данном случае служит для определения количества противников - (от 1 до 15-ти).
Теперь можно печатать сообщение. Для энкантеров этого типа оно начинается со слов "Вы встретили ...". Далее идет количество. Его печатать не надо, чтобы оставить пользователя в относительном неведении. Лучше договориться, что если противник один, то количество не пишется. Если их два или три, то вводится слово "группу". Если их больше, то слово "отряд". Видовое дополнение ВЕДЬМУ - ВЕДЬМ, ГНОМА - ГНОМОВ, ВОЛКА - ВОЛКОВ и пр. возьмете из "монс-трариума". Типичный результат такой:
ВЫ ВСТРЕТИЛИ ОТРЯД ВАМПИРОВ
После нажатия любой клавиши запрос:
СРАЖАТЬСЯ (Y/N)?
В случае отрицательного ответа отряд отходит в предыдущую локацию без изменений в базах. В случае положительного ответа следует переход в боевой режим Combat Mode, алгоритм работы которого -тема следующих статей.
Если, предположим. Вам удалось выйти из Combat Mode относительно живым, то выключается флаг "освоения" в данной локации и продолжается режим путешествия Adventuring Mode. Если Вы погибли, то конец игры - начинайте сначала, либо подзагружайте последнее отложенное состояние.
Алгоритм обработки энкантеров 3-го типа.
Это ключевые предметы. С ними все происходит точно так же, как и с энкантерами 1-го типа и даже проще. Не надо спрашивать разрешения взять предмет и кто его будет брать. Его надо выдать первому из членов отряда, у которого есть свободный слот в инвентарной базе. А если такого нет, то поставить на место последнего (или первого) неключевого предмета. Поскольку вопрос задавать не надо, то название такого энкантера может быть и подлиннее, чем у первого'типа, например:
ВЫ НАШЛИ ПОСЕРЕБРЕННЫЙ МЕДАЛЬОН
Алгоритм обработки энкантеров 4-го типа.
Это информационные сообщения. Для них переменная NUM_E несет в себе номер сообщения. Параметр QUAL - "качество", а точнее говоря доступность сообщения. Можно для себя определиться так, что прочтение сообщения требует определенного интеллекта, начиная с уровня, например 7. Тогда сообщение с "качеством" 15 потребует уровня интеллекта, равного 22, что доступно далеко не каждому.
Сообщений в программе может быть много и они могут быть длинными. Расходовать на них оперативную память - дело расточительное. Целесообразно файл таких сообщений держать на диске отдельно, подгружая их в зарезервированный 256-байтный буфер, откуда и выдавать на экран.
Крутить диск в поисках каждого сообщения - занятие утомительное и неблагодарное, поэтому выдавать их без надобности лишний раз не следует. Если отряд пришел в локацию, где на стене что-то написано, то надо дать сообщение:
ВЫ НАШЛИ НАДПИСЬ ПРОЧИТАТЬ (Y/N)
Только в случае положительного ответа стоит задать вопрос:
КТО? (1...6) ОТКАЗ - О
И если пользователь выбрал, кто будет его читать и у героя достаточный интеллект, то только тогда запускается дисковод и из файла прямого доступа извлекается текст сообщения.
Если интеллект недостаточен, то можно ответить например так:
ВЫ НЕ МОЖЕТЕ РАЗОБРАТЬ ЭТИ ИЕРОГЛИФЫ
Для разнообразия кроме надписей можно иметь в программе другие источники информации, см. таблицу 3.
Поскольку сами сообщения могут быть длинными, то выдавать их в информационном окне неудобно. Для этого лучше использовать главное окно экрана. При этом их можно выдавать и не только в текстовом,
но и в графическом виде. Если место на диске позволяет, то их можно хранить в виде графических экранных файлов. Программа многое выиграет от этого.
Алгоритм обработки энкантеров 5-го типа.
Это некий торговый пункт. Например, это оружейная мастерская, в которой Вы можете купить (продать) свое оружие или доспехи. Это может быть библиотека, в которой Вы можете купить себе новые магические заклинания. Это может быть религиозный храм (неважно как Вы его назовете), где за деньги можно излечить и реанимировать героев. Это может быть тренировочный зал, в котором тех героев, которые набрали достаточное количество единиц опыта, можно "потренировать" (естественно за деньги) и они повысят свой уровень, а вместе с ним и все те личные параметры, которые с уровнем связаны. Это может быть учебный центр, например университет, в котором можно за деньги обучиться дополнительно какой-то профессии или навыку. Это может быть таверна, в которой можно прикупить еду для дальнейшего путешествия. Наконец, в той же таверне можно за деньги (заказав выпивку присутствующим) получить разнообразную информацию в виде сплетен или слухов.
THBEERHR. Здесь можно «-ив
талька купить провизию, на и обменяться слухями.
Каждый из таких энкантеров должен обрабатываться своим собственным пакетом процедур. Алгоритм для каждого из них свой и как он будет выглядеть - дело вкуса каждого программиста. В качестве примера рассмотрим алгоритм процедуры, обрабатывающей спортивно-тренировочный центр.
Флаг "освоения" FLAGO здесь не нужен, поскольку возвращаться в эту локацию надо неоднократно.
1. По номеру энкантера программа выдает сообщение типа:
ТРЕНИРОВОЧНЫЙ ЗАЛ ВОЙТИ (Y/N)?
2. Реакцией на ответ (Y) является изображение соответствующей картинки и вопрос:
КТО? (1...6) ОТКАЗ - О
3. После выбора, например 1-го персонажа программа проверяет его персональную базу берет из нее три параметра:
АМПЛУА - 1 (ВОИН) УРОВЕНЬ - 5 ОПЫТ - 150000
4 По справочной таблице для ВОИНа находится, что следующему уровню (шестому) соответствует ОПЫТ в размере 100000 единиц.
Поскольку у нас опыт больше, выдается сообщение:
воин готов для
УРОВНЯ 6 Стоимость - 5200 ПЛАТИТЕ (Y/N)?
Если "ДА", то в персональной базе героя изменяется уровень и все связанные с ним параметры (об этом мы будем говорить, когда будем рассматривать персональную базу), а со счета отряда списывается необходимая сумма. Чем выше уровень, тем больше эта сумма.
После этого алгоритм повторяется, поскольку этот герой может иметь такой опыт, которого хватит для перехода и на седьмой и на восьмой уровень. Но за каждый переход надо заплатить.
Если опыт недостаточен для перехода на следующий уровень или денег у отряда нет, то выдается соответствующее сообщение.
Алгоритм обработки энкантеров 6-го типа.
Энкантеры 6-го типа предназначены для модификации (постоянной или временной) личных параметров членов отряда. Процедура, которая их обрабатывает, получает все те же четыре переменных: NUM_P, FLAGO, NUM_E, QUAL.
Рассмотрим прежде всего те личные параметры, которые являются основными для наших героев и выделим из них, например, восемь.
Скорость: она определяет порядок обмена ударами в бою.
Ловкость: она определяет уровень повреждения от разных неприятностей и умение отпирать замки.
Сила - определяет величину урона противнику от удара и способность проламывать проходы.
Класс защиты - степень защищенности от ударов.
Hit Points - стойкость к вражеским ударам (сколько "хитов" может выдержать персонаж).
Интеллект - способность читать надписи и понимать другие языки.
Обаяние - контактность и способность совершать религиозные обряды.
Мудрость - силу магических ударов.
Теперь отметим, что повышение параметров может быть временным (на сутки) или постоянным (навсегда) .
Таким образом, с помощью параметра "качества" (переменная QUAL от О до 15) мы можем определить, что именно улучшает данный модификатор и как (постоянно или временно) .
Название самого энкантера и действие, связанное с ним, может быть почерпнуто из его номера, см. таблицу 2.
Как обычно, первым делом проверяется FLAG_0. Поскольку временные модификаторы действуют только одни сутки, то при смене ночь/день программа должна проходить по базе энкантеров и для всех энкантеров 6-го типа, имеющих выключенный бит_0 (временные модификаторы) снимать (обнулять) флаг "освоения".
QUAL |
Действие |
0000 |
Скорость |
+ 5 |
temp |
0001 |
Скорость |
+ 1 |
perm |
0010 |
Ловкость |
+5 |
temp |
ООН |
Ловкость |
+ 1 |
perm |
0100 |
Сила |
+5 |
temp |
0101 |
Сила |
+ 1 |
perm |
0110 |
АС |
+ 5 |
temp |
0111 |
АС |
+ 1 |
perm |
1000 |
HP |
+5 |
temp |
1001 |
HP |
+ 1 |
perm |
1010 |
Интеллект+5 |
temp |
1011 |
Интеллекта1 |
perm |
1100 |
Обаяние |
+ 5 |
temp |
1101 |
Обаяние |
+ 1 |
perm |
0110 |
Мудрость |
+ 5 |
temp |
1111 |
Мудрость |
+ 1 |
perm |
LD HL,ADRR_E
LD BC,NN
LOOP PUSH ВС
LD DE,0008 LD IY,HL
ADD HL,DE
LD A,(IY+7) CP 06
JR NZ,NEXT LD A,(IY+6) AND 01
базовый адрес базы энкантеров количество записей в базе Начало цикла длина записи установка индексного регистра
установка указателя на начало следующей записи тип энкантера 6-ой тип? переход, если нет
"качество" энкантера маскирование старших битов
Р О Л Е В Ы
JR NZ/NEXT
LD (IY+4),A NEXT POP ВС
DJNZ, LOOP DEC С LD A,B OR С
DR NZ,LOOP RET
Как видите, все это очень несложно, хотя здесь есть одна тонкость. Так, для временного модификатора хорошо было бы сделать так, чтобы не один герой мог "приобщиться" к нему в течение суток, а все члены отряда. Тогда либо Вы рядом разместите не один, а сразу несколько одинаковых родников, фонтанов и т.п., либо "флаг освоения" привяжете не к энкантеру, а к самому герою. В первом случае у игрока появляется возможность для тактической игры. Он сможет, например, у "Фонтана Силы" напоить не шестерых героев, а вшестеро сильнее "накачать" одного. Это имеет смысл, если нужно "проломить" какую-то дверь, для которой иначе никаких сил не хватает .
Можно ввести дополнительную переменную-счетчик использований такого временного модификатора и давать попить столько раз, сколь
;переход, если ;энкантер постоянный ; Сброс FLAG__0
Конец цикла
;Возврат
ко в отряде живых бойцов. Пусть даже все выпьет один хапуга.
Однако, мы продолжим описание алгоритма процедуры, обрабатывающей энкантеры 6-го типа.
Итак, проверив FLAG_0 и убедившись, что он включен, мы сразу должны выйти из процедуры без последствий, как будто здесь в этой локации ничего и нет. Если же он выключен, то надо:
1) Нарисовать энкантер.
2) Дать сообщение.
3) Дождаться нажатия клавиши.
4) Дать запрос
КТО? (1...6) ОТКАЗ - О
5) Принять ответ.
6) В персональной базе того героя, который воспользовался эн-кантером, сделать изменения.
7) Пометить энкантер как "освоенный" .
8) Вернуться в режим путешествия.
Алгоритм обработки энкантеров 7-го типа.
Это преодолимые препятствия, которые требуют от героев наличия какого-то качества или какого-то ключевого предмета. У нас опять же есть параметр "качества", которым здесь можно манипулировать.
Обычно неквестовые препятствия преодолеваются либо силой либо ловкостью. Квестовые - с помощью ключевого предмета. Иметь в игре много препятствий квестового типа нехорошо. Игра становится несвободной и превращается в игру жанра ADVENTURE, в которых все препятствия квестового типа. Придется слишком долго бегать по огромному игровому пространству и перепробовать все ключи и прочие предметы на всех дверях. Переборный процесс не украшает игру и раздражает играющего. Вполне достаточно, если даже в очень большой программе таких квестовых задач будет не более восьми.
Тогда остальные восемь значений параметра "качества" отдадим
РОЛЕВЫЕ ИГРЫ
мСиле" и "Ловкости", поделив их пополам.
QUAL |
Действие |
0000 |
Сила |
>10 |
0001 |
Ловкость |
>10 |
0010 |
Сила |
>15 |
0011 |
Ловкость |
>15 |
0100 |
Сила |
>20 |
0101 |
Ловкость |
>20 |
0110 |
Сила |
>25 |
0111 |
Ловкость |
>25 |
1000 |
Ключ N1 |
|
1001 |
Ключ N2 |
|
1010 |
Ключ N3 |
|
1011 |
Ключ N4 |
|
1100 |
Ключ N5 |
|
1101 |
ДОхюч N6 |
|
0110 |
Ключ N7 |
|
1111 |
Ключ N8 |
|
Какие именно параметры силы и ловкости Вы подставите в процедуру обработки энкантера - дело Ваше и зависит от балансировки игры. Разумеется, если Вы требуете, чтобы сила героя была больше 100 единиц, значит он должен иметь теоретическую возможность ее "накачать" по ходу игры. Естественно, что те локации, которые скрываются за труднопреодолимым эн-кантером, должны содержать привлекательные богатства, важные предметы, ценные подсказки и сильных монстров.
Алгоритм же выглядит примерно так:
1) Проверяется FLAG__0.
2) В зависимости от него, энкантер изображается в "открытом" или "закрытом" виде. Например, решетка зАмка может быть поднята или опущена.
3) Если проход открыт, то ничего больше делать не надо -возврат.
4) Если проход закрыт, то проверяется, что это за препятствие - квестовое или неквестовое. Если оно квестовое, то проверяется наличие в персональных базах героев нужного ключа. И выдается сообщение:
ПРОХОД ЗАКРЫТ У ВАС НЕТ КЛЮЧА
После нажатия клавиши следует возврат в предыдущую локацию. Если такой ключ есть, то идет сообщение :
У ВАС ЕСТЬ КЛЮЧ ПРОХОД ОТКРЫТ
Препятствие снимается, ключевой предмет удаляется из персональной инвентарной базы героя. Включается FLAG_0.
Если препятствие неквестовое, то выдается сообщение типа:
ПОДВЕСНОЙ МОСТ
ОПУСТИТЬ(Y/N)?
После нажатия клавиши "Y" следует традиционный запрос
КТО? (1...6) ОТКАЗ - 0
Для выбранного героя проверяется соответствие его параметра (Сила/Ловкость) тому, что требует "качество" энкантера. Если все в порядке, препятствие снимается, рисуется другая картинка, включается FLAGO.
Если силы или ловкости недостаточно, можно "наказать" взломщика, отняв у него несколько единиц HP за неудачную попытку и дать сообщение:
НЕТ РЕЗУЛЬТАТА
Алгоритм обработки энкантеров 8-го типа.
Это непреодолимые препятствия. Алгоритм их самый простой, а встречаются они очень часто, поскольку с их помощью оформляются лабиринты (ну какая же игра без лабиринта?). Если на открытой местности их может и не быть, то в подвалах, в пещерах, в городах они могут занимать и 30 и 40 процентов локаций.
Интересны эти препятствия еще и тем, что под них маскируют препятствия преодолимые (Тип 9). Пока не попробуешь проломиться сквозь стену, не узнаешь, преодолима она или нет (впрочем, есть магические заклинания, позволяющие это узнать, но об этом позже) .
Для их реализации достаточно двух переменных NUM_E и QUAL. FLAG_0 нам не нужен, поскольку если стена есть, то она никуда не денется.
Параметр QUAL может задавать "качество" стены. Например, так:
000 - земляная
001 - глиняная
002 - деревянная
003 - кирпичная
004 - каменная
005 - бетонная
006 - стальная
В зависимости от "качества" она может изображаться на экране. Если рисунок есть, то сообщать, что перед Вами стена, нет необходимости. При попытке шагнуть в направлении стены (если она непреодолимая) тот герой, у которого самая большая скорость (он идет первым), получает повреждение -(уменьшается его параметр HP). Чем выше "качество" стены, тем больше размер этого повреждения.
Алгоритм обработки энкантеров 9-го типа.
Это условные энкантеры, действие которых заранее непредсказуемо. Они могут причинить герою повреждение, а могут наградить его каким-то образом.
Как всегда, проверкой флага FLAG_0 принимается решение о том, выдавать сообщение (рисовать энкантер) или нет. Если он может быть нарисован, то берется номер изображения.
"Придумывать" какие-то новые объекты здесь нет никакой необходимости. Программа должна взять номер энкантера из базы и посмотреть в таблице описания энкантеров, что это такое. После этого по "качествуи энкантера принимается решение о том, что он дает пользователю.
У нас есть 16 разных уровней "качества". И четыре возможных амплуа героев: ВОИН, ВЗЛОМЩИК, СВЯЩЕННИК, ВОЛШЕБНИК.
Несложно "прикинуть" таблицу "поощрений".
QUAL |
Дер |
ООХХ |
Содержимое передается |
|
воину |
01ХХ |
Содержимое передается |
|
взломщику |
10ХХ |
Содержимое передается |
|
СВЯЩЕННИКУ |
11ХХ |
Содержимое передается |
|
ВОЛШЕБНИКУ |
Если на вопрос:
КТО? (1...6) ОТКАЗ - 0
пользователь выбирает не того персонажа, которому положено исполнять это действие, то он получает повреждение (у него уменьшается параметр HP) в размере, на который указывают младшие биты XX. Например:
ХХ=00 НР=НР-2
ХХ=01 НР=НР-4
XX»10 НР»НР-8
ХХ=11 НР=НР-16
Флаг FLAG_0 включается только в том случае, если энкантер был использован по назначению.
В качестве таких "условных" энкантеров целесообразно размещать особо ценное оружие или доспехи. Без них пользователь в принципе может и обойтись, но с ними ему жить легче. Также можно здесь прятать особо ценную информацию, особенно если к этому эн-кантеру трудно пройти.
РОЛЕВЫЕ ИГРЫ
Таблица 2. Таблица описания энкантеров.
Номер |
Название |
Действие |
Коиментарий |
энкантера |
22 байта |
10 байтов |
|
00 |
ДЕНЬГИ |
ВЗЯТЬ |
Относятся к общей |
01 |
ПРОДУКТЫ |
ВЗЯТЬ |
базе отряда. |
02 |
МЕЧ |
ВЗЯТЬ |
Относятся к |
03 |
КОПЬЕ |
ВЗЯТЬ |
индивидуйльным |
04 |
АРБАЛЕТ |
ВЗЯТЬ |
инвентарным |
.... |
|
..... |
базам |
28 |
ЩИТ |
ВЗЯТЬ |
отдельных |
29 |
ШЛЕМ |
ВЗЯТЬ |
персонажей |
30 |
ЗОЛОТОЙ КЛЮЧ |
|
Здесь |
31 |
ХРУСТАЛЬНЫЙ ШАР |
|
закодированы |
32 |
ПЛОСКИЙ КЛЮЧ |
|
8 разных |
33 |
РУБИНОВЫЙ ПЕРСТЕН |
|
ключевых |
34 |
АМУЛЕТ СЧАСТЬЯ |
|
предметов |
35 |
АЛМАЗНУЮ БРОШЬ |
|
для прохода |
36 |
БЕЛУЮ РОЗУ |
|
в закрытые |
37 |
ПЕРО ПАВЛИНА |
|
зоны |
38 |
НАДПИСЬ |
ПРОЧИТАТЬ |
В зависимости от ~ |
39 |
КНИГА |
ПРОЛИСТАТЬ |
параметра QUAL |
40 |
СВИТОК |
РАЗВЕРНУТЬ |
здесь могут быть |
41 |
ПУТНИК |
ПОГОВОРИТЬ |
закодированы |
42 |
БУТЫЛКА |
ОТКУПОРИТЬ |
128 разных сооб |
43 |
РОДНИК |
ПОПИТЬ |
щений . |
44 |
АЛТАРЬ |
ПОМОЛИТЬСЯ |
(8 видов по 16 в |
45 |
РУНЫ |
ПРОЧИТАТЬ |
каждом). |
46 |
МАСТЕРСКАЯ |
войти |
|
47 |
БИБЛИОТЕКА |
войти |
Энкантеры |
48 |
МОНАСТЫРЬ |
войти |
5-го типа. |
49 |
ТРЕНИРОВОЧНЫЙ ЗАЛ |
войти |
|
50 |
УНИВЕРСИТЕТ |
войти |
|
51 |
ГОСТИНИЦА |
войти |
|
52 |
КОЛОДЕЦ |
ПОПИТЬ |
|
53 |
РОДНИК |
ПОПИТЬ |
|
54 |
ЧАСОВНЯ |
ПОМОЛИТЬСЯ |
|
55 |
БОЧКА |
НЫРНУТЬ |
Тип 6,9 |
56 |
ФОНТАН |
ПОПИТЬ |
|
57 |
СТАТУЯ |
ПОТРОГАТЬ |
|
58 |
РУИНЫ |
ОСМОТРЕТЬ |
|
59 |
КУЧА МУСОРА |
РАЗГРЕСТИ |
|
60 |
ДВЕРЬ |
ОТКРЫТЬ |
|
61 |
РЕШЕТКА ЗАМКА |
ПОДНЯТЬ |
Тип 7 |
62 |
ПОДВЕСНОЙ МОСТ |
ОПУСТИТЬ |
|
63 |
СТЕНА |
ПРОБИТЬ |
|
РОЛЕВЫЕ
В заключение нам осталось только рассмотреть три сопроводительные таблицы, которые нужны для работы с базой энкантеров:
- таблицу описания энкантеров;
* таблицу описания монстров;
- таблицу описания оружия.
Таблица описания энкантеров
Эта таблица может иметь, например, такой формат, как приведенный в табл.2. В этом случае она займет в ОЗУ 32X64 байтов -порядка 2К.
Таблица описания монстров
Пример монстров приведен в табл.3. Родовое имя и два типа окончаний служат для формулировки сообщений типа:
ВЫ ВСТРЕТИЛИ ПРИВИДЕНИ(Е)
ВЫ ВСТРЕТИЛИ ОТРЯД ПРИВИДЕНИ(Й)
Параметр V - скорость, определяющая порядок обмена ударами в бою.
Параметр N количество ударов, наносимое за одну атаку.
Параметр HP (Hot Points) - выражает стойкость монстра.
Параметр AC (Armor Class) -его класс защиты.
THAC0 - сила удара монстра.
Магия - номер заклинания, который он пользуется (если умеет).
Всего запись по каждому монстру может уложиться например в 27 байтов и если у Вас в программе 64 типа монстров (а это очень много), то весь "монстрариум" уложится менее, чем в 2К.
Таблица 3. Таблица описания монстров.
Номер |
Родовое |
ОКОНЧ. |
Оконч. |
V |
N |
HP |
АС |
THAC0 |
Магия |
монстра |
имя |
I |
II |
|
|
|
|
|
|
Байтов |
16 |
2 |
2 |
1 |
1 |
2 |
1 |
1 |
1 |
00 |
ПАУК |
_ |
ов |
1 |
1 |
5 |
10 |
0 |
_ |
01 |
ОС |
А |
- |
5 |
1 |
10 |
9 |
1 |
- |
02 |
КРЫС |
А |
- |
3 |
1 |
15 |
8 |
2 |
- |
03 |
ВОЛК |
- |
ов |
7 |
1 |
20 |
7 |
3 |
- |
04 |
ЗМЕ |
Я |
й |
2 |
1 |
30 |
10 |
5 |
- |
05 |
ТИГРОКРЫС |
- |
ов |
10 |
2 |
35 |
6 |
8 |
- |
30 |
ПРИВИДЕНИ |
Е |
й |
15 |
6 |
70 |
2 |
15 |
3 |
35 |
ДРАКОН |
- |
ов |
20 |
3 |
250 |
-5 |
15 |
- |
40 |
ГИДР |
У |
- |
20 |
6 |
300 |
-6 |
20 |
9 |
|
|
|
|
|
|
|
|
|
|
Таблица описания оружия
Для оружия (см. таблицу 4) нам нужны следующие параметры.
НАЗВАНИЕ (в именительном и винительном падежах).
БАЗОВЫЙ АС - класс защиты.
МОДИФИКАТОР АС - на сколько единиц уменьшается АС при переходе к следующему показателю ''качества" .
БАЗОВЫЙ параметр ТН (ТО HIT), определяющий величину наносимого повреждения.
МОДИФИКАТОР ТН (как возрастает параметр ТН при переходе к очередному "качеству"). В нашем примере (см.табл.4) модификатор ТН задан двумя числами. Это пример того, как можно разнообразить игру и сделать результат неожиданным. Например, для меча параметр 2/4 означает, что при повышении качества меча на одну ступень параметр ТН увеличивается на результат двух бросков четырехгранной кости. То есть если для деревянного меча параметр ТН равнялся четырем, то для бронзового он может быть от 6 до 12.
БАЗОВАЯ ЦЕНА ее - можно держать в диапазоне от 1 до 6. Модификатор цены (показывает ВО сколько раз возрастает цена при переходе к новому показателю "качества") лучше не вводить, а считать его постоянно равным 2. Поскольку цена растет в геометрической прогрессии, то при модификаторе, равном 3 мы приходим к слишком большим числам. А делать этот параметр дробным, например 1.8 или 2.2 - значит обрекать программу на большие сложности, связанные с обсчетом чисел с плавающей запятой. Умножение же и деление целых чисел на 2 легко реализуется в машинном коде использованием команд сдвига битов в байте.
При таком раскладе длина записи в оружейной базе данных равна 18 байтам и, если в программе есть порядка 30 разных видов оружия и доспехов, то таблица займет примерно 0,5 килобайта.
Первые итоги.
Итак, мы разобрались с самыми ресурсоемкими базами ролевой игры - с географической базой и с базой энкантеров. Можно подвести первые итоги по расходу памяти.
Географическая база - 2К
База энкантеров - 24К Таблица описания
энкантеров 2К Таблица описания
монстров 2К Таблица описания
РОЛЕВЫЕ
Таблица 4. Таблица описания оружия.
Номер |
Родовое |
Оконч. |
Оконч. |
АС |
MODAC |
ТН |
M0DTH |
ЦЕНА |
оружия |
иия |
I |
II |
|
|
|
|
|
Байтов |
10 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
00 |
МЕЧ |
_ |
_ |
1 |
0 |
4 |
2/4 |
2 |
01 |
КОПЬЕ |
- |
- |
0 |
0 |
2 |
1/6 |
1 |
02 |
АРБАЛЕТ |
- |
- |
0 |
0 |
1 |
1/8 |
3 |
10 |
КОЛЬЧУГ |
А |
У |
4 |
1 |
0 |
0 |
4 |
11 |
ПЕРЧАТКИ |
|
|
1 |
1 |
0 |
0 |
1 |
26 |
ЩИТ |
- |
- |
5 |
1 |
0 |
0 |
2 |
|
|
|
|
|
|
|
|
|
оружия 0,5К Управляющие процедуры » 4К
Всего
У нас еще есть около 7К оперативной памяти "Спектрума" и этого вполне достаточно для хранения всех прочих необходимых данных, рассмотрением которых мы и займемся в следующих статьях цикла.