Rychlas
Recruit
Greetings, as of now refining is the most labour, time, resource and click intensive thing in the entire game. The amount of resources needed to fully refine 100 units of crude iron is INSANE. This is mostly because each single refine stage feeds into the Tier 1 iron which is Crude Iron. This creates a wicked loop, a self-feeding, recursive, cruel and inhuman grind which drastically increases the amount of wood needed in Smithing.
I wrote a simple algorythm to calculate how much hardwood is needed to fully refine 100 crude iron and what would the refining process yield.
These are the results:
Amount of Crude Iron to refine: 100
Charcoal used: 3002
Hardwood required: 4503
Products of refining:
Crude Iron = 0
Wrought Iron = 1
Iron = 1
Steel = 1
Fine Steel = 1
Thamaskene Steel = 96
Stamina used = 27018
In-game hours you need to wait(rest) to replenish stamina = 5403
Which equals to : 225 days and 3 hours of in-game time
And all of that to refine JUST 100 crude iron.
Needless to say, it makes smithing virtually just phantom feature - it is there, but it will never be useful - unless reworked.
Here's my suggestion on how it could be changed:
I wrote a simple algorythm to calculate how much hardwood is needed to fully refine 100 crude iron and what would the refining process yield.
Flow Control.While Loops | C# Online Compiler | .NET Fiddle
Flow Control.While Loops | Test your C# code online with .NET Fiddle code editor.
dotnetfiddle.net
Code:
using System;
using System.Threading;
public class Program
{
public static void Main()
{
int cc, t1, t2, t3, t4, t5, t6, hw, stam;
double days, hours;
cc = 0; //charcoal counter
t1 = 100; //crude iron
t2 = 0; //wrought iron
t3 = 0; //iron
t4 = 0; //steel
t5 = 0; //fine steel
t6 = 0; //thamaskene steel
hw = 0; //hardwood required to craft charcoal
stam = 0; //stamina needed to craft everything
double time; //number of in-game hours needed to be waited-through in order to regain stamina
Console.WriteLine("Amount of Crude Iron to refine: "+ t1);
while (t1>0)
{
t1--;
t2++;
cc++;
while (t2>1) {
t2=t2-2;
t3++;
t1++;
cc++;
while (t3>1){
t3=t3-2;
t4++;
t1++;
cc++;
while (t4>1){
t4=t4-2;
t5++;
t1++;
cc++;
while (t5>1){
t5=t5-2;
t6++;
t1++;
cc++;
}
}
}
}
}
hw=(cc*3)/2; //hardwood used
//it takes 6 stamina per refine without perks
stam = ((cc/2)+cc)*6;
//it takes 1 in-game hour of waiting in settlement to restore 5 stamina, which means you need to wait 20 in-game hours to restore 100 stamina.
time = stam/5;
days = Math.Floor(time/24);
hours = (time/24-days)*24;
Console.WriteLine("Charcoal used: "+ cc);
Console.WriteLine("Hardwood required: "+ hw);
Console.WriteLine("Products of refining:");
Console.WriteLine("Crude Iron = "+ t1);
Console.WriteLine("Wrought Iron = "+ t2);
Console.WriteLine("Iron = "+ t3);
Console.WriteLine("Steel = "+ t4);
Console.WriteLine("Fine Steel = "+ t5);
Console.WriteLine("Thamaskene Steel = "+ t6);
Console.WriteLine("Stamina used = "+ stam);
Console.WriteLine("In-game hours you need to wait(rest) to replenish stamina = "+ time);
Console.WriteLine("Which equals to : "+ days + " days and " +hours+" hours of in-game time");
}
}
These are the results:
Amount of Crude Iron to refine: 100
Charcoal used: 3002
Hardwood required: 4503
Products of refining:
Crude Iron = 0
Wrought Iron = 1
Iron = 1
Steel = 1
Fine Steel = 1
Thamaskene Steel = 96
Stamina used = 27018
In-game hours you need to wait(rest) to replenish stamina = 5403
Which equals to : 225 days and 3 hours of in-game time
And all of that to refine JUST 100 crude iron.
Needless to say, it makes smithing virtually just phantom feature - it is there, but it will never be useful - unless reworked.
Here's my suggestion on how it could be changed:
- Rebalance Charcoal making:
- Change the price and weight of Charcoal to 50% of its current value, to decrease the money you could get from making charcoal
- Change the following charcoal making recipes:
- 2 hardwood -> 1 charcoal to 1 hardwood -> 1 charcoal (without perk)
- 3 hardwood -> 2 charcoal to 2 hardwood -> 3 charcoal (with perk)
My reasoning: refining requires tons of charcoal, and it makes no sense to leave it this way. Just to refine 100 units of crude iron, I had to run around the whole map for a couple of IRL hours! It's way too grindy and frustrating.
- Rebalance refining recipes:
- Remove self-feeding loop of crude iron from the higher than basic tiers of refining. Instead of:
- T1 = T2
- 2x T2 = T3 + T1
- 2x T3 = T4 + T1
- 2x T4 = T5 + T1
- 2x T5 = T6 + T1
change it to: - T1 = T2
- 3x T2 = 2x T3
- 3x T3 = 2x T4
- 3x T4 = 2x T5
- 3x T5 = 2x T6
My reasoning: even though currently you have 100% efficience in refining, the amount of grind (time + wood hoarding) required to refine the crude iron to thamaskene steel is riddiculous. It's beyond "grindy", it's just insane. The amount of time you need to spend on it cannot be expected to be spent by players. We don't want to waste tens or hundreds of IRL hours on just a small clicking time waster simulator inside of a vast and great game like Bannerlord. The recipes I suggest remove the recursive character of the current recipes, and lowers the efficiency of refining to almost 20% (19,75%), which is fine and acceptable.
- Remove self-feeding loop of crude iron from the higher than basic tiers of refining. Instead of:
- Rebalance amount of stamina, stamina regen, and rate of researching new parts:
- Increase the amount of stamina based on your Smithing skill level (100+2xSkill Level)
- Increase the amount of stamina regained per hour of rest (5% +1% per 50 skill levels of stamina per hour, rounded up)
My reasoning: it rewards the player for skilling the smithing up, and makes it less of a chore for the player, reducing the amounts of time wasted away. The need to wait for ~10-15s(?) every couple of clicks in the smithy is one of the most frustrating and unfair mechanics in this game.
- Nerf metal prices, increase value of weapons - crafted and stock:
- Change the prices of iron ore and all iron and steel tiers to 1/2 of their current values
- Add a value to the base price of all weapons equal to the sum of the base prices of materials they yield after smelting them
- Increase the value of crafted weapons above 80 difficulty, by (if difficulty > 80) -> bonus = (Difficulty-80)/2)%, and applied on top of that (multuplicative, not additive) +10% for fine, +30 for masterwork and 100% for legendary weapons.
My reasoning: currently, the refining can be exploited by buying cheap weapons, smelting them and then refining the metal earned. It just shouldn't be in the game. My solution nerfs material prices and makes refining non-profitable, but rewards actually smithing - what the smithing skill shoud all be about. The better and more difficult weapon the more money you get. Along with the refining recipe changes it all should work and synergize very neatly.
- Add new, guaranteed steelmaker perks 5-10 lvls before advanced steelmaker perks with worse versions of refining steel
- Add new guaranteed (without option to choose between anything) perks for each tier of steel
- Add 3 new basic recipes for all steel types on the same lvls if possible, or just before/after the current perks:
- Change the names of Steelmaker perks to Advanced Steelmaker
- Add Basic Steelmaker perks 1, 2 and 3 just before or after the choice between Advanced Steelmaker and Curious Smelter/Smith and Experienced Smith
- lv 45 [Steelmaker 1] (gives recipe 2 iron -> 1 steel)
- lv 50 [Adv Steelmaker/Curious Smelter]
- lv 70 [Steelmaker 2] (gives recipe 2 steel -> 1 fine steel)
- lv 75 [Adv Steelmaker 2/Curious Smith]
- lv 95 [Steelmaker 3] (gives recipe 2 fine steel -> 1 thamaskene steel)
- lv 100 [Adv Steelmaker/Experienced Smith]
My reasoning: ability to further refine iron into different tiers of steel is essential for smithing. It should be unlockable, but it should never be a choice. This solution makes the choice of having a better recipe or something else, also good, but not as punishing to choose as it is right now as it simply strips you of the ability to refine your materials if you want to learn new parts faster.
- Rebalance learning new parts, add more ways to learn them
- Increase the rates of learning new parts at least 5x
- Add an option in the Smithy to reverse-engineer a weapon at the cost of 50 stamina to learn how to build one of its parts currently unknown to you, if your skill is higher than the skill needed to craft the weapon you're trying to study. The weapon wouldn't be consumed in the process, but you have a 10% chance with each study to lower its quality.
My reasoning: After reaching 250+ smithing unmodded, I've unlocked around 5-10% of the parts available. The grind for these reaches inhuman levels. It really needs to be rebalanced. And being given the guaranteed option to reverse-engineer if you're proficient and knowledgable enough in smithing also sounds very reasonable.
- Fix the currently existing bug that purges crafted weapon bonuses and stats upon loading
As of 1.0.8, there exists a bug that simply makes weapon crafting pointless. If you save and load, all of the unique stats your weapon had and bonuses get purged and changed to the base stats of the weapon. It needs to get fixed asap.
The whole rework of the refining I'm suggesting would result in the following changes:
Flow Control.While Loops | C# Online Compiler | .NET Fiddle
Flow Control.While Loops | Test your C# code online with .NET Fiddle code editor.dotnetfiddle.net
[*]C#:using System; using System.Threading; public class Program { public static void Main() { int t1, t2, t3, t4, t5, t6; double days, hours, cc, hw, stam; cc = 0; //charcoal counter t1 = 100; //crude iron t2 = 0; //wrought iron t3 = 0; //iron t4 = 0; //steel t5 = 0; //fine steel t6 = 0; //thamaskene steel hw = 0; //hardwood required to craft charcoal stam = 0; //stamina needed to craft everything double time; //number of in-game hours needed to be waited-through in order to regain stamina Console.WriteLine("Amount of Crude Iron to refine: "+ t1); while (t1>0) { t1--; t2++; cc++; while (t2>2) { t2=t2-3; t3=t3+2; cc++; while (t3>2){ t3=t3-3; t4=t4+2; cc++; while (t4>2){ t4=t4-3; t5=t5+2; cc++; while (t5>2){ t5=t5-3; t6=t6+2; cc++; } } } } } hw=cc*2/3; //hardwood used in 2 wood -> 3 charcoal recipe //it takes 6 stamina per refine without perks stam = ((cc/2)+cc)*6; //it takes 1 in-game hour of waiting in settlement to restore 5 stamina, which means you need to wait 20 in-game hours to restore 100 stamina. time = stam/5; days = Math.Floor(time/24); hours = Math.Floor((time/24-days)*24); Console.WriteLine("Charcoal used: "+ cc); Console.WriteLine("Hardwood required: "+ Math.Ceiling(hw)); Console.WriteLine("Products of refining:"); Console.WriteLine("Crude Iron = "+ t1); Console.WriteLine("Wrought Iron = "+ t2); Console.WriteLine("Iron = "+ t3); Console.WriteLine("Steel = "+ t4); Console.WriteLine("Fine Steel = "+ t5); Console.WriteLine("Thamaskene Steel = "+ t6); Console.WriteLine("Stamina used = "+ stam); Console.WriteLine("In-game hours you need to wait(rest) to replenish stamina = "+ time); Console.WriteLine("Which equals to : "+ days + " days and " +hours+" hours of in-game time"); } }
Amount of Crude Iron to refine: 100
Charcoal used: 178
Hardwood required: 119
Products of refining:
Crude Iron = 0
Wrought Iron = 1
Iron = 0
Steel = 2
Fine Steel = 1
Thamaskene Steel = 18
Stamina used = 1602
In-game hours you need to wait(rest) to replenish stamina = 320.4
Which equals to : 13 days and 8 hours of in-game time
It is, in my opinion, a much more reasonable system than the current one, and I'd be extremely pleased if Dear Devs considered reworking the current smithing, smelting and refining systems.
Please, feel free to comment and discuss.