Олдфажного геймдева пост номер 8
По традиции для тех, кто не видел прошлые посты, скопирую короткое вступление.
Итак, что такое Citadel? Одскульная текстовая RPG/roguelike. И, говоря "олдскульная", я имею в виду рили олд. Вспоминайте не эти ваши новомодные Wizardry I, а Eamon и всякое такое из второй половины семидесятых. При этом я, конечно, не ставлю себе цели мучить игрока и стараюсь сделать интерфейс и управление максимально простыми и понятными. Нужные подсказки и требующая внимания информация всегда отображаются в нижней части экрана, так что Citadel можно просто запустить и начать играть, не вникая в многостраничный мануал, как это бывало со старыми играми.
Кстати, сегодня, если кому интересно, проект перевалил за 13 тысяч строк ассемблерного кода (правда, считая с текстовыми и "табличными" ресурсами) и вес в 50 Кбайт.
Версия 0.16
Что нового? Пункт "интро" в главном меню работает, так что теперь пользователь наконец узнает, что случилось и кто его персонаж. Hurray. Кроме того, альтернативные способы создания персонажа, бесполезно висевшие в стартовом меню, теперь работают. Premade - это такой стандартный стандартный герой, сбалансированный для относительно комфортного начала игры (по замыслу. Балансом, честно говоря, я пока пренебрёг). Random - для любителей экстрима. Да, самое главное - рабочее название сменилось на Beneath the Citadel. Типа отсылка к Beneath Apple Manor.
Снаряжение игрока обзавелось дополнительными сопротивлениями, увидеть значения которых можно по команде inspect в инвентаре.
То же касается враждебных существ. Чтобы этот факт не сильно расстраивал игрока, он теперь начинает с небольшим стартовым набором припасов.
Добавился новый тип комнат, новая особая комната, пара новых существ, несколько типов предметов, несколько новых свойств для них и совершенно новая механика иллюзий. Последняя будет играть важную роль в основном квесте, так что спойлерить не буду.
Полный список изменений как обычно приложу в комментах. Если вдруг кто захочет поиграть - за инструкциями в личку или старые посты.
Механика.
- у существ теперь есть резисты к разным типам урона.
- у доспехов теперь могут быть дополнительные сопротивления.
- по команде iNspect для снаряжения теперь выводятся два новых параметра: сопротивление отралению и горению.
- атакующая магия игрока учитывает сопротивления существ.
- новое свойство предметов: разовое восстановление здоровья при съедении.
- новое свойство предметов: разовое восстановление энергии при съедении.
- новое свойство предметов: разовое повышение силы при съедении.
- игрок начинает с двумя ration и тремя sanguine elixir.
- добавлена механика иллюзий.
Контент.
- добавлен вводный текст, пункт Intro в стартовом меню работает.
- альтернативные способы создания персонажа работают. Premade - стандартный, Random - случайный.
- новый предмет, sanguine potion.
- новый предмет, aqua animi.
- новый предмет, vine of youth.
- новый предмет, giant's heart.
- название изменено на Beneath the Citadel.
- добавлено три типа иллюзий.
- переделано описание ration.
- переделано описание detox serum.
- удалён dog skeleton.
- новое существо, dog husk.
- новое существо, servant husk.
- новый тип комнат, living cell.
- новая особая комната, alchemist's laboratory. Появляется на 1-2 этажах с вероятностью 33%.
Баланс.
- ration теперь восстанавливает немного здоровья.
Исправленные баги.
- несколько огрехов форматирования текста.
- в меню создания персонажа не работала функция возврата.
- падение игры при использовании магии Lightning bolt вне боя.
- некорректное отображение и работа ловушек из-за устаревшего указателя на флаги (снова).
- интерьер запертых комнат больше не виден.
- сообщение "you see nothing of interest" корректно выводится если в комнате есть скрытый предмет.
Известные баги.
- Если в комнате есть контейнер и ловушка, ловушка не срабатывает.
- Иногда предметы генерируются с 0 прочности.
- Сообщение о повышении атрибута не очищает строку полностью.
- Персонаж не перестает гореть по окончании боя если загорелся в финальном раунде.
- Горение наносит урон при открывании/закрывании окна персонажа в бою.