Разработка

Проект закрыт 22.01.2008 по желанию автора.
ADB

Разработка

Сообщение ADB » 27 ноя 2006, 01:05

Поздравляю всех с открытием клуба на новом хостинге!
К выходу готовится свежий билд Templer'а. Сейчас никак не решится вопрос, делать ли население в деревнях и городах статичным (постоянное количество одних и тех же персонажей, после смерти не восстанавливаются) или динамическим (при каждом новом посещении города появляются новые персонажи, количество которых варьируется, кроме квестовых неписей и торговцев).
Последний раз редактировалось ADB 11 дек 2006, 23:38, всего редактировалось 1 раз.

Аватара пользователя
Sanja
Администратор
Сообщения: 791
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Сообщение Sanja » 27 ноя 2006, 06:35

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

ADB

Сообщение ADB » 27 ноя 2006, 20:12

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

Аватара пользователя
Sanja
Администратор
Сообщения: 791
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Сообщение Sanja » 28 ноя 2006, 01:44

Ну, тогда получается что не так уж и важно, будут они статичные или динамические. Игрок этого просто не заметит :)

Вообще, население можно неплохо привязать к игровому процессу.

ADB

Сообщение ADB » 28 ноя 2006, 05:12

Sanja писал(а):Ну, тогда получается что не так уж и важно, будут они статичные или динамические. Игрок этого просто не заметит :)

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

Аватара пользователя
Sanja
Администратор
Сообщения: 791
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Сообщение Sanja » 28 ноя 2006, 05:20

Кстати, сколько народу планируется заселять в города?

ADB

Сообщение ADB » 28 ноя 2006, 12:40

Sanja писал(а):Кстати, сколько народу планируется заселять в города?
В первом городе уже ходят по улице порядка 20 человек + порядка 10-ти стражей. Не считая населения внутренних интерьеров строений.

Аватара пользователя
Alchemist
Мастер
Сообщения: 203
Зарегистрирован: 13 дек 2006, 09:15
Откуда: Нижний Тагил, Иваново
Контактная информация:

Сообщение Alchemist » 20 дек 2006, 08:49

Есть такой вопрос: ты можешь поделиться информацией о том, как ты закладывал логику стражей? Как они реагируют на преступления, на какие виды и т.п. Общее описание для размышления...

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

ADB

Сообщение ADB » 20 дек 2006, 21:48

Первым делом, любой из персонажей мира принадлежит какой-нибудь фракции (горожанин, селянин, стража, домашнее животное, хищник и т.д.) Между этими фракциями установлены взаимоотношения: +3 -> -3
+3 - родственные отношения, -3 - враг№1. Т.е. составлена таблица фракций.
Каждый из персонажей постоянно просматривает окружающих его неписей. Так же делают и стражи, но... У стражей установлен флаг "СТРАЖ" и поэтому они делают еще и дополнительные проверки.
1) Драки. Например, стражи реагируют на то, когда за героем кто-то гонится (сражается с героем). Он смотрит, как он относится к атакующему вашего персонажа перцу и определяет, кто был зачинщик драки (кто первый кого ударил, после чего и свершился конфликт). Если страж признает в перце своего подзащитного и он ударил вашего героя не первым, то вы становитесь для него объектом атаки. В другом случае я решил сделать бездействие со стороны стражника (боюсь подстав со стороны играющего).
2) Убийства. Когда игрок кого-нибудь убивает, то просматриваются все персонажи в пределах видимости. Стражи реагируют на убийства всегда нападением на героя, если убитый относится к населению/домашним животным, т.е. к тем, кого они должны защищать по таблице фракций.
3) Взлом. Стажи, как в принципе и все другие персонажи, реагируют на взлом замков. Когда игрок совершает это действие, просматриваются все персонажи в пределах видимости, которые тут же реагируют нападением.
4) Воровство. Этот элемент у меня еще не подключен, хоть и разработан. У каждой вещи есть информация о ид собственника, и если игрок попытается на виду у всех поднять предмет не со своим ид, то это будет расценено как воровство. При покупке/продаже предметов, устанавливается новый собственник. Такая система не распространяется на вещи из инвентаря поверженных (сброс ид при падении на землю) или просто ничейных предметов (грибы, оружие в данженах). У них не установлен ид собственника.

Теперь самое заумное. :!: Все было бы просто, если не система законности. Мне хотелось сделать так, чтобы слухи о преступлениях игрока не распространялись моментально. Для этого я ввел переменные преступлений:
а) На нарушения порядка (оскорбления стражей, рукоприкладство к мирному населению)
б) На убийства
в) На воровство
Причем эти переменные есть как в глобальной системе, так и локальной. Сначала, эти нарушения устанавливаются в локальной области. Значение их равно уровню штрафа в деньгах и тем больше, чем выше уровень нарушения. Например, если ударить обычного жителя, то герой получит штраф на 50 ед. денег, а если короля, то на все 1000. :lol:
Все законопослушные неписи, которые заметили ваши нарушения в текущей локации помечаются, как свидетели. Если при переходе в другую локацию остался хотя бы один свидетель, то локальные нарушения переносятся в соответствующие глобальные переменные. При загрузке карты стражи, существующие на ней просматривают эти глоб. штрафы и начинают атаковать героя. Если стражник делает удар по герою, и на этой локации игроку еще не предлагался выбор сдаться, то срабатывает скрипт ареста повешенный на стража. Т.о. игроку дается шанс сдаться страже при каждом новом переходе между локациями. В случае подчинения, снимаются глобальные штрафы и успокаиваются все законопослушные персонажи в мире.

P.S.: Хотел написать как можно короче, но не получилось, извиняй. Если что, задавай вопросы, поясню любой момент. :wink:

Аватара пользователя
Alchemist
Мастер
Сообщения: 203
Зарегистрирован: 13 дек 2006, 09:15
Откуда: Нижний Тагил, Иваново
Контактная информация:

Сообщение Alchemist » 21 дек 2006, 04:06

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

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

Аватара пользователя
BreakMT
WANDER Team
Сообщения: 933
Зарегистрирован: 27 ноя 2006, 12:16

Сообщение BreakMT » 21 дек 2006, 10:59

2ADB: хотел вот спросить - у тебя я так понял монстры и игрок идентичны по структуре. идентично ли максимальное кол-во предметов, которые они могут взять? (насколько я помню ты говорил, что перс может взять максимум 50 предметов)
и еще, если не трудно расскажи пожалуйста о самой структуре карты, как храняться монстры и предметы...

ADB

Сообщение ADB » 21 дек 2006, 20:22

Alchemist писал(а):Спасибо! Ты дал мне хорошую пищу для размышления!
Да вот я и сам в шоке от своих задумок! :lol: Все вроде бы тривиально просто, но мне пришлось приложить не мало умственных и физических усилий чтобы все это заработало без глюков. :D
BreakMT писал(а):2ADB: хотел вот спросить - у тебя я так понял монстры и игрок идентичны по структуре. идентично ли максимальное кол-во предметов, которые они могут взять? (насколько я помню ты говорил, что перс может взять максимум 50 предметов)

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

ADB

Сообщение ADB » 12 июн 2007, 18:15

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

Bioworm
Сообщения: 89
Зарегистрирован: 01 фев 2007, 03:33

Сообщение Bioworm » 12 июн 2007, 19:52

ADB писал(а):В данный момент работаю над журналом квестов.
Встал вопрос, нужна ли игроку информация не только о текущих квестах (выполняемых), но и о уже выполненных или проваленных?
Если да, то стоит ли их разносить по трем спискам или показывать все в общем?
Нужна. В общем.

ADB

Сообщение ADB » 12 июн 2007, 20:33

Bioworm писал(а):
ADB писал(а):В данный момент работаю над журналом квестов.
Встал вопрос, нужна ли игроку информация не только о текущих квестах (выполняемых), но и о уже выполненных или проваленных?
Если да, то стоит ли их разносить по трем спискам или показывать все в общем?
Нужна. В общем.
Тоесть, если конкретизировать, это должно выглядить так.
Список квестов формируется последовательно по мере их поступления. Выполняемые, завершенные и проваленные квесты, просто будут маркироваться. Надеюсь, я правильно понял. 8)

Ответить

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

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