I apologize for the quality of the text. Deepl translate is used.
What do you think about adding more clothing sizes to the game? Besides normal, XL and XS.
Some initial data (taken conditionally, for example):
- character’s height ranges from 50 to 325 centimeters (need verification);
- the step equals 25 centimeters or size±12,5 cm, which is rounded to ±12;
- the average height of the character is 175 cm (default).
Size (now) | Size (new) | Height, cm | Height, cm | K1 = Height / 175 | K2 = K1^2 |
---|---|---|---|---|---|
XS | 50 | 50 + 12 | 50…62 | 0,29 | 0,08 |
XS | 75 | 75 ± 12 | 63…87 | 0,43 | 0,18 |
XS | 100 | 100 ± 12 | 88…112 | 0,57 | 0,33 |
XS | 125 | 125 ± 12 | 113…137 | 0,71 | 0,51 |
normal | 150 | 150 ± 12 | 138…162 | 0,86 | 0,73 |
normal | 175 | 175 ± 12 | 163…187 | 1 | 1 |
normal | 200 | 200 ± 12 | 188…212 | 1,14 | 1,31 |
XL | 225 | 225 ± 12 | 213…237 | 1,29 | 1,65 |
XL | 250 | 250 ± 12 | 238…262 | 1,43 | 2,04 |
XL | 275 | 275 ± 12 | 263…287 | 1,57 | 2,47 |
XL | 300 | 300 ± 12 | 288…312 | 1,71 | 2,94 |
XL | 325 | 325 - 12 | 313…325 | 1,86 | 3,45 |
Size (new) = 25 x ( Height / 25) ( / - in the sense of integer division)
As I see it (a person far from programming). Think of it as a source of ideas.
Clothing as a finished object.
Two new sections:
- “Size_drop” - defines the size of clothing that can be generated as loot.
- “Size_craft” - defines the size of clothes that can be created by the player.
Each section lists all possible size variants: Size_any, Size_XS, Size_normal, Size_XL, Size_50, Size_75, … Size_325.
Size_any, Size_XS, Size_normal, Size_XL are shorthand for the respective ranges.
Example.
"Size_drop":["Size_normal","Size_125", "Size_225"]
"Size_craft":["Size_any"]
Means that you can create clothes of any size. But in the world you can only find clothes in normal size or slightly smaller (125) or slightly larger (225).
If the character’s height is within the Size_N±12 range, the clothes are considered to be a size appropriate. When generating clothes: 1d25 to determine fit / poor fit.
Clothing recipe.
New section “Size_craft”, exactly the same as for clothes.
The logic is as follows: the number of components required varies according to a coefficient (K2). If a recipe requires a finished item, it requires an item with the same size or a size that includes that size. The time is also changed according to the size. Coefficient K1 or K2
Example (ignore the errors in the code):
"result": "example"
"Size_craft": [ "Size_50", "Size_175" ]
"time": "10 h",
"using": [ "tailoring_canvas_patchwork", 100 ],
"components": [ "belt", 1 ]
For example [Size_175] you need:
- 100 tailoring_canvas_patchwork
- 1 belt [Size_175] or belt [Size_normal] or belt [Size_any]
Creation time = 10 hours
For example [Size_50] you need:
- 0,08 x 100 tailoring_canvas_patchwork
- 1 belt [Size_50] or belt [Size_XL] or belt [Size_any]
Creation time = 0,08 x 10 or 0,29 x 10 hours. Depends on which coefficient to use.
Issues
- Need a way to select size in the craft menu.
- Need a way to check size labels for component and result. To eliminate variations where the result can be anything and the component is only a certain size.
- May need some changes for item generation.
- Lots of work to rework current recipes and items.
Benefits
- More variety in the game.
- Reduced number of recipes and items, as well as copying errors.
- Parameters for the entire size line are set once and do not depend on the size. Or they can be changed according to predefined conditions (encumbrance).
- It is easy to add or remove a recipe for a specific size.
- It’s easy to change the step. By adding new sizes. Or by removing them.
Example for encumbrance. A 187 cm character wears a size_100 item.
size_character = 25 * ( Height / 25) = 25 * 7 = 175
size_clothing = 100
additional encumbrance = 10 * ( abs (size_clothing - size_character) / 25) = 10 * ( abs (100-175) / 25 = 10 * (75 / 25) = 30.
I hope I didn’t confuse anything. abs is modulus, / is integer division.