01.07.2002, 13:02
Эк вы меня порезали :wacko:
Мое представление выглядит следующим образом: существует (пускай ограниченное, но достаточно большое) количество чертежей различных классов. Например, одноручный меч, двуручный меч, модификации этих мечей (прямой, кривой, с гардой и т.д.) и т.п. Это на обсуждение. Далее, каждый класс четрежа имеет допустимые пределы изменения его характеристик (это реализовать просто).
Фактически, перегенерировать базу нет необходимости, т.к. в игре произвольно генерируются экземпляры этих классов (это вам ничего не напоминает ? Вот эти то экземпляры и нужно сохранять в описании инвентаря персонажа.
Поехали далее. Теперь расколбасим экземпляр чертежа на составные части. Берем тот же меч: лезвие, гарда, рукоятка, украшения и т.д. Выделяем их в составные части и разбрасываем по игровой вселенной. Ситуация 1: игрок нашел составные части чертежа меча - лезвие, рукоятка. Не хватает - гарды, украшений. Можно собрать такой предмет или нет? Ситуация 2: игрок еще помучался и нашел гарду от чертежа другого меча этого же класса. Что ему мешает ее запупырить на существующий чертеж с небольшой переделкой (это в реале)? Подогнать гарду к рукоятке. В игре это реализуется просто: изменяем характеристики чертежа гарды на минимально допустимые классом, к которому принадлежит гарда (перманентно!) и меняем ей класс на "Измененная часть чертежа класса Х".
В результате имеем:
1. Базу с классами разборных чертежей.
2. Базу составных частей по классу.
3. Каждый класс содержит в себе описание того, на сколько частей может быть разбит чертеж, пределы изменения всех его характеристик и минимально допустимая комбинация частей чертежа для сборки предмета.
4. На каждую группу классов есть один виртуальный (т.е. в базе ее хранить нет необходимости) класс: "Перманентно измененный".
5. Конечный предмет можно собрать из различных материалов (например, лезвие из металла, рукоятка из дерева, гардра из железа).
6. В игре перманентно изменяется та часть чертежа, которая вставляется в другой (фактически, игрок сам определяет какую часть нужно изменить).
7. Однажды измененная часть чертежа не может менять своих характеристик (они уже и так минимально допустимые для класса-предка) и принадлежит к виртуальному классу.
Приблизительно такая картина. Кто мне объяснит, что тут такого жутко сложного в плане реализации?
[ 01 июля 2002: Изменил: BOBIK ]</p>
Мое представление выглядит следующим образом: существует (пускай ограниченное, но достаточно большое) количество чертежей различных классов. Например, одноручный меч, двуручный меч, модификации этих мечей (прямой, кривой, с гардой и т.д.) и т.п. Это на обсуждение. Далее, каждый класс четрежа имеет допустимые пределы изменения его характеристик (это реализовать просто).
Фактически, перегенерировать базу нет необходимости, т.к. в игре произвольно генерируются экземпляры этих классов (это вам ничего не напоминает ? Вот эти то экземпляры и нужно сохранять в описании инвентаря персонажа.
Поехали далее. Теперь расколбасим экземпляр чертежа на составные части. Берем тот же меч: лезвие, гарда, рукоятка, украшения и т.д. Выделяем их в составные части и разбрасываем по игровой вселенной. Ситуация 1: игрок нашел составные части чертежа меча - лезвие, рукоятка. Не хватает - гарды, украшений. Можно собрать такой предмет или нет? Ситуация 2: игрок еще помучался и нашел гарду от чертежа другого меча этого же класса. Что ему мешает ее запупырить на существующий чертеж с небольшой переделкой (это в реале)? Подогнать гарду к рукоятке. В игре это реализуется просто: изменяем характеристики чертежа гарды на минимально допустимые классом, к которому принадлежит гарда (перманентно!) и меняем ей класс на "Измененная часть чертежа класса Х".
В результате имеем:
1. Базу с классами разборных чертежей.
2. Базу составных частей по классу.
3. Каждый класс содержит в себе описание того, на сколько частей может быть разбит чертеж, пределы изменения всех его характеристик и минимально допустимая комбинация частей чертежа для сборки предмета.
4. На каждую группу классов есть один виртуальный (т.е. в базе ее хранить нет необходимости) класс: "Перманентно измененный".
5. Конечный предмет можно собрать из различных материалов (например, лезвие из металла, рукоятка из дерева, гардра из железа).
6. В игре перманентно изменяется та часть чертежа, которая вставляется в другой (фактически, игрок сам определяет какую часть нужно изменить).
7. Однажды измененная часть чертежа не может менять своих характеристик (они уже и так минимально допустимые для класса-предка) и принадлежит к виртуальному классу.
Приблизительно такая картина. Кто мне объяснит, что тут такого жутко сложного в плане реализации?
[ 01 июля 2002: Изменил: BOBIK ]</p>