Существует одна вещь, которую мы обязательно должны сделать, это убедиться что при нажатии на клавишу Escape игрок действительно хочет выйти из игры. Нет способа расстроить игрока легче, чем закрыть нашу игру, когда игрок случайно, в пылу сражения, нажмет клавишу Escape. Мы можем избежать этого путем простой замены.
вторник, 2 сентября 2014 г.
воскресенье, 31 августа 2014 г.
Давайте сделаем рогалик. Глава 34: Вызов заклинаний
Теперь,когда у нас есть изученные заклинания, перейдем к их использованию персонажем. Чтобы вызвать какое либо заклинание, игрок использует клавишу «c» которая обрабатывается следующим кодом в основном цикле игры:
пятница, 29 августа 2014 г.
Давайте сделаем рогалик. Глава 33: Книги заклинаний
Мы подошли к тому моменту, когда можем реализовать в нашей игре заклинания. Реализация заклинаний будет заключать в себе две части, это обучение заклинанию, и, непосредственно, использование заклинания. В данной главе мы реализуем обучение персонажа новым заклинаниям, а использование оставим для следующей главы. Прежде чем мы приступим к написанию кода, позвольте мне дать вам некоторое представление о процессе обучения новым заклинаниям.
Давайте сделаем рогалик. Глава 32: Магия ювелирных изделий
Украшения — последние из магический предметов, которые нам осталось добавить в игру. Они будут действовать как зелья, улучшая характеристики персонажа, но магический эффект будет действовать все время, пока персонаж носит данное украшение. Для реализации этих эффектов, мы будем действовать так же, как и при реализации магических эффектов оружия и брони, поэтому мы начнем с добавления новых заклинаний для предметов.
четверг, 28 августа 2014 г.
Давайте сделаем рогалик. Глава 31: Магия брони
Как и оружие, доспехи и щиты также могут иметь магические эффекты. Для начала давайте посмотрим на обновленный список заклинаний.
воскресенье, 24 февраля 2013 г.
Давайте сделаем рогалик. Глава 30: Допиливаем игру 1
Давайте сделаем рогалик. Глава 29: Магия оружия

суббота, 21 июля 2012 г.
Давайте сделаем рогалик. Глава 28: Ювелирные изделия
В Подземелье Судьбы есть 2 вида украшений, это кольца и ожерелья. Эти предметы могут быть магическими и давать различные полезные свойства персонажу который их носит. И кольца и ожерелья работают одинаковым образом, поэтому мы не будем заводить доля них разные структуры данных, а добавим одну, содержащую поле указывающее на тип украшения.
Давайте сделаем рогалик. Глава 27: Балансируем уровень сложности
Так как теперь мы уже совсем близки к полноценной игре, давайте остановимся на минуту и посмотрим — можно ли сделать ее более играбельной? Сейчас сложность игры достаточно высока и мы должны сбалансировать ее таким образом, чтобы облегчить игру на ранних уровнях и постепенно усложнять ее к более глубоким уровням подземелья. Мы можем добиться этого путем балансировки уровня сложности. Уровень сложности у нас заключается в шансе опознать предмет, значениях параметров характеристик монстров, сила атаки монстров и уровень их брони. Для того, чтобы облегчить жизнь игроку на начальных этапах игры, будем масштабировать значения этих параметров в зависимости от глубины уровня подземелья.
Давайте сделаем рогалик. Глава 26: Зелья
Зелья являются одними из основных составляющих любой РПГ игры, и было бы непростительно, если бы мы не включили их Подземелье Судьбы. Есть несколько способов, которыми вы можете реализовать зелья, использовать их как дополнительный магический механизм или влиять ими на характеристики персонажа. Перед употреблением, персонажу имеет смысл изучить эффекты, которые оказывает то или иное зелье. В нашем Подземелье Судьбы зелья будут изменять атрибуты персонажа.
воскресенье, 22 апреля 2012 г.
Давайте сделаем рогалик. Глава 25: Обобщаем атрибуты персонажа
В следующей главе мы будем добавлять зелья в нашу игру. Зелья будут влиять на атрибуты персонажа, но в данный момент доступ к атрибутам не очевиден. Если вы помните, для каждого атрибута мы создали массив размерностью в 3 элемента. Значение с индексом 0 содержит базовое значение характеристики, 1 — бонус и 2 — время действия бонуса заданное в ходах. И хотя это работает, возможно спустя некоторое время увидев в коде программы число 0 мы не будем знать, что это за значение и что оно означает. Вместо использования 0-ля мы можем использовать мнемоническое значение, например idxAttr, которое будет указывать на базовое значение атрибута. Это гораздо яснее и позволяет изменять программу очень легко, просто изменив значение idxAttr.
Давайте сделаем рогалик. Глава 24: Волшебные жезлы
Волшебные жезлы являются одним из основных типов оружия в большинстве рогаликов, и «Подземелье Судьбы» казалось бы не завершенным, если бы мы их не реализовали. Есть два пути реализации применения жезлов в игре, в качестве магического оружия — когда жезл используется для создания волшебниками заклинаний, и в качестве наступательного оружия. Лично я склоняюсь к использованию жезлов способом, который я подсмотрел во Властелине Колец, т. е. в качестве наступательного оружия. Поскольку у нас уже реализованы дистанционные атаки, то, вполне естественно, что жезлы будут добавлены в игру как еще один тип дистанционного оружия. Как вы увидите, добавить их будет достаточно легко.
Давайте сделаем рогалик. Глава 23: Балансируем атаки монстров
На данном этапе мы можем добавить некоторые хитрости, которые улучшат игровой процесс. В текущей версии монстры получились достаточно сильными и играть очень тяжело. Мы должны исправить это, и сделать это очень просто. Мы добавим коэффициент масштабирования, зависящий от глубины уровня подземелья, который будет изменять наносимый монстрами урон. Нам необходимо добиться уменьшение величины урона, наносимого монстрами, на какую то величину, зависящую от глубины уровня подземелья, которая будет уменьшаться со спуском персонажа на более глубокие уровни, пока наносимый монстрами урон не достигнет своего максимального значения. К тому времени, как игрок достигнет самого глубокого уровня, его персонаж должен быть достаточно сильным, чтобы справится с дерущимися без поблажек монстрами.
Давайте сделаем рогалик. Глава 22: Дистанционный бой
При первом рассмотрении, кажется, что добавить дистанционные атаки достаточно просто. Мы должны выбрать цель, запустить снаряд и проверить — попали ли мы им куда либо. Рассмотрев задачу более подробно, мы можем разложить ее на несколько простых подзадач, которые нам необходимо реализовать:
- Система выбора цели
- Боеприпасы и их количество
- Система перезарядки оружия
- Анимация атаки
- Расчет повреждений
Как вы можете видеть, действий, которые необходимо совершить, достаточно много, и их реализация потребует достаточного количества кода. Рассмотрим все по порядку.
пятница, 16 марта 2012 г.
Давайте сделаем рогалик. Глава 21: Прокачка персонажа
Еще одна вещь, которая поможет персонажу выжить в подземелье, это улучшение его характеристик. У нас уже есть описание клавиши для этого действия на основном экране, клавиша "х". Так что нам нужно просто добавить функциональность.
четверг, 15 марта 2012 г.
Давайте сделаем рогалик. Глава 20: Суть отдыха
Отдых, в общей механике игры, используется чтобы дать возможность персонажу исцелиться. В большинстве игр отдых требует некоторых расходов, будь то какой либо ресурс или увеличение возможности появления случайного монстра. В Подземелье Судьбы отдых будет стоить одну единицу маны и будет восстанавливать одну единицу здоровья.
Давайте сделаем рогалик. Глава 19: Ближний бой
Сейчас мы достигли точки, где уже возможно участвовать в ближнем бою. Чтобы атаковать, мы просто врезаться в монстра, в результате чего, нападаем на него с тем, что у нас есть под рукой в данный момент. Реализовано все это в подпрограмме MoveChar.
Давайте сделаем рогалик. Глава 18: Движение монстров
Сейчас у нас уже есть монстры в игре, но это не очень интересно, если они будут все время стоять на месте, пока игрок не запинает их досмерти. Монстры должны двигаться, преследовать персонажа, атаковать его и отступать в случае необходимости. В этой главе мы научим их догонять персонажа и убегать от него.
среда, 7 марта 2012 г.
Давайте сделаем рогалик. Глава 17: Монстры
Теперь у нас есть броня и оружие и, для того чтобы сражаться, осталось только добавить некоторое количество монстров. Мы добавим в проект новый файл monster.bi, который будет содержать весь код связанный с монстрами.
Первое что нужно сделать, это определить идентификаторы монстров.
вторник, 6 марта 2012 г.
Давайте сделаем рогалик. Глава 16: Оружие
Прежде чем перейти к реализации оружия, давайте взглянем на некоторые изменения в коде. Вместе с последним обновление появилась странная ошибка, в результате которой на карте появлялись фантомные предметы. На карту добавлялся идентификатор предмета и ничего больше. Глядя на код генерации предметов питания я обнаружил, что перечисление, используемое в генераторе случайных чисел, было изменено. Вместо того, чтобы верхняя граница задавалась supBottleOil (бутылка с маслом), почему то была указана броня armPlate. Я не знаю как это произошло, но это и являлось причиной создания фантомных предметов. Я исправил эту проблему и добавил в нескольких местах кода проверки, чтобы сразу знать что происходит нечто странное, если такая же ситуация повторится. (Примечание: бутылка масла была удалена из кода последующих глав, так как у нас не будет темных подземелий. Смотри раздел примечаний, где описаны идеи того, как можно добавить темные подземелья в игру).











