Разработка
Модератор: ADB
-
- Мастер
- Сообщения: 371
- Зарегистрирован: 27 ноя 2006, 00:55
- Откуда: Санкт-Петербург
- Контактная информация:
Разработка
Поздравляю всех с открытием клуба на новом хостинге!
К выходу готовится свежий билд Templer'а. Сейчас никак не решится вопрос, делать ли население в деревнях и городах статичным (постоянное количество одних и тех же персонажей, после смерти не восстанавливаются) или динамическим (при каждом новом посещении города появляются новые персонажи, количество которых варьируется, кроме квестовых неписей и торговцев).
К выходу готовится свежий билд Templer'а. Сейчас никак не решится вопрос, делать ли население в деревнях и городах статичным (постоянное количество одних и тех же персонажей, после смерти не восстанавливаются) или динамическим (при каждом новом посещении города появляются новые персонажи, количество которых варьируется, кроме квестовых неписей и торговцев).
Последний раз редактировалось ADB 11 дек 2006, 23:38, всего редактировалось 1 раз.
- Sanja
- Администратор
- Сообщения: 791
- Зарегистрирован: 24 ноя 2006, 12:25
- Откуда: Новосибирск
- Контактная информация:
Oh yeah!Поздравляю всех с открытием клуба на новом хостинге!

На твой взгляд какова ценность этих персонажей (тех что не квестовые неписи и не торговцы) в твоём мире? Могут ли они быть чем-то полезны ГГ (информация, рандом-квесты, наёмники, "потенциальные жертвы грабежа ГГ"Сейчас никак не решится вопрос, делать ли население в деревнях и городах статичным (постоянное количество одних и тех же персонажей, после смерти не восстанавливаются) или динамическим (при каждом новом посещении города появляются новые персонажи, количество которых варьируется, кроме квестовых неписей и торговцев)

-
- Мастер
- Сообщения: 371
- Зарегистрирован: 27 ноя 2006, 00:55
- Откуда: Санкт-Петербург
- Контактная информация:
Думаю, что не квестовые персонажи могут давать опыт при убийстве но не большой, и полезны ГГ они могут быть не очень существенно. Они лишь заполняют область населения. Все квестовые персонажи обрабатываются отдельно от них. Те же самые стражники патрулируют город, и если увидят преступления, пытаются арестовать, они видимо тоже тогда должны восстонавлиаться со временем? Стажник - достаточно силен по сравнению с любым стандарнтым неписем и может дать хороший отпор начальному герою.
-
- Мастер
- Сообщения: 371
- Зарегистрирован: 27 ноя 2006, 00:55
- Откуда: Санкт-Петербург
- Контактная информация:
Население будет служить игроку в качестве информаторов. Можно располагать персов к себе и получать их помощь. Поэтому думаю сделать в городах так, чтобы "вырезать всех под завязку" не получилось. Стражи в городах, скорее всего, тоже будут пополнятся.Sanja писал(а):Ну, тогда получается что не так уж и важно, будут они статичные или динамические. Игрок этого просто не заметит![]()
Вообще, население можно неплохо привязать к игровому процессу.
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Есть такой вопрос: ты можешь поделиться информацией о том, как ты закладывал логику стражей? Как они реагируют на преступления, на какие виды и т.п. Общее описание для размышления...
У меня аналогичная часть на данный момент очень проста, стража занимается только защитой селения и окружающего пространства от внешних атак. В ближайшее время собираюсь еще заложить отлов должников торговцев (у меня возможны кражи в магазинах - набрать предметов и, не оплачивая, телепортнуться или проломить стену и сбежать), возможно также отлов тех, кто убил жителя деревни. Больше идей нет, и даже по имеющимся мучаюсь сомнениями...
У меня аналогичная часть на данный момент очень проста, стража занимается только защитой селения и окружающего пространства от внешних атак. В ближайшее время собираюсь еще заложить отлов должников торговцев (у меня возможны кражи в магазинах - набрать предметов и, не оплачивая, телепортнуться или проломить стену и сбежать), возможно также отлов тех, кто убил жителя деревни. Больше идей нет, и даже по имеющимся мучаюсь сомнениями...
-
- Мастер
- Сообщения: 371
- Зарегистрирован: 27 ноя 2006, 00:55
- Откуда: Санкт-Петербург
- Контактная информация:
Первым делом, любой из персонажей мира принадлежит какой-нибудь фракции (горожанин, селянин, стража, домашнее животное, хищник и т.д.) Между этими фракциями установлены взаимоотношения: +3 -> -3
+3 - родственные отношения, -3 - враг№1. Т.е. составлена таблица фракций.
Каждый из персонажей постоянно просматривает окружающих его неписей. Так же делают и стражи, но... У стражей установлен флаг "СТРАЖ" и поэтому они делают еще и дополнительные проверки.
1) Драки. Например, стражи реагируют на то, когда за героем кто-то гонится (сражается с героем). Он смотрит, как он относится к атакующему вашего персонажа перцу и определяет, кто был зачинщик драки (кто первый кого ударил, после чего и свершился конфликт). Если страж признает в перце своего подзащитного и он ударил вашего героя не первым, то вы становитесь для него объектом атаки. В другом случае я решил сделать бездействие со стороны стражника (боюсь подстав со стороны играющего).
2) Убийства. Когда игрок кого-нибудь убивает, то просматриваются все персонажи в пределах видимости. Стражи реагируют на убийства всегда нападением на героя, если убитый относится к населению/домашним животным, т.е. к тем, кого они должны защищать по таблице фракций.
3) Взлом. Стажи, как в принципе и все другие персонажи, реагируют на взлом замков. Когда игрок совершает это действие, просматриваются все персонажи в пределах видимости, которые тут же реагируют нападением.
4) Воровство. Этот элемент у меня еще не подключен, хоть и разработан. У каждой вещи есть информация о ид собственника, и если игрок попытается на виду у всех поднять предмет не со своим ид, то это будет расценено как воровство. При покупке/продаже предметов, устанавливается новый собственник. Такая система не распространяется на вещи из инвентаря поверженных (сброс ид при падении на землю) или просто ничейных предметов (грибы, оружие в данженах). У них не установлен ид собственника.
Теперь самое заумное.
Все было бы просто, если не система законности. Мне хотелось сделать так, чтобы слухи о преступлениях игрока не распространялись моментально. Для этого я ввел переменные преступлений:
а) На нарушения порядка (оскорбления стражей, рукоприкладство к мирному населению)
б) На убийства
в) На воровство
Причем эти переменные есть как в глобальной системе, так и локальной. Сначала, эти нарушения устанавливаются в локальной области. Значение их равно уровню штрафа в деньгах и тем больше, чем выше уровень нарушения. Например, если ударить обычного жителя, то герой получит штраф на 50 ед. денег, а если короля, то на все 1000.
Все законопослушные неписи, которые заметили ваши нарушения в текущей локации помечаются, как свидетели. Если при переходе в другую локацию остался хотя бы один свидетель, то локальные нарушения переносятся в соответствующие глобальные переменные. При загрузке карты стражи, существующие на ней просматривают эти глоб. штрафы и начинают атаковать героя. Если стражник делает удар по герою, и на этой локации игроку еще не предлагался выбор сдаться, то срабатывает скрипт ареста повешенный на стража. Т.о. игроку дается шанс сдаться страже при каждом новом переходе между локациями. В случае подчинения, снимаются глобальные штрафы и успокаиваются все законопослушные персонажи в мире.
P.S.: Хотел написать как можно короче, но не получилось, извиняй. Если что, задавай вопросы, поясню любой момент.
+3 - родственные отношения, -3 - враг№1. Т.е. составлена таблица фракций.
Каждый из персонажей постоянно просматривает окружающих его неписей. Так же делают и стражи, но... У стражей установлен флаг "СТРАЖ" и поэтому они делают еще и дополнительные проверки.
1) Драки. Например, стражи реагируют на то, когда за героем кто-то гонится (сражается с героем). Он смотрит, как он относится к атакующему вашего персонажа перцу и определяет, кто был зачинщик драки (кто первый кого ударил, после чего и свершился конфликт). Если страж признает в перце своего подзащитного и он ударил вашего героя не первым, то вы становитесь для него объектом атаки. В другом случае я решил сделать бездействие со стороны стражника (боюсь подстав со стороны играющего).
2) Убийства. Когда игрок кого-нибудь убивает, то просматриваются все персонажи в пределах видимости. Стражи реагируют на убийства всегда нападением на героя, если убитый относится к населению/домашним животным, т.е. к тем, кого они должны защищать по таблице фракций.
3) Взлом. Стажи, как в принципе и все другие персонажи, реагируют на взлом замков. Когда игрок совершает это действие, просматриваются все персонажи в пределах видимости, которые тут же реагируют нападением.
4) Воровство. Этот элемент у меня еще не подключен, хоть и разработан. У каждой вещи есть информация о ид собственника, и если игрок попытается на виду у всех поднять предмет не со своим ид, то это будет расценено как воровство. При покупке/продаже предметов, устанавливается новый собственник. Такая система не распространяется на вещи из инвентаря поверженных (сброс ид при падении на землю) или просто ничейных предметов (грибы, оружие в данженах). У них не установлен ид собственника.
Теперь самое заумное.

а) На нарушения порядка (оскорбления стражей, рукоприкладство к мирному населению)
б) На убийства
в) На воровство
Причем эти переменные есть как в глобальной системе, так и локальной. Сначала, эти нарушения устанавливаются в локальной области. Значение их равно уровню штрафа в деньгах и тем больше, чем выше уровень нарушения. Например, если ударить обычного жителя, то герой получит штраф на 50 ед. денег, а если короля, то на все 1000.

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

- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Круть!... 
В таком ракурсе я не думал. Отношения между расами и видами фракций - да. Преследование должников и убийц - тоже. Но глобальная система законности... вах! Впрочем у меня такое не прокатит. Седьмой век от рождества Христова, какой там "закон и порядок", тем более уже в разгар наступления Рагнарока (в букв. переводе "Гибель Богов")...
Спасибо! Ты дал мне хорошую пищу для размышления!

В таком ракурсе я не думал. Отношения между расами и видами фракций - да. Преследование должников и убийц - тоже. Но глобальная система законности... вах! Впрочем у меня такое не прокатит. Седьмой век от рождества Христова, какой там "закон и порядок", тем более уже в разгар наступления Рагнарока (в букв. переводе "Гибель Богов")...

Спасибо! Ты дал мне хорошую пищу для размышления!

2ADB: хотел вот спросить - у тебя я так понял монстры и игрок идентичны по структуре. идентично ли максимальное кол-во предметов, которые они могут взять? (насколько я помню ты говорил, что перс может взять максимум 50 предметов)
и еще, если не трудно расскажи пожалуйста о самой структуре карты, как храняться монстры и предметы...
и еще, если не трудно расскажи пожалуйста о самой структуре карты, как храняться монстры и предметы...
-
- Мастер
- Сообщения: 371
- Зарегистрирован: 27 ноя 2006, 00:55
- Откуда: Санкт-Петербург
- Контактная информация:
Да вот я и сам в шоке от своих задумок!Alchemist писал(а):Спасибо! Ты дал мне хорошую пищу для размышления!


BreakMT писал(а):2ADB: хотел вот спросить - у тебя я так понял монстры и игрок идентичны по структуре. идентично ли максимальное кол-во предметов, которые они могут взять? (насколько я помню ты говорил, что перс может взять максимум 50 предметов)
Монстры и игрок обладают одной и той же структурой данных. С помощью консоли я могу перевоплотиться в любого, как в Готике I. Но есть и дополнительные данные у игрока, к этому относится освещение, плавание, получение опыта/уровня, тренировка навыков во время игры. Последнее не доступно для монстрятника, они все жестко забиты в БД. Карманов у всех по 50 штук, как у игрока. Количественные предметы (например стрелы или снадобья) группируются в одной и той же клетке. Почему именно 50? Мне так захотелось.

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

Карту я решил сделать двухслойной, поскольку у меня нет потолков. Каждый слой представляет из себя матрицу (массив) 2x2 с интовскими (int) значениями. В них хранятся ид номера графических объектов моего мира. Первый слой (массив 1) - это тайлы земли (вода, грунт, лава...). Второй - тайлы объектов на земле (елки, булыжники, стены зданий...) У каждого элемента карты есть свойства, задаваемые в графическом редакторе (посмотри мой скриншот в галерее GrEditor).
У предметов, как и у монстров есть информация и хранятся они в структурах. Эти структуры содержатся в файлах баз данных (БД) последовательно одна за другой. Когда загружается карта, пробегаются эти два файла БД с монстрами и предметами и те, которые принадлежат этой карте переносятся в локальные структуры (точно такие же по формату, что и в файлах БД).
При выходе из локации в другую, эти структуры опять сохраняются в файлы БД.
Кстати говоря, когда предмет находится в инвентаре/экипировке у NPC или героя, то их структуры не загружаются в локальные, а дается только ссылка на их ид в файле БД. Когда мы выкладываем предмет на землю, ссылка в инвентаре/экипировке обнуляется, а в локальной структуре появляется предмет.
Тут есть один тонкий момент! Получается, когда мы работаем с инвентарем, информация о предметах т.о. читается из файла БД и туда же пишется, если была изменена.
Думаю, все очень просто

-
- Мастер
- Сообщения: 371
- Зарегистрирован: 27 ноя 2006, 00:55
- Откуда: Санкт-Петербург
- Контактная информация:
Тоесть, если конкретизировать, это должно выглядить так.Bioworm писал(а):Нужна. В общем.ADB писал(а):В данный момент работаю над журналом квестов.
Встал вопрос, нужна ли игроку информация не только о текущих квестах (выполняемых), но и о уже выполненных или проваленных?
Если да, то стоит ли их разносить по трем спискам или показывать все в общем?
Список квестов формируется последовательно по мере их поступления. Выполняемые, завершенные и проваленные квесты, просто будут маркироваться. Надеюсь, я правильно понял.

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