Skip to content

Latest commit

 

History

History
220 lines (201 loc) · 4.34 KB

README.md

File metadata and controls

220 lines (201 loc) · 4.34 KB

Material Combination System

Intention

I wanted to create a system agnostic material combination system for rpg's. Every recipe should reproducible, explainable and give players the option to experiment on their own.

Features

  • Reproducible: Every time you combine the same materials, the result will be the same. In theory.
  • Explainable: Every material has a set of properties. Summing them up gives you the result.
  • Experiment: Don't tell your players the attributes of a material. Let them research them or simply find new recipes by trial & error!

Materials

Every material is unique, both in its name and in its combination of attributes. Meaning no two materials will have the exact same attributes. Every material can also have a description.

Example:

Name Absorbance Notes
Dirt 5
Stone 1
Wood 5 not allowed

Attributes

All attributes are defined in the attributes.yml file. Changing this file will affect new databases and materials.

Standard attributes

Below you will find a list of standard attributes used with this project. This list may change in the future. It tries to represent the most basic attributes of materials.

  • hardness
  • toughness
  • stiffness
  • ductility
  • strength
  • absorbance
  • corrosion_resistance
  • reactivity
  • acidity
  • electrical_capacitance
  • magic_capacitance
  • magic_affinity: Affinity to a certain kind of magic

Ranges

Depending on what kind of material you want to create, you should think about your attribute ranges.

Are you looking for realism? Then how about a range from 0 to 99, putting everything in relative relation.

Are you looking for a rarity approach? Then scale the attribute ranges by rarity.

Range Rarity
0 - 10 Common
20 - 40 Uncommon
80 - 120 Rare
240 - 320 Epic
640 - 800 Legendary

Combining Materials

If you want to combine or mix some materials to get another, more potent one, simply add all attributes individually. The resulting material is the one with the exact set of attributes.

Example:

Name Absorbance Reactivity Strength Corrosion Resistance
Dirt 5 4 0 1
Stone 1 0 7 3
Combination
Material
6
4 7 4

Rule Options

Variations

To not always get the exact same material when combining, you can introduce uncertainties. Let's say you already know a certain combination results in a healing potion giving you 1d10 hp. What happens if you mix it in a hurry or in an unclean environment though? You introduce a chance for variation because you might miscalculate the exact amount or add bacteria by chance. So decide on how big the chance is to introduce variation and roll (you or the player) a d100 to see if there is variation. Roll a d2 to see if its good / strengthening or bad / debilitating

Example Tables

Dice Variation
Head Good
Tail Bad
Dice Variation
0 - 5 Extreme
6 - 20 High
21 - 40 Small
41 - 99 None

Todos

  • Command line interface
  • GUI ?
  • Guided recipe creation (1 result material + X base materials). Options:
    • New base materials only
    • New and existing base materials
  • Guides
    • Choosing attributes for my material