Difference between revisions of "User:Crush/Crafting"

 
m
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Status_construction}}
+
Just some notes.
To craft an item the character first needs to obtain a formula for the item it wants to craft and some raw materials. What ''kind'' of raw material depend on the formula. A sword could, for example, ask for 5 units of metal. What ''type'' of metal is left to the discretion of the player. The player can either use cheap and easy to use materials or expensive and hard to use materials. Depending on the used materials and the general difficulty of the crafted item the success chance is higher or lower.
 
  
 +
==Premise==
 +
* Every equipment piece is unique.
 +
* Weapons affect attack mechanics.
 +
* Armors affect received damage.
 +
* All items can optionally affect every basic and computed attribute positive or negative, percentual or absolute.
  
  
==Collecting Formulas==
+
===Weapons===
In the medieval ages aspiring craftsmen from all kinds of proffessions used to travel from city to city for a year to learn the local crafting techniques of different places from as many different masters as possible. I think that we should simulate this tradition by making craftsmen collect different crafting formulas from all around the game world.
+
Properties by formula:
 +
* Weapon family and thus the skill used
 +
* Attack Zone
 +
* Attack speed
 +
* Penetration
 +
* Ratio between strength and dexterity required
  
Every NPC who sells items can teach the player characters one or two different crafting formulas. But before these NPCs accept characters as their apprentices and teach them their secrets they first have to do a quest for them. What kind of quest varies. But usually these are non-violent errants.
+
Properties by material:
 +
* Damage
 +
* [[User:Crush/Repairing| Durability]]
 +
* Attribute requirements
 +
* Weight
  
==Collecting materials==
+
===Armors (Including headgear, pants, gloves and shoes)===
Raw materials are either obtained as regular monster drops or from mining raw material deposites. These deposites are beings that can neither move nor attack and drop some units of raw material when killed. They can take different shapes depending on the type of material. Deposites of metals or gemstones appear as rocks, herb or fruit deposites as bushes, wood deposites as special trees and so on. Deposites can be mined by attacking and destroying them. Most deposites have a very high armor defence that is ignored by specific weapon types (tools usually used for harvesting this resource).
+
Armors require level because they are the status symbols #1 in MMORPGs.
  
Material deposites spawn in specific areas. Low level ingredients spawn in save areas that are easy to access while high level ingredients spawn in remote and dangerous areas. The player should spend much more time searching for material deposites than actually harvesting them to make the collecting process more interesting and not just button mashing (like in runescape, for example). For that reason the areas in which material deposites spawn should be large and the density of deposites should be low.
+
Properties by formula:
 +
* Used sprite
 +
* Used slot
  
==The crafting process==
+
Properties by material:
When a character wants to craft an item, it opens the crafting menu with a button click. Then a list appears with all formulas the character collected. When the character selects a formual a new window opens with item slots in which the player has to draw materials from its inventory.
+
* Default coloration of sprite
 +
* Physical defence
 +
* Magical defence
 +
* Elemental modifier
 +
* Level requirement
 +
* Weight
  
The outcome varies.
+
===Jewlery===
#
+
Properties by formula:
 +
* Equipment slot used
  
 +
Properties by material:
 +
* Attribute boni
  
 +
===Potions===
 +
Properties by formula:
 +
* Weight
 +
 +
Properties by material:
 +
* Effect
  
 
==Crafting disciplines==
 
==Crafting disciplines==
 +
Every crafting discipline has an [[Attributes|Attribute]] which is important for it. Yes, the associations are a bit far-fetched from time to time, but it is important for balancing that every attribute is more or less equally useful for crafting.
 +
 +
;Weapon Smithing (Str):Forging metal weapons (swords, axes...) using hammers.
 +
;Carving (Dex):Carving wooden weapons (bows, staffs...) using carving knifes.
 +
;Armor Smithing (Str):Forging metal armors using hammers.
 +
;Sewing (Agi):Sewing cloth armors using needles.
 +
;Gathering (Agi):Gathering resources from resource nodes (technically not a crafting discipline)
 +
;Tinkering (Dex):Creating fine-mechanical items from wood and metal using tinkerer tools.
 +
;[[Alchemy system|Alchemy]] (Vit): Brewing potions from herbs and bottles using cauldrons.
 +
;[[User:Crush/Food|Cooking]] (Vit): Cooking dishes from basic food using cauldrons.
 +
;[[User:Crush/Rune_combination|Runewriting]](Int): Carving spellrunes into equipment.
 +
;Enchanting (Will): Buffing equipment
  
===Alchemy===
+
==Material==
The art of alchemy differs a bit from the other disciplines. The formulas are rather few:  
+
Crafting an item requires, depending on the item, a fixed number of batches of normal materials of a certain type (like wood or metal) which can be filled with materials of different quality and optionally allows to add a limited number of special materials.
{|Reciept
+
;Normal materials: Normal materials have different quality properties which affect the following item properties:
|Slot
+
{|border="1"
|-
+
!Property
|tiny potion
+
!Effect in weapons
|1
+
!Effect in armors
|-
 
|small potion
 
|2
 
 
|-
 
|-
|medium potion
+
|Tier
|3
+
|Craft Challenge Rating, Level/Attribute requirements
 +
|Craft Challenge Rating, Level/Attribute requirements
 
|-
 
|-
|large potion
+
|Toughness
|4
+
|Durability
 +
|Durability
 
|-
 
|-
|great potion
+
|Hardness
|5
+
|Minimum Damage, Maximum Damage
 +
|Defence
 
|-
 
|-
|elixier.
+
|Mysticality
|6
+
|Spell damage, Rune slots
 +
|Magical defence, Rune slots
 
|-
 
|-
 +
|Density
 +
|Weight
 +
|Weight
 
|}
 
|}
 +
;Crystals: Elemental modifier in armor, Elemental damage in weapons, Element-specific magic skill bonus in rods.
 +
;Gemstones: Attribute bonus
 +
;Broken weapon essence: Weapon skill bonus (crafters can extract the "memories" of a weapon which has done its duty)
 +
 +
==Material naming==
 +
Materials exist in different quality grades. Each grade has a different material name. Using materials which exist in the real world would be boring. Making up fantasy names would give a much better flair.
 +
 +
Wacky idea to come up with names: What works for elements of the periodic table should also work for us. So how about naming materials after people who played an important role in the development of TMW? When we disguise it well enough noone would notice.
 +
 +
*This is exactly the theme I was about to suggest to you, to increase our fictional material names.. The first one that came to mind was '''"Rotonium"'''.. and though I totally agree that we need to bulk out our material list with fictional names, I would like to keep some a bit of the familiarity, by keeping a good handful of the real names.  So long as there is a steady blend of fictional and non-fictional material names, I think it's acceptable to reference the real world a little bit.  Using only real names might be boring, but using only fictional names might at times be a tad confusing.  -[[User:Dabe|Dabe]]
  
But the effect of the potions that use the same formulas can differ a lot depending on the used ingredients.
+
==Crafting Mechanics==
 +
# Player says what items and tools he want to use to craft an item
 +
# The game checks if the combination is valid for any item formula and if so checks what crafting skill is used for making an item with this formula and the challenge rating of the combination.
 +
#* The challenge rating is the sum of the tiers of all used materials (including special materials) multiplied with the challenge rating of the formula.
 +
# The attribute required for the crafting discipline may not be lower than the challenge rating. Otherwise the crafting procedure is cancelled.
 +
# The quality level of the item is calculated. This is done by doing 10 skill check of the users crafting skill vs. the challenge rating of the item (two random numbers are rolled, one between 0 and skill level and one between 0 and challenge rating, when the first roll is equal or higher the check is successful). For equipment the number of successful skill checks determines the quality. For consumable items 6 or more wins is success, 5 or less is failure and the steps 4-7 are skipped.
 +
#* 0-3 failed (The character receives no item, the materials are lost)
 +
#* 4 rubbish
 +
#* 5 crude
 +
#* 6 average
 +
#* 7 fine
 +
#* 8 excellent
 +
#* 9 flawless
 +
#* 10 masterpiece
 +
# Every equipment formula has a range for each stat of the finished items. The damage-min modifier of a long sword could, for example, be listed as 10-20 in items.xml. These values are multiplied with the average material property of the used materials which influences this item stat. When the items used for crafting said sword are two metal chunks of hardness 2 and two of hardness 3 the result would be a multiplier of (2 + 2 + 3 + 3) / 4 = 2.5 and thus the range of the damage-min stat of the item between 25 and 50.
 +
# For each stat of the item 7 random numbers in this range are calculated. The quality level determines which of these numbers is used (rubbish = worst is used, crude = second worst is used, ... masterpiece = best is used)
 +
# Special materials add new attribute boni to the item. The procedure is the same as for the basic item stats (7 random rolls and which one is used depends on the quality grade). The range of the bonus is a property of the special material and not influenced by the formula or the other material properties. Thus it is easier to craft an item with powerful special properties when it is an easy formula with low-tier basic materials than when it is a complicated formula with high-tier basic materials.
 +
# Item naming: <nowiki><quality grade> <main material> <formula name> [of <special property>]</nowiki>. Examples (tools are omitted, material names are provisorical):
 +
#* sword hilt + 4 iron (flawless) = Flawless Iron Longsword
 +
#* axe handle + 2 iron + 4 steel (crude) = Crude Steel Battleaxe
 +
#* axe handle + 3 iron + 3 steel (crude) = Crude Iron/Steel Battleaxe
 +
#* knife hilt + 2 bronze + fire crystal (fine) = Fine Bronze Dagger of Fire
 +
#* armor straps + 6 iron + strength-enhancing gemstone + fire crystal (excellent) = Excellent Iron Platemail of Strength and Fire
 +
# Character receives the finished item.
  
 +
===Client-sided===
 +
#The player opens a "craft" window, which is a GUI window with some item slots and a "OK" button.
 +
#The player drags materials and tools from its inventory to its craft window.
 +
#The player presses the OK button
 +
#Server processes the crafting
  
 +
===Server-sided===
 +
#The client sends PGMSG_ITEM_COMBINE W item1, W item2 ... W itemN
 +
#The gameserver checks if the client possesses these items
 +
#if yes the gameserver forwards the crafting request to the script engine
 +
#The script engine checks if the combination is valid
 +
#if yes the script engine processes the crafting action and does things like
 +
#*skill check (if necessary)
 +
#*removes items which are not kept after the crafting process
 +
#*gives the character the new item(s)
 +
#*gives the character the skill exp (if applicable)
 +
#The gameserver informs the client about these actions using the already implemented mechanics
 +
#When the item is a piece of equipment its unique properties have to be stored in the SQL database. Netcode for communicating the unique properties of unique items have to be implemented between database, gameserver and client. (Maybe the size of item IDs has to be increased from two bytes to four bytes where the IDs 0x00000001 - 0x0000FFFF are reserved for generic items without individual properties whichs properties are stored in the client-sided items.xml while the higher ID numbers from 0x00010000 - 0xFFFFFFFF are unique items whichs properties are stored in the SQL database).
  
==Materials
+
==Lists==
{|Material
+
*Material list: [[User:Crush/Crafting/Materials]]
|Challenge Rating
+
*Formula list: [[User:Crush/Crafting/Formulas]]
|power
 
|special ability
 
|-
 
|Bronce
 
|
 

Latest revision as of 12:14, 10 December 2009

Just some notes.

Premise

  • Every equipment piece is unique.
  • Weapons affect attack mechanics.
  • Armors affect received damage.
  • All items can optionally affect every basic and computed attribute positive or negative, percentual or absolute.


Weapons

Properties by formula:

  • Weapon family and thus the skill used
  • Attack Zone
  • Attack speed
  • Penetration
  • Ratio between strength and dexterity required

Properties by material:

Armors (Including headgear, pants, gloves and shoes)

Armors require level because they are the status symbols #1 in MMORPGs.

Properties by formula:

  • Used sprite
  • Used slot

Properties by material:

  • Default coloration of sprite
  • Physical defence
  • Magical defence
  • Elemental modifier
  • Level requirement
  • Weight

Jewlery

Properties by formula:

  • Equipment slot used

Properties by material:

  • Attribute boni

Potions

Properties by formula:

  • Weight

Properties by material:

  • Effect

Crafting disciplines

Every crafting discipline has an Attribute which is important for it. Yes, the associations are a bit far-fetched from time to time, but it is important for balancing that every attribute is more or less equally useful for crafting.

Weapon Smithing (Str)
Forging metal weapons (swords, axes...) using hammers.
Carving (Dex)
Carving wooden weapons (bows, staffs...) using carving knifes.
Armor Smithing (Str)
Forging metal armors using hammers.
Sewing (Agi)
Sewing cloth armors using needles.
Gathering (Agi)
Gathering resources from resource nodes (technically not a crafting discipline)
Tinkering (Dex)
Creating fine-mechanical items from wood and metal using tinkerer tools.
Alchemy (Vit)
Brewing potions from herbs and bottles using cauldrons.
Cooking (Vit)
Cooking dishes from basic food using cauldrons.
Runewriting(Int)
Carving spellrunes into equipment.
Enchanting (Will)
Buffing equipment

Material

Crafting an item requires, depending on the item, a fixed number of batches of normal materials of a certain type (like wood or metal) which can be filled with materials of different quality and optionally allows to add a limited number of special materials.

Normal materials
Normal materials have different quality properties which affect the following item properties:
Property Effect in weapons Effect in armors
Tier Craft Challenge Rating, Level/Attribute requirements Craft Challenge Rating, Level/Attribute requirements
Toughness Durability Durability
Hardness Minimum Damage, Maximum Damage Defence
Mysticality Spell damage, Rune slots Magical defence, Rune slots
Density Weight Weight
Crystals
Elemental modifier in armor, Elemental damage in weapons, Element-specific magic skill bonus in rods.
Gemstones
Attribute bonus
Broken weapon essence
Weapon skill bonus (crafters can extract the "memories" of a weapon which has done its duty)

Material naming

Materials exist in different quality grades. Each grade has a different material name. Using materials which exist in the real world would be boring. Making up fantasy names would give a much better flair.

Wacky idea to come up with names: What works for elements of the periodic table should also work for us. So how about naming materials after people who played an important role in the development of TMW? When we disguise it well enough noone would notice.

  • This is exactly the theme I was about to suggest to you, to increase our fictional material names.. The first one that came to mind was "Rotonium".. and though I totally agree that we need to bulk out our material list with fictional names, I would like to keep some a bit of the familiarity, by keeping a good handful of the real names. So long as there is a steady blend of fictional and non-fictional material names, I think it's acceptable to reference the real world a little bit. Using only real names might be boring, but using only fictional names might at times be a tad confusing. -Dabe

Crafting Mechanics

  1. Player says what items and tools he want to use to craft an item
  2. The game checks if the combination is valid for any item formula and if so checks what crafting skill is used for making an item with this formula and the challenge rating of the combination.
    • The challenge rating is the sum of the tiers of all used materials (including special materials) multiplied with the challenge rating of the formula.
  3. The attribute required for the crafting discipline may not be lower than the challenge rating. Otherwise the crafting procedure is cancelled.
  4. The quality level of the item is calculated. This is done by doing 10 skill check of the users crafting skill vs. the challenge rating of the item (two random numbers are rolled, one between 0 and skill level and one between 0 and challenge rating, when the first roll is equal or higher the check is successful). For equipment the number of successful skill checks determines the quality. For consumable items 6 or more wins is success, 5 or less is failure and the steps 4-7 are skipped.
    • 0-3 failed (The character receives no item, the materials are lost)
    • 4 rubbish
    • 5 crude
    • 6 average
    • 7 fine
    • 8 excellent
    • 9 flawless
    • 10 masterpiece
  5. Every equipment formula has a range for each stat of the finished items. The damage-min modifier of a long sword could, for example, be listed as 10-20 in items.xml. These values are multiplied with the average material property of the used materials which influences this item stat. When the items used for crafting said sword are two metal chunks of hardness 2 and two of hardness 3 the result would be a multiplier of (2 + 2 + 3 + 3) / 4 = 2.5 and thus the range of the damage-min stat of the item between 25 and 50.
  6. For each stat of the item 7 random numbers in this range are calculated. The quality level determines which of these numbers is used (rubbish = worst is used, crude = second worst is used, ... masterpiece = best is used)
  7. Special materials add new attribute boni to the item. The procedure is the same as for the basic item stats (7 random rolls and which one is used depends on the quality grade). The range of the bonus is a property of the special material and not influenced by the formula or the other material properties. Thus it is easier to craft an item with powerful special properties when it is an easy formula with low-tier basic materials than when it is a complicated formula with high-tier basic materials.
  8. Item naming: <quality grade> <main material> <formula name> [of <special property>]. Examples (tools are omitted, material names are provisorical):
    • sword hilt + 4 iron (flawless) = Flawless Iron Longsword
    • axe handle + 2 iron + 4 steel (crude) = Crude Steel Battleaxe
    • axe handle + 3 iron + 3 steel (crude) = Crude Iron/Steel Battleaxe
    • knife hilt + 2 bronze + fire crystal (fine) = Fine Bronze Dagger of Fire
    • armor straps + 6 iron + strength-enhancing gemstone + fire crystal (excellent) = Excellent Iron Platemail of Strength and Fire
  9. Character receives the finished item.

Client-sided

  1. The player opens a "craft" window, which is a GUI window with some item slots and a "OK" button.
  2. The player drags materials and tools from its inventory to its craft window.
  3. The player presses the OK button
  4. Server processes the crafting

Server-sided

  1. The client sends PGMSG_ITEM_COMBINE W item1, W item2 ... W itemN
  2. The gameserver checks if the client possesses these items
  3. if yes the gameserver forwards the crafting request to the script engine
  4. The script engine checks if the combination is valid
  5. if yes the script engine processes the crafting action and does things like
    • skill check (if necessary)
    • removes items which are not kept after the crafting process
    • gives the character the new item(s)
    • gives the character the skill exp (if applicable)
  6. The gameserver informs the client about these actions using the already implemented mechanics
  7. When the item is a piece of equipment its unique properties have to be stored in the SQL database. Netcode for communicating the unique properties of unique items have to be implemented between database, gameserver and client. (Maybe the size of item IDs has to be increased from two bytes to four bytes where the IDs 0x00000001 - 0x0000FFFF are reserved for generic items without individual properties whichs properties are stored in the client-sided items.xml while the higher ID numbers from 0x00010000 - 0xFFFFFFFF are unique items whichs properties are stored in the SQL database).

Lists