Citadel

Форум для проектов, находящихся на стадии Альфа и Бета. В них ещё не реализована вся задуманная автором функциональность, а значит идёт активная разработка.

Модераторы: Sanja, Максим Кич

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Citadel

Сообщение omnibus » 20 апр 2017, 19:58

Здравствуй, RLGClub!
Возвращаюсь после долгого перерыва (юзер AllSeeingI, если кто помнит). В прошлый раз я здесь пытался выступить с графическим-типа-рогаликом, который сейчас должно быть, лежит в разделе lost dreams. Сам, впрочем, виноват - не смог уделять разработке достаточно времени, плюс личная жизнь, плюс слишком расплывчатая концепция. В общем, дело прошлое, давайте не ворошить. Я подрос, посерьёзнел и научился доводить дела до конца. Приоритеты, правда, немного изменились. Я написал целую операционную систему! Bare bones, но всё-таки. Сейчас активно работаю над следующей версией, с блэкджеком и шлюхами, а для текущей - делаю в качестве демонстрационной программы роугобразную текстовую игру. Она сейчас тоже в ранней стадии, но апдейты постараюсь выкладывать регулярно.

Итак, что нас ждёт в Citadel?
- Одержимая сверхъестественным злом десятиэтажная крепость.
- Нестандартный для roguelike интерфейс наподобие старых текстовых квестов, но юзер френдли.
- Квест с пятью вариантами завершения.
- Прокачка параметров и умений персонажа по мере использования.
- Ловушки, монстры, головоломки.
- Менеджмент времени и ресурсов: голод, усталость и отчаяние могут доконать даже героя.

Главный герой принимает последнее испытание перед вступлением в орден рыцарей-монахов, охотников на нечисть. Чтобы показать свои силу, умение и чистоту помыслов, а также чтобы усвоить урок о губительности гордыни, ему нужно войти в бывшую цитадель ордена, осквернённую потусторонним злом, и принести наставнику Чашу Искупления. Что будет дальше - зависит от игрока. Сюжет, как я писал выше, будет иметь пять вариантов завершения.

Скрытый текст: ПОКАЗАТЬ
Текущая версия, назовём её альфа 1, интересна будет скорее любителям курьёзов. Доступна генерация персонажа, исследование пустой цитадели и драки с крысами. Список параметров персонажа - финальный, список навыков - будет меняться. Большинство опций в бою не работает, инвентарь не работает. Обновления постараюсь выкладывать раз в два-три дня.

Обновление альфа 2.
- Добавлен параметр "сытость", значение которого можно увидеть в меню персонажа. Падение сытости до нуля означает голодную смерть героя, но это не всё; уменьшаясь, сытость также негативно влияет на эффективность всех действий персонажа. Оставайтесь сытыми!
- Действие "Inventory" теперь работает, но пока не выводит ничего осмысленного.
- Добавлено действие "Search", пока не работает.
- Добавлена генерация тестовых предметов, но увидеть их можно будет в следующем обновлении.

Файл для скачивания обновлён.

Обновление альфа 3.
- Действие "Search" теперь работает и позволяет обнаруживать спрятанные в комнатах тестовые предметы. Успешность поиска зависит от навыка "Spot hidden" и общего состояния персонажа, которое пока определяется его сытостью. На очереди инвентарь.


Обновление альфа 4.
- Частично рабочий инвентарь.
- Добавлено действие "Take", пока не работает.
- Поправил баг альфа 3, из-за которого игрок после смерти продолжал бой ещё один раунд.
В следующем обновлении - окончательный вариант инвентаря и работа с предметами. Пока без экипировки.


Обновление альфа 5.
- Действие "Take" теперь работает и позволяет подбирать в инвентарь предметы, обнаруженные действием "Search".
- В нижней части экрана инвентаря теперь выводится описание предмета. Чем выше навык "Lore" - тем детальнее описание.
- На экране инвентаря добавлено действие "Use item". Позволяет использовать предмет. Но есть, как в анекдоте, нюанс! Эффективность использования зависит от того, насколько много персонаж знает о предмете или насколько хорошо подготовлен, чтобы им пользоваться. Для примера: применение лекарства тем эффективнее, чем выше навыки "Lore" и "Medicine".


Обновление альфа 6.
- После убийства последнего врага бой не завершается, пока игрок не нажмёт любую клавишу.
- Атрибуты персонажа теперь повышаются в бою. При повышении в конце боя выводится окошко с результатами.


Таак, затянувшееся обновление альфа 7.
- Доделана процедура повышения навыков персонажа. Сейчас работает только в бою, в следующей версии подключу ко всем остальным функциям.
- Добавлен параметр "Vigor", который, как и сытость, влияет на все действия персонажа. Снижение бодрости до нуля приводит к принудительному отдыху, что, в свою очередь, сильно снижает сытость.
- Добавлен предмет "Food ration", его можно съесть.


Версия альфа 8.
- "Мирные" действия, такие как Search или использование предметов, теперь тоже повышают навыки героя.
- Добавил действие Rest. Добровольный отдых отнимает меньше сытости, чем отключка из-за усталости.
- На экране повышения атрибутов и навыков теперь внизу выводится сообщение "Press any key to continue".
- Предмет test item удалён за ненадобностью.
- Добавлен предмет red powder.


Версия альфа 9.
В этот раз я позволил себе немного расслабиться и сделал просто обновление с контентом.
- 4 новых описания для комнат.
- первый минибосс, Король Крыс. Появляется с вероятностью 25% на первом этаже.


Версия альфа 10.
- добавил монстрам возможность иметь особые боевые умения. Потестить можно на крысином короле, который сейчас спаунится со 100% вероятностью и в фиксированном месте, сразу к югу от комнаты, где стартует игрок.
- добавил нового противника, больного вора. Слаб, но умеет без промаха бить в спину.


Версия альфа 11.
- Система экипировки ещё не закончена. В инвентаре есть слоты под надеваемые вещи, но они пока не используются.
- 1 новый противник
- 3 возможных группы противников
- 2 новых предмета.


Пришлось повозиться, но вот - альфа 12.
- Найденное обмундирование теперь можно экипировать.
- При попытке экипировать, использовать или выбросить пустой слот в инвентаре теперь выводится сообщение.
- При попытке надеть пустой слот или неэкипируемый предмет - тоже выводится сообщение.


Обновление альфа 13.
- на экране инвентаря теперь выводятся параметры урона и защиты, даваемых текущей экипировкой.
- 5 новых предметов.
- добавлен параметр "morale", который замыкает тройку переменных, определяющих состояние персонажа. Думаю, самое время рассказать об это подробнее. На экране персонажа (Character sheet) вы можете видеть три числовых значения: Satiety, Vigor и Morale. Сытость, бодрость и боевой дух. Каждое из них может принимать значение от 0 до 100. Среднее арифметическое этих трёх переменных определяет, насколько эффективно персонаж выполняет практически все действия, в процентах. Идеально сытый, выспавшийся и рвущийся в бой персонаж будет действовать на 100% своих указанных способностей. Полуголодный, но выспавшийся и самоуверенный - на 83%, и так далее. Сытость и бодрость уменьшаются каждый раз при перемещении из комнаты в комнату, хоть и с разной скоростью. Восстановить сытость можно, съев food ration. Восстановить бодрость можно, отдохнув - но это снизит сытость. Отдых бывает двух типов - добровольный, по кнопочке Rest, или принудительный - если Vigor упал до 0. Принудительный отдых снижает сытость сильнее. Боевой дух в нормальных условиях не снижается, что делает его спасательным кругом для игроков, гарантирующим, что персонаж будет действовать как минимум на 33% от своих возможностей. Снизить боевой дух смогут только умения некоторых высокоуровневых противников, но их пока в игре нет. Восстановить боевой дух можно будет в специальных комнатах. Фу, всё.


Версия альфа 14!
- переработан поиск. Теперь при наличии в комнате предмета оный всегда находится с первого раз. Совершенно незачем было наказывать игрока, заставляя жать на кнопку (S)earch миллион раз, дурацкое решение. Исправлено! Однако! Ловушки, о которых ниже, по-прежнему могут обнаруживаться не с первого раза, хотя работает поиск теперь лояльнее к игроку.
- да, ловушки. Они теперь есть и могут быть обнаружены функцией поиска, но пока не работают.
- после действия (S)earch теперь выводится строка с результатом.


Версия альфа 15.
- ловушки теперь работают.
- ловушки можно обезвреживать действием "Disarm".


Версия альфа 16.
-расширил дескрипторы ловушек. Теперь они делятся на одноразовые и многоразовые.
-добавил интро.
-добавил первую концовку. В любой момент игрок может покинуть цитадель через стартовую комнату. Выйдя без артефакта, игрок получит концовку номер 1.


Версия альфа 17.
- опция Discard в инвентаре теперь работает.
- добавил регенерацию здоровья.
- добавил полную линейку обычных головных уборов. Наслаждайтесь, модники!


Версия альфа 18.
-Добавлены все обычные щиты.
-Добавлены все обычные арбалеты.
-Персонаж теперь может быть отравлен. Собственно, закончена вся механика, связанная с ядом. Есть эффект отравления, есть сопротивления яду, зависящее от телосложения, и есть антидот.
-3 новых ловушки.
-2 новых противника.


Эту версию я назвал beta 1 WIP. Сразу предупреждаю, что по сравнению с альфа 18 она сильно урезана. Выкладываю, в общем, для того, чтобы показать, что проект не заброшен, и чтобы все желающие могли ознакомиться с новыми механиками создания персонажа и взаимодействия с ловушками. На карте сейчас отключена генерация предметов и монстров, а у персонажа нет голода и боевого духа.

Этим, собственно, начинается новая линейка обновлений beta. Дальше постараюсь их выкладывать в прежнем темпе - одну штуку каждые четыре дня.


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


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


Beta 1.3
- Исправил кривой обработчик команды "go back to previous room", который отправлял героя не в предыдущую, а в предпредыдущую комнату.
- Добавил временно вывод некоторой отладочной инфы в правый нижний угол, не обращайте внимания.
- Игра теперь опознает наличие монстров в комнате, но боёвка всё ещё не включена, т.к. я её тестирую и ловлю баги. В оправдание скажу, что она стала значительно сложнее. Сейчас для того чтобы избавиться от вражин достаточно нажать "Attack" и затем, на боевом экране, любую кнопку.
- Также при встрече с врагом теперь доступна команда Flee. По задумке это паническое бегство, так что игрок оказывается в случайной комнате своего этажа. Для персонажей с раскачанным Stealth будут доступны опции Retreat и Sneak by. Первая позволит незаметно отступить, а вторая - скрытно провернуть свои дела в комнате, не потревожив обитателей. Но это в списке to do, пока не пробуйте :)
- Внимательный пользователь заметит в инвентаре новый предмет, отмычки. Это тоже задел на будущее, применение им будет в следующей версии.
- Кроме того, теперь некоторые комнаты заперты. Столкнувшись с закрытой дверью, игрок сможет отступить, вскрыть замок (при помощи отмычки) или выбить дверь (повредив оружие). Не успел, к сожалению, всё это воплотить - будет в 1.4. Пока стоят заглушки, которые заставляют игрока отступить в предыдущую комнату при выборе любой опции, это не баг.
-А вот известный баг: команда Flee может отправить игрока в запертую комнату, минуя дверь. Это тоже будет пофикшено в 1.4. Тут я вижу два варианта решения: выбирать незапертые комнаты или принудительно вышибать дверь паникующим героем. Второй вариант, конечно, смешнее. Подумаю.


Beta 1.4
- Замки теперь можно вскрывать.
- Двери теперь можно выламывать.
- Команда Flee теперь автоматически вышибает персонажем дверь, если комната заперта.


Beta 1.5
- Боевой режим работает. Сказать что он закончен, правда, будет ОЧЕНЬ сильной натяжкой. Собственно, сейчас он выглядит примерно так же, как и в альфа-версиях. Вся эта гора времени у меня ушла на переделку внутренних механик и добавление крючочков, на которые будут цепляться новые.

Что не сделано:
- Возможность выходить из боя (бегство, скрытность или магия).
- Взаиморасположение врагов. Одни смогут прикрывать других от атак игрока. Кроме того, будут летающие недруги, которых можно будет достать только из арбалета или магией (либо контратакой).
- Вся механика усталости. Тут надо остановиться подробнее. Будет "глобальная" усталость, которая растёт при активном совершении действий в мирном режиме. Будет также "быстрая" усталость, которая будет расти в бою, когда персонаж атакует. Для того, чтобы перевести дух в бою, персонаж сможет переходить к пассивной обороне или прятаться при развитой скрытности. При этом чем сильнее персонаж устал "глобально" - тем меньше сил у него будет в бою и тем чаще ему придётся делать перерывы. Звучит запутанно, но по идее должно получиться интуитивно и реалистично.
- Стрельба и магия.
- Разные типы атак и защиты, открывающиеся по мере развития навыков и параметров героя.

Beta 1.6
- Вернул генерацию предметов на карте.
- Поправил некоторые баги вывода текста.
- Вражеские удары теперь повреждают доспехи героя. Тоудмены, которые наносят 0 урона наряженному в стартовый комплект персонажу теперь-таки представляют угрозу, т.к. постепенно раздерут одежду и доберутся до мясца.


Как это, чёрт возьми, запустить?!
Приложенный файл - запакованный образ дискеты с ОС и, собственно, игрой. И хотя самые любознательные могут, конечно, записать его на реальный носитель и попробовать с настоящей машиной, я всё же рекомендую эмулятор. Из-за заглушки в инициализации PS/2 ось на реальном железе, скорее всего, не запустится - как и на большинстве эмуляторов. Работать будет с Bochs. Благо он бесплатен и прост в настройке. При запуске программы вылезет окошко с опциями. Нужно выбрать раздел Disk & boot и нажать edit. В открывшемся окне на первой же вкладке (floppy options) - выбрать тип носителя (1,44 Мб) и указать путь к образу. Всё остальное, в принципе, можно оставить по умолчанию. Жёсткий диск не нужен, памяти более чем достаточно 4 Мб. Если всё прошло нормально, увидите окошко с приглашением (>). Набираете dng или dng.bin и жмёте ентер. Далее - должно быть понятно.

Upd: на том же экране настройки флоппи-диска нужно переключить статус дискеты с "ejected" на "inserted" и type of floppy media на "1,44".
Вложения
floppy023.zip
Citadel Beta 1.6
(32.82 КБ) 0 скачиваний
Последний раз редактировалось omnibus 11 дек 2017, 23:41, всего редактировалось 30 раз.

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1560
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Citadel

Сообщение Максим Кич » 20 апр 2017, 20:21

Месье знает толк в извращениях…

Увы, у меня получилось только вот это:

citadel_fail.jpg
citadel_fail.jpg (56.11 КБ) 2428 просмотров

Было бы неплохо получить чуть более подробные инструкции для запуска на виртуальных машинах. Потому что грабить музей компьютерной техники — это чутка моветон.
Dump the screen? [y/n]

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 20 апр 2017, 20:25

Написал в последнем разделе, под заголовком "как же это, чёрт возьми, запустить". То, что у вас получилось - экран заглушки. Пофикшу в следующей версии ОС. Пока работает на эмуляторе bochs. Инструкция там же.

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1560
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Citadel

Сообщение Максим Кич » 20 апр 2017, 20:27

citadel_fail2.jpg
citadel_fail2.jpg (124.82 КБ) 2426 просмотров
Dump the screen? [y/n]

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1560
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Citadel

Сообщение Максим Кич » 20 апр 2017, 20:28

citadel_fail3.jpg
citadel_fail3.jpg (75.56 КБ) 2426 просмотров
Dump the screen? [y/n]

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 20 апр 2017, 20:30

Вот так должен выглядеть экран настройки флоппи. Возможно, забыли поставить статус inserted.
Вложения
snap1.jpg
snap1.jpg (121.13 КБ) 2426 просмотров

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1560
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Citadel

Сообщение Максим Кич » 20 апр 2017, 20:40

omnibus писал(а):
20 апр 2017, 20:30
Вот так должен выглядеть экран настройки флоппи. Возможно, забыли поставить статус inserted.
Намеренно оставил по умолчанию, в соответствии с:
omnibus писал(а):
20 апр 2017, 19:58
Нужно выбрать раздел Disk & boot и нажать edit. В открывшемся окне на первой же вкладке (floppy options) - выбрать тип носителя (1,44 Мб) и указать путь к образу. Всё остальное, в принципе, можно оставить по умолчанию.
Теперь всё запустилось:
citadel_success.jpg
citadel_success.jpg (62.97 КБ) 2419 просмотров
Dump the screen? [y/n]

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 20 апр 2017, 20:44

Отлично! Обновил инструкции, спасибо.

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 22 апр 2017, 18:18

Обновление альфа 2.
- Добавлен параметр "сытость", значение которого можно увидеть в меню персонажа. Падение сытости до нуля означает голодную смерть героя, но это не всё; уменьшаясь, сытость также негативно влияет на эффективность всех действий персонажа. Оставайтесь сытыми!
- Действие "Inventory" теперь работает, но пока не выводит ничего осмысленного.
- Добавлено действие "Search", пока не работает.
- Добавлена генерация тестовых предметов, но увидеть их можно будет в следующем обновлении.
Файл для скачивания обновлён.

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 28 апр 2017, 22:34

Обновление альфа 3.
- Действие "Search" теперь работает и позволяет обнаруживать спрятанные в комнатах тестовые предметы. Успешность поиска зависит от навыка "Spot hidden" и общего состояния персонажа, которое пока определяется его сытостью. На очереди инвентарь.

P.S.: выдерживать заданный ритм обновлений каждые два-три дня у меня явно не выходит. Меняю на три-четыре. Этот апдейт, правда, задержался ещё сильнее, но тут виноват мерзкий баг, который я случайно создал в новой версии. Впредь обязуюсь, и т.д.

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 02 май 2017, 09:24

Обновление альфа 4.
- Частично рабочий инвентарь.
- Добавлено действие "Take", пока не работает.
- Поправил баг альфа 3, из-за которого игрок после смерти продолжал бой ещё один раунд.
В следующем обновлении - окончательный вариант инвентаря и работа с предметами. Пока без экипировки.

Написание программы для сырой ОС имеет свои минусы. Например, из-за отсутствия пока функционирующего менеджера памяти работать со структурами данных переменного размера трудно. Не то чтобы совсем невозможно, но запарно. Во что это выльется для проекта Citadel? Пока - в ограничение на количество предметов в комнате. Собственно, каждая комната может содержать ровно один предмет. Предметы, выброшенные из инвентаря, будут пропадать бесследно. Плохо ли это? С одной стороны, это явная условность в духе старых JRPG, с другой - условностями полна любя игра, а в Citadel такой аскетизм в плане ресурсов пойдёт только на пользу. Собственно, одна из функций Citadel - помочь выявить наиболее критичные моменты в работе ОС, которыми стоит заняться в следующей версии. Вот один из них.

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1560
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Citadel

Сообщение Максим Кич » 02 май 2017, 12:23

С чисто академической точки зрения — очень интересный проект! Пока, к сожалению, нет времени новые версии посмотреть (((
Dump the screen? [y/n]

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 03 май 2017, 05:53

Невелика беда, революции пока не произошло)

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 06 май 2017, 11:05

Обновление альфа 5.
- Действие "Take" теперь работает и позволяет подбирать в инвентарь предметы, обнаруженные действием "Search".
- В нижней части экрана инвентаря теперь выводится описание предмета. Чем выше навык "Lore" - тем детальнее описание.
- На экране инвентаря добавлено действие "Use item". Позволяет использовать предмет. Но есть, как в анекдоте, нюанс! Эффективность использования зависит от того, насколько много персонаж знает о предмете или насколько хорошо подготовлен, чтобы им пользоваться. Для примера: применение лекарства тем эффективнее, чем выше навыки "Lore" и "Medicine".

omnibus
Сообщения: 49
Зарегистрирован: 19 апр 2017, 08:17

Re: Citadel

Сообщение omnibus » 11 май 2017, 19:56

Обновление альфа 6.
- После убийства последнего врага бой не завершается, пока игрок не нажмёт любую клавишу.
- Атрибуты персонажа теперь повышаются в бою. При повышении в конце боя выводится окошко с результатами.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя