[MUD-Dev] Non-Linear Item Combination Systems...

Justin Rogers justin at mlstoday.com
Sat Aug 4 18:51:53 New Zealand Standard Time 2001

One of the big discussions on the list of late is how to appease the
largest group of people possible by implementing as many of the
basic Multi-Player RPG scenarios as possible.  So far these have
come down in several groups including social scenarios, combat
scenarios, role-playing scenarios, pk scenarios (separate from
combat scenarios because we've kind of proven a true pk RPG doesn't
have much hope), and trade skill scenarios.  So at this point I'd
like to move another conversation just into the realm of trade skill
scenarios, since I view trade skills as an extremely attractive part
of any game.


Let's start with a small definition of the trade skill scenario.
Trade skills allow players to generate their own items that normally
would have to be bought from an NPC vendor elsewhere in the game.
They may also allow the creation of unique items, flawed items, or
superior items.  Trade skills require that two things to be
successful.  First they require quality ingredients for any portions
of the trade skill that require combinations.  Second they require a
good skill within that trade skill to produce a quality item in the
end.  Trade skills in turn give a player who doesn't wish to
participate in the active content (monsters, battle systems,
quests), the opportunity to provide aid to the active content
players in the form of items.  They produce lines of trade wherein
the trade skill player needs items that only an active player may be
able to achieve and vice versa.  In the end, Trade skills act as an
integral part of the game itself becoming a sub-game (see the
scenarios I've provided above, each scenario is enough to be a
sub-game, with all other scenarios being escapes for players from
their preferred sub-game).


But how do you go about implementing a solid trade skill system?  My
vote is that you install as many variables as possible in the
creation of the trade items so that it takes some human interception
of intermediate portions in order to complete the item in question.
I'll begin by enumerating these variables and then I'll describe
them later.  The variables include a large amount of base components
and intermediate components, varying levels of difficulty in
achieving the components, varying levels of component availability,
applying grades to materials, utilizing a players skill, allowing
different skills to work on the same components but produce
different items, randomly allowing a rare combination of items to
produce something (possibly extremely good, or even extremely bad),
a final grade based on the components and skill of the trade skill
player being applied to the final item.


Let's start now with base components.  You'll need a large amount of
components.  Some of which have no ideal combination paths, others
which do, and then there is always the idea that a non-combinable
component will magically combine at this instant in space and time
and make some yet undetermined intermediate component.  Base
components should be available for sale by NPCs, some should
naturally appear on the landscape (flowers, grasses, herbs), other
should be found on different types of terrain, some should be parts
of monsters, some should be quest items, and I'd also argue that you
should be able to tear down existing items and retrieve some of the
base components used.


Intermediate components are components that are made up of 2 or more
base components and other intermediate components.  These items
store the properties of the base components or some combination
there-of and will be responsible in some way for the final
properties of the top level item being created.  Some items should
probably have 30 or more intermediate components required to build
up to a final item, others should be trivial and straight forward
possibly requiring only that you combine several base components.
Each level of intermediate components gets a new grade based on your
skill and the grades of the components used, this is the important
part of requiring that great items require a large depth in
intermediate components, while simple items contain only a few.  The
fewer locations to affect grade the better the item can possibly be.


Varying levels of difficulty in achieving the components means they
are part of a quest, part of an easy or difficult monster, or
possibly strewn throughout a dangerous location in the world.
Limiting the availability of a base component will in turn limit the
availability of any item that requires it.  This will mean that more
often than not existing items will be torn down to get base
components rather than trying to retrieve base components in the


Varying levels of availability means make the loot mechanism as
customizable as possible when dealing with these base components.
Some games pre-spawn items on monsters, others randomly generate the
items at depth, and place the items on the corpse.  Whatever you do,
make sure you can apply percentages to the possibility of each of
the components such that killing the ultimate dragon does not mean
you'll get his ultimate wings to be used later for an ultimate item.


Adding the idea of grades to items is extremely important to my
system.  A grade could be something as simple as a floating point
number between 0 (no grade) to 1 (high grade).  The intermediate
component or item being created will get a new grade based on the
grades of the components being used and the skill of the trade
person.  In this way the ultimate weapon can be created by anyone,
but the stats of the end-all ultimate weapon might really suck if
you used low grade items or had very little trade skill.  It's also
possible to have grade deteriorate over time for various components
so you couldn't stockpile them, you'd have to go after them on a
regular basis.  For various items, the grade could be equivalent to
durability.  When tearing down an object into intermediate or base
components you'll get lower grade items back, but at times this
might be smart, assuming you have a all the high grade items needed
for a weapon, but your weapon is wearing down badly.  You can get
the last component you need (though its low grade it will still make
a better item than what you have with the other high grade items) by
tearing the item down into lower grade components.


Utilizing a player's skill is trivial.  You simply establish some
exponential function that gives a fairly high mid-point where
abilities are at 50%, as you gain in skill the function slows the
down the % at which you become better.  This is equivalent to
Asheron Call's system of skill advancement, but certainly other
systems can be substituted as long as the equations which link the
combination of components can be easily linked with a player's skill
level.  This is, however, the location where people continuously
talk about how easy it is to macro items and thus gain skill.
Several items can help purge this.  First of all you wouldn't want
to macro a nice item since you can't monitor the durability as the
combinations occur.  Each artisan should have some additional factor
such as endurance which is used as a trade skill is used so that a
time aspect is applied to those wishing to macro items.  Another
distinct number could be put here independent of a players critical
stats.  You in turn only get skill for a finished item, not the
intermediate components.  In addition the final difficulty of
creating an item is used to limit the skill level at which you
continue to gain skill for the creation of that item.  Something
like this:


  It takes 12 items to make a mana potion.

  You combine the components in the correct order gaining 0 skill

  Finally you combine the two items to make the potion and make a .4
  (40%) grade mana potion so you get 40% of the skill points
  obtainable by creating this item.

The mana potion in turn has a skill level of 80, this means when
your skills become say 120 you can no longer gain skill by creating
the item in question.

In a properly created system to get an extremely high skill you
would need items that were extremely rare.  You might get 10 of
these one day, but there would be no reason for you to macro the
creation of the 10 items to raise your skill.  You'd want to watch
the grades to make sure you didn't waste any of your 10 rare items.


The remaining two items are those that make the system more
versatile.  It might be that different skills require some of the
same components especially the harder to achieve ones.  This would
help limit the amount of these items used by a certain skill group,
since all skill groups would battle for them.  It also makes it
interesting that out of a base set of components say 1000 of them,
you can make possibly 100 items with one skill, but another 80 items
with a completely different skill.  Possibly requiring intermediate
items from different skills would also be interesting.  Make the
trade skills part of a guild system so that a single player can't
obtain all of the trade skills.


The creation of a composite item by combining two items that
normally don't combine is a fairly neat feature.  If properly
programmed this can be part of the skills system that is totally
random and doesn't have to be managed by you.  When these two items
combine they create another available item, but with different
properties attached, or an extra high grade (1.0+), or a curse.


I left out a bunch of my ideas, primarily because they are variants
on the existing system shown above.  Obviously different variations
would work better with different code-bases.  The success of this
system hinges on quite a few variables (remember we added a bunch of
variables to make trade skills interesting).  First you have to
control the availability of components, second you have to control
the manner in which a player can advance their trade skills, third
you have to control the amount of trade skills a player can have.
Okay, enough of my rambling, enjoy the reading, I'll enjoy any
criticisms of the system, possibly this can be a basis for a decent
trade skill specification, I'll even volunteer to code the reference

Justin Rogers

justin at mlstoday.com

a-justr at microsoft.com
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list