Might as well weigh in on this.
The system to upgrade ability scores gives the player absolutely no control, and in that regard is unrealistic. With this system, an unlucky character who was trying to be a warrior might never gain a point in body, despite constantly swinging a sword, though his mind might get really good. Realistically, if someone is doing physical work all the time, it's going to benefit their body. From a game design perspective, there's no good reason to have stat progression be this randomized. In a group, you could wind up with a lucky player who gets big upgrades every level and an unlucky player who rolls nothing but ones. It takes away the player's sense of agency, and makes it feel like they have no control and it's purely a gamble.
Randomly generated stats are very, very bad from a balance perspective. Many systems offer some method of point-buy, where players can put their points where they want. This stops anyone from getting stuck with a shitty character through no fault of their own, and also allows them to better create the characters they had in mind.
The combat system doesn't seem to involve armor in any way, which is a bit of a problem. The penalties to hit based on range also don't make sense with many ranged weapons—it's easier to hit a target with a bow / crossbow / gun if they have a bit of distance, if they're at point blank range then they can effectively move around you faster than they could at longer range, and trying to use a two-handed range weapon in melee is a difficult thing at the best of times.
Honestly, before trying to build a system of your own, you should learn and understand some existing systems. Games like D&D and GURPS and Pathfinder have already gone through all sorts of iterations, some of which are similar to some of the things you've suggested here, and they've gotten rid of many of those mechanics in order to replace them with much better ones.
The system to upgrade ability scores gives the player absolutely no control, and in that regard is unrealistic. With this system, an unlucky character who was trying to be a warrior might never gain a point in body, despite constantly swinging a sword, though his mind might get really good. Realistically, if someone is doing physical work all the time, it's going to benefit their body. From a game design perspective, there's no good reason to have stat progression be this randomized. In a group, you could wind up with a lucky player who gets big upgrades every level and an unlucky player who rolls nothing but ones. It takes away the player's sense of agency, and makes it feel like they have no control and it's purely a gamble.
Randomly generated stats are very, very bad from a balance perspective. Many systems offer some method of point-buy, where players can put their points where they want. This stops anyone from getting stuck with a shitty character through no fault of their own, and also allows them to better create the characters they had in mind.
The combat system doesn't seem to involve armor in any way, which is a bit of a problem. The penalties to hit based on range also don't make sense with many ranged weapons—it's easier to hit a target with a bow / crossbow / gun if they have a bit of distance, if they're at point blank range then they can effectively move around you faster than they could at longer range, and trying to use a two-handed range weapon in melee is a difficult thing at the best of times.
Honestly, before trying to build a system of your own, you should learn and understand some existing systems. Games like D&D and GURPS and Pathfinder have already gone through all sorts of iterations, some of which are similar to some of the things you've suggested here, and they've gotten rid of many of those mechanics in order to replace them with much better ones.