Ignite – изменения в версии 0.02

Ignite В разработке Ignite я подошел достаточно близко к релизу версии 0.02, что бы озвучить изменения в игре, которые будут включены в этой версии. Итак:

  • (сделано) Монстры передвигаются по карте, преследуют игрока и всеми силами стараются его убить, в отличии от версии 0.01, где они просто стояли на месте и ждали нападения от игрока (аля desktop dungeons).
  • (сделано) Реализован механизм расчета field of view, в отличии от зоны просмотра в 0.01 – 1 клетка.
  • (сделано) Игрок вместо телепортации в любую доступную клетку, честно передвигается на соседнюю.
  • (сделано) Увеличено число монстров и предметов.
  • (сделано ) Изменения в боевой системе, тысячи их.
  • (сделано) Уникализировано оружие, генерируются предметы с уникальными свойствами.
  • (сделано) Добавлено по 1-му таланту в каждую ветку. В итоге сейчас доступно 9 талантов.
  • (частично) Добавлено еще 4 уровня. Последний, пятый, уровень будет представлять собой схватку с уникальным противником.
  • (сделано) добавлены хранилища предметов на карту (например, сундуки), заменены сферы здоровья на health potion, которые игрок берет с собой в путь.
  • (сделано) изменения пользовательского интерфейса, предложенные kipar с rlgclub.ru(кроме хоткеев. их сделаю позже).

Постепенно эти изменения будут претворятся в жизнь и, как только все будут сделаны, я опубликую новую версию Ignite. Ориентировочно, я планирую релиз ignite 0.02 на начало июня.

Ignite – уникальные особенности оружия

Сегодня ввел в игру возможность для оружия иметь свои уникальные свойства. В данный момент уникальные свойства имеют не конкретные единицы вооружения, а только их классы (мечи, топоры…), но система реализована таким образом, что добавить уникальное свойство для определенной единицы не составляет никаких трудностей (только править xml-файл и додумать систему случайной генерации предметов).

ignite weapon effects

На данном скриншоте видно, как игрок получает 2 бафа из-за того, что взял в руки 2 булавы.

Осталось только дописать код, чтобы одинаковые эффекты стекались (соединялись) в один для более удобного представления пользователю.

В данный момент уникальные свойства получили:

  • клинки – шанс прока двойной атаки (объединяется вместе с похожим эффектом класса воин в характеристику Haste)
  • топоры – увеличивают пробивание брони цели (armor penetration)
  • булавы – шанс оглушить врага при ударе
  • копья – увеличивают шанс избежать игроком удара

Также потихоньку буду выносить все фразы в отдельный xml-файл (который на данный момент используется, как описание существующих эффектов). Наличие фраз в отдельном файле позволит позже осуществить перевод проекта на другой язык (если, конечно, Ignite дорастет до стадии, чтобы его было интересно переводить с английского :) )

Ignite – расширение инвентория и набора противников

В игре ежедневно происходит множество изменений, с лупой и средой разработки я охочусь за багами и исправляю ошибки, допущенные при программировании “далеко за полночь”. Сейчас никакая игра не увлекает меня так сильно, как написание своей собственной.

Сегодня реализовал систему считывания параметров монстров и предметов из файла, что дает мне возможность быстро создавать новых противников и средства их уничтожения. Добавил на тестовый уровень несколько новых врагов, а также достаточно сильно расширил количество предметов, которые игрок может добыть из тел поверженных противников.

ignite rpg inventory Новые предметы в Ignite

Пора расширять количество слотов под надеваемые предметы, но это после того, как прикручу систему, которая позволит добавлять к существующим предметам различные эффекты (физические и магические). Таким образом предметы с одинаковыми параметрами будут уникальными. Например, кинжал будет иметь бонус к пробиванию брони, а палица – шанс оглушить противника.

Введены в игру также несколько видов брони: более легкая увеличивает шансы избежать удара, а более тяжелая снижает полученные повреждения, но шанс увернуться от попадания в такой броне снижается.

Ignite – field of view и AI

Сегодня (внезапно) реализовал алгоритм расчета поля зрения игрока и монстров. Получилось достаточно просто, но, несмотря на это, эффективно.

ignite field of view

В данный момент проект достаточно сильно изменился со времен версии 0.01. Судите сами: игрок теперь видит не только соседнюю клетку, но и несколько рядом, а противники не стоят на месте аля Desktop Dungeons, а точно также видят игрока и пытаются ввязаться с ним в бой. Я планирую добавить разнообразия в систему вещей, сделать генератор карт (просто не знаю откуда начать его реализацию) и выпустить альфа-версию 0.02 где-то в начале июня. Если успею, то к этому времени доделаю воинские таланты и реализую переход между уровнями.

Ignite – ход разработки

Ignite На выходных добавил в игру зачатки AI для противников: теперь, когда они видят игрока, они приближаются к нему и атакуют. Стали возможными ситуации, когда игрок может быть окружен несколькими противниками сразу и вынужден вести бой одновременно со всеми.

  • Ближайшее время собираюсь работать над честным расчетом зоны видимости (а не 1 клетка, как было до этого). С увеличением зоны обзора до 4-5 клеток, появится необходимость использовать дальнобойное оружие, магию и навыки, которые позволяет быстрее перемещаться по полю боя (догонять или убегать от противника).
  • Также будет введена система регена здоровья, количество Health Globe будет сведено к минимуму и они станут роскошью, а не необходимостью.
  • Добавлю в игру (и боевую систему) несколько комплектов брони, которая будет защищать игрока и его противников. Также добавлю зачатки механизма модификации существующих вещей, когда игроком случайно может быть получена более совершенная версия того или иного предмета.

Ignite – система повреждений

Ignite Пришла пора описать систему повреждений, которая будет применяться в моей игре. Мне проще производить изменения, которые где-то описаны. И эти ревью становятся одновременно дизайн документом, а так как я работаю над проектом на разных машинах, то и неплохо иметь его в онлайн виде.

Сейчас система достаточно проста: существует только чистое повреждение, которое модифицируется только блоком щитом и может промазать. В дальнейшем это повреждение станет физическим уроном и будет уменьшаться классом брони (на величину равную классу брони), а шанс промахнуться также будет зависеть от модификатора брони (легкая броня увеличивает шанс уворота, тяжелая – снижает).

Кроме физического урона, также появится урон от кровотечений (bleed) . Некоторые классы (например, воин и вор) могут наносить противникам урон от кровотечения – это будут специальные эффекты, которые будут наносить урон 1 или несколько ходов, а потом исчезать. Примечательно то, что урон от кровотечения напрямую зависит от величины нанесенного физического урона, но не уменьшается классом брони.

Следующим видом урона становится урон от яда (который наносят воры и некоторые виды магов) – poison . Он наносится или заклинанием или соответствующим эффектом, сопровождаемым попаданием физической атаки. Снижается благодаря сопротивлению к ядам (на величину равную сопротивлению).

Элементальный урон(elemental) и урон от магии(magic) применяется не только магами, но и может быть нанесен физической атакой волшебным оружием. Снижается также сопротивлением к элементальной или простой магией.

Эта система уже введена в игру и работает аналогично публичной альфе.

Следующее, что я планирую ввести в игру:

  • Перемещение на соседнюю клетку, вместо прыжков на любую доступную точку карты. (в дальнейшем усовершенствую алгоритм так, чтобы он находил путь к этой самой точке на карте, но перемещался дискретно по каждой клетке)
  • Расширение области зрения до 4-5 клеток.
  • Базовый AI монстров (увидел игрока – подхожу, не вижу – стою на месте).

Публичная альфа Ignite 0.01

Предисловие: проект Ignite находится в данный момент в стадии публичной альфа-версии. Что это означает? А означает это то, что скорее всего все, что вы видите работает не тем образом, как это задумывалось автором, и уж точно не тем образом, как будет работать в более поздних версия проекта. В процессе работы программы, вы можете встретиться с какими-то недоработками или откровенными багами, и я буду вам весьма признателен, если вы о них мне сообщите (например, в комментариях к данной записи).

Ignite Ignite 0.01 представляет вам:

* Один статический уровень подземелья.

* Один класс для игры (воин) с 6ю талантами на выбор (вы сможете взять 1-2 в течении одного прохождения).

* Несколько видов оружия и стилей боя на выбор

В данный момент Ignite представляет собой больше тест возможностей движка и заявление миру “смотрите, оно работает”, чем полноценный релиз, но даже так я весьма горд им.

Язык интерфейса – английский. Для запуска вам потребуется MS Windows XP sp3 или выше, а так же .net framework 4.

Скачать Ignite 0.01

Interface language – english. You will need MS Windows XP sp 3 + and net framework 4 to run it.

Download Ignite 0.01

Ignite – генерация предметов и лут

Сегодня ввел в игру случайную генерацию предметов, а также возможность снимать их с поверженных врагов. Теперь игрок начинает игру только с двуручным мечом (что являет не самым оптимальным выбором для прохождения тестового уровня) и в процессе игры может получить одноручные мечи и щит. А может и не получить :)

Фактически уже практически все готово для того, чтобы сделать публичный тестовый релиз. Надо только парочку багов “допилить”. Надеюсь, что сегодня у меня хватит времени доделать работу, уничтожить эти баги и сделать релиз.

Ход разработки Ignite

Ignite Сегодня практически не программировал, только утром полностью реализовал функционал для работы талантов (т.е. теперь осталось придумать остальные таланты для воина и нарисовать кучу иконок). А также разрешил одну из самых больших проблем, которые не давали мне спать по ночам – наличие панели для быстрого доступа к активным навыкам и предметам инвентория, которые требуют использования. Теперь такая панель существует в закрытом билде и на нее успешно выводится единственный активный навык – Raging Blow.

С добавлением талантов для Arms ветки, стало возможным пройти уровень с использованием двуручного оружия (напомню, что уровень как раз заточен против персонажей с двуручниками), но с двумя клинками это можно сделать намного проще – все, как и задумывалось. Вариативность. Также с добавлением предметов инвентаря класса “щит”, стало возможным прохождение в защитной стойке – т.е. не быстрое убийство врага, а переживание его за счет очень низкого входящего урона. Таким образом я имею 3 работоспособных столпа класса воин, которые и планировал изначально. Надеюсь гибрид веток развития покажет жизнестойкость.

На сегодня все, продолжаю разработку.

Ignite, тестовая версия

Ignite Только что собрал первую работающую версию своей roguelike-игры, которую увидит другой человек. Игру я переименовал в емкое Ignite. Отныне она будет называться именно таким образом.

Итак, что же входит в первую тестовую версию игры?

Во-первых, 1 игровой персонаж (не удивляйтесь такому, я бы сказал, минимальному количеству, ибо персонажи в Ignite будут действительно разными).

Во-вторых, 1 прегенерированный уровень. В дальнейшем уровни будут, как случайными, так и созданными заранее.

В-третьих, в нее даже можно выиграть, пройдя единственный уровень из второго пункта. Для этого всего-лишь надо пробиться через заслон солдат, найти в жутких коридорах подземелья генерала Кессиди и победить его в честной схватке.

Кроме того, я наконец-то реализовал системы эффектов и талантов. Данные системы так тесно были интегрированы друг с другом механикой моей игры, что я даже не знал с какой из них начинать разработку. Решил я это тем, что сначала написал код, который симулировал работу одной из систем, что позволило мне отладить работу второй, а потом, имея данные работы второй, я смог создать первую. Где-то так :)

В результате это вылилось в наличие у игрока таланта “Enrage – (Passive, Arms, Tier 1) – Каждый раз, когда вы наносите 2 или больше удара в один ход (не считая спецабилок) вы увеличиваете свой урон на 5%.”, который вызывает соответствующий эффект в процессе боя.

Данная версия уходит в зрительский зал тем людям, которые изъявили желание ее получить, а первый публичный билд будет немного позже, как только я доделаю первые 6 воинских талантов, сделаю систему повышения уровня персонада и разбросаю по подземелью оружие, щит и броню. В принципе, это только вопрос времени.