Неделя 22 (март 2): Рецепты подземелий и прочие мелочи.

Оглавление

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

Итак, для реализации подземелий на основе рецептов мне нужно было какое-нибудь ограничение доступности этих самых рецептов. Логика такая. Когда мы проходим подземелье, нам нужно какое-то значение, грубо говоря, атаки, чтобы завалить всех монстров. В моем случае атака — это ролевой параметр постройки, укомплектованной персонажами. Но при выполнении рецепта ролевой параметр говорит на сколько рецепт будет быстрее выполнен. Будто от силы атаки зависит не возможность пройти подземелье а только как долго его придется проходить.

Пришлось зайти с немного другого конца и сделать рестрикшен, который будет просто прятать рецепты, выполнить которые у игрока не хватает ролевого параметра. Плюс у этого решения заключается в простоте его реализации. Хотя все равно пришлось побадаться с механизмом рестрикшенов, который был создан, дай бог памяти, где-то на седьмой неделе, в начале ноября. Там была большая красивая фукнция проверки всего, которая почему-то не использовалась.

В качестве эксперимента ограничил доступность рецепта Молотков на 200 очков скила работы с железом.

Минусом же является то, что на этом этапе игрок не видит какое следующее препятствие перед ним стоит и не сможет оценить на сколько надо увеличить свою атаку, чтобы преодолеть подземелье.

***

А потом пошло по мелочам.

  • Сделал наконец чтобы игра хранила информацию о купленных в магазине лотах построек. Теперь их можно купить только один раз.
  • По дороге у меня что-то пошло не так, начал ругаться Easy Save, я решил его обновить, в результате чего все стало еще хуже, я залил в репозиторий файлы связанные с магазином и удалил к чертовой матери все локальные файлы, включая один из забытых мной файлов связанных с магазином, который после восстановления локальной версии игры пришлось переписывать заново, благо там было работы на 10 минут. Повезло.
  • Сделал наконец чтобы значение бонуса шмотки зависело от ее уровня. По дороге выяснил, что формулу значения бонуса я написал в трех разных местах… где угодно кроме того места, где она реально должна быть — в классе описывающем сам бонус. Наверное я был пьян. Теперь очень стесняюсь что я вообще так сделал, хоть никто этого никогда и не увидит.
  • Самое смешное, что ошибка в формуле позволила проверить ее работоспособность даже без использования механизма заточки… который как оказалось немного сломался. Вернее не сам механизм, а интерфейс информации о предмете, через который предметы добавлялись в склады интерфейса заточки.

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

А вот с ограничением возможности одеть шмотку в зависимости от скила персонажа вышла проблема. Я что-то не подумал откуда должен браться параметр скила шмотки, чтобы сравнивать его с параметром скила персонажа.

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

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

Главное, что этот потом для всех шмоток одинаковый и будет наступать например каждые 15-20 уровней… а значит мне сейчас вообще пофиг как это будет работать! Вот так надо решать проблемы.

Оглавление