It's trial and error, and other than "use System X" where X is D20 or some other published RPG rule system, all I can say is you're going to have to experiment. The root of "stats" is "statistics". In other words, figure out what percentage of attacks should hit at what stat level, and how many hits should be survivable given a certain level of HP and defense, then start some formulae from there. Run automated simulations to gather the stats. Tweak one variable at a time in your simulations and ensure they don't have runaway chaotic effects.

After that, you need to playtest. After ensuring that you don't end up with players that all die at level 1 or become unstoppable gods at level 3, you then need to optimize for the trickiest metric of all: fun. Is your game fun to play with the way you balanced the stats? Then call it a success.

There is no right or wrong. You seem to have already decided which stats are going to be in the game, but you haven't figured out how they should work yet. Seems kind of backwards if you ask me. Look at this article: http://psychochild.org/?p=377. It analyzes WoW's attribute system, and you seem to have similar "problems" (magic only being affected by one stat for example). Also remember that WoW factors in the level differences between players and mobs. Higher level mobs and players are almost impossible to hit for much lower level players.

When I was struggling with this I ended up putting the numbers into a google docs spreadsheet and 'simulating' combat by graphing the outcomes. Then also having a bunch of test creatures (across the range of possible stats) and having some simple formula show toHit, toWound, etc. for the possible match ups. Then you can tweak your core stat ranges and algorithms without having to actually implement them and see what your power curves actually look like.

When deciding on stat ranges, I found it very helpful to start with four baselines:child, regular adult, athlete, and peak human. With those baselines (in my case, 2, 4, 8 and 20 in all stats) it was easier to see how things like strength and vitality should interact in combat.

Personally I like to keep such things simple and clean. It also depends on what you want... do you want that every statpoint counts? Then just take (attack * bonus + weapon attack) - (defense of enemy + bonus on defense) + random -/+. So every point counts. I also saw Attack / 2 - Defense / 4 and stuff like that

You can also add critical damage and stuff. Depends really und what you want, testing is helpful here. I guess start with simple attack - defense and add stuff like you want

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org