Generalized skills were notoriously difficult to level because they covered too many aspects at once.
To understand why, Swordsmanship Skills served as a good example. Suppose leveling up from level 8 to 9 required 30,000 experience points. The problem lay in how that experience was distributed.
If there were 15 different types of swords in the world, the experience would be divided equally among them—2,000 points per sword type.
If it took three days of practice to gain 2,000 experience points with a single sword type, then training with all swords evenly would take 45 days to level up.
But if a person trained with only one type of sword, the problem worsened. After the first 2,000 experience points in three days, a penalty would apply, making further gains slower.
The next 2,000 points might take 3.6 days, then 3.9 days, then 4.2 days, and so on. By the time they reached the required 30,000 points, it would take 56.25 days—an increase of 11.25 days just because they weren't practicing with all sword types.
And that was assuming only 15 sword types. At higher levels, the penalty would escalate even further.
The solution? Modify the experience calculation algorithm.
A modified skill would function as follows:
All sword types would be stored in a HashMap as key-value pairs. The key would be the sword type, and the value would be a Boolean—either true or false, with the default set to false.
Sort of like this: {Katana: false}, {Saber: false}
A function would identify the type of sword being wielded. If a katana was in use, the function would set the value of that key to true while keeping all others false: {Katana: true}, {Saber: false}
Since only one key was active, the experience calculation would apply solely to that weapon.
When a different sword was used, the function would switch the value of that key to true and set the previous one to false.
In this way, the skill would act as a specialized skill while still retaining the advantages of a generalized skill.
In fact, the same logic could be applied to database connections. The skill would only access the database relevant to the weapon currently being used.
Thus, if the user was wielding a katana, they would receive guidance on katana techniques instead of being overwhelmed by information about greatswords, for example.
The modified skill wouldn't be a completely generalized skill; instead, it would be a fusion of specialization and generalization.
This approach would allow Peter to gain experience at the same speed as a specialized skill while still having the freedom to switch to a different weapon when needed.
The mana consumption would be slightly higher since the skill would constantly check the type of weapon being used, create and close database connections, and perform similar operations.
The Weapons Mastery skill in the System was passive. It didn't consume mana because it kept all weapon-related database links permanently open.
The skill Peter intended to develop, however, would end up being semi-active. Whenever he switched weapons, it would consume a small amount of mana.
Of course, creating new connections would take time, but that wouldn't be an issue—considering it would happen in nanoseconds or even less.
It's decided then, he mused, opening his IDE skill.
He started writing a TO-DO list:
- Weapons Mastery
- Inspect
- Spirit of Fortitude (Passive Resistance)
- Eternal Ward (Passive Protection)
- Undying Vitality (Passive Recovery)
- A summoning skill (because familiars were cool—and there was less chance of betrayal if the contract was made properly).
Phew, I specifically avoided choosing any Epic Skill because I didn't want to spend a decade working on just five skills.
Hopefully, I'll be done with these before I get my first class. I'll think about a magical skill once I'm finished with these, he decided.
Frankly, he wasn't sure which route to take. There were multiple magic systems—Spirit-based magic, Runic magic, Intent-based magic, Manipulation Skill-based magic, and Spell Skill-based magic, to name a few.
There was no need to rush a decision. It wasn't laziness; he simply had time.
If I'm not wrong, I have a long life ahead of me. I can take my time choosing the right path after reading an introductory book on each type of magic.
Just because the village didn't have such books didn't mean they didn't exist elsewhere.
That evening, Peter played with his friends, had dinner, and slept peacefully. Tomorrow, he would start working.
…
A new day marked a new beginning.
Joseph made sure to wake him at six in the morning, instructing him to freshen up and meet outside.
One thing Peter appreciated in this world was the sewage system. People used slimes—a weak but incredibly useful monster—to keep the sewers clean.
Once ready, he stepped outside in search of his father.
"Where are the swords?" he asked, scanning the area.
Joseph crossed his arms. "You're too small for those just yet. First, we focus on the basics—stamina, will, breathing technique, footwork, flexibility, and balance."
Before Peter could fully process that, Joseph continued, "Come on, let's see how long you can keep up. Run with me."
Without waiting for a response, he took off.
Peter hurried to catch up, doing his best to match the pace.
"Keep your back straight. Don't lean forward," Joseph instructed. "Arms parallel to your body."
"Good, but don't be so stiff—stay fluid," he added.
They ran along the village perimeter. Keeping up was tough. Even though Joseph wasn't running at full speed, Peter's shorter legs made the effort a struggle.
The pace fluctuated between running and jogging, just enough to allow some recovery without actually stopping. Despite the exhausting effort, Joseph continued correcting his posture and guiding him through a better breathing technique.
His blood ran hot, his legs burned with lactic acid, but his lungs held up surprisingly well. The breathing technique helped more than expected—deep inhales, deep exhales. The rhythm of life.
By the time they finally completed the full lap around the village and returned home, Peter almost couldn't believe it.