Hi guys, it's me again, so motivated by wanting future changes to my game and not having money to pay, so I've searched and I will seek knowledge about programming, and c#
I learned a lot of basic stuff about a lot and sought some knowledge using the source of the intersect also to create a simple program that can help you with balancing (i hope) this is the RPG Balance System
Explanation of what I tried to do:
1 - Player Area
The maximum level is what will define the amount of rows in the tables, you can increase or decrease as you wish to be in your game.
Basic status values (attack, defense, etc) which are the basic values you will put in the Intersect class editor.
Base HP and HP Inc by Lvl% - so you can track how much hp the player will have at level x (unfortunately I only did it by percentage, maybe I'll add it by points in the future or or i quit the program here)
Exp Base and Exp Factor(%) for you to follow the player's leveling, to know how to distribute exp among your monsters at the player's level x.
Points to be distributed at each level and Maximum points so that you do not exceed in the distribution
Base damage (I'll always consider unarmed combat because that can already shed light on how much base damage to add to weapons and spells)
Scaling Status and Scaling Factor, work like the intersect (I think)
2 - Builds Area
This here has to do with the distribution of points
Balanced - It will take the points gained in each level and distribute it among the 5 stats (for this reason it only works well if you put points per level in multiples of 5)
Strong - Will try to simulate a crazy player who takes all his points and puts them in attack, in which case the points will go to where the ScalingStat is selected.
Tanker - Will put all points on defense (so if you change the formula, use defense)
3 - Enemy Area
Pretty much the same as the player, but the stats are by percentage, when i did this i thought "how many percent do i want the monster at level x to be stronger than the player at the same level" That's why I didn't do it for points too
The hp is also in percentage, you choose how many percent will be more than the player's hp
4 - Functions Area
Update will update the tables according to the data you entered, add/remove rows and so on.
Save will save the 3 tables in an excel file. You choose where to save, the 3 tables will be on different sheets in the file.
Information will show this warning:
Player/Enemy/Summary will switch between tables
5 - Formulas Area
This is for you to change the formula any way you want
The critic is not necessary to add to the formula because I calculate separately in the summary table
Intersect works with a Random(min,max) value in formulas, which I have separated into 4 formulas
Min True - Min value obtained for true damage (no defense interference)
Max True - Max value obtained for true damage (no defense interference)
Min Real - Min value obtained for real damage (with defense interference)
Max Real - Max value obtained for real damage (with defense interference)
I called it real damage to differentiate the name. And as the formula (usually) is the same for physical damage or magic damage so I called it real damage.
6 - Summary Grid
Well, here is a summary of damage and hits
Player level and monster level for you to compare damage and hits of both on the same level
True damage and real damage showing minimum deferred and maximum player damage on enemy and vice versa (so in game damage will be between these two values I believe)
Critical (min, max) to also monitor what will be the critical
Hits True and Hits Real that shows the amount of hits that the player must take on the enemy to kill him I use approximate value because "maybe there is some life left, right?"
Here is the download
Here is the source:
To me - That I almost gave it up a hundred times @Blinkuz - Who solved many doubts for me while I was building this thing
My Gf, @Daniele Santana - Program Icon
Intersect Engine - Some formulas and functions (like customizing the formula) I took directly from source, studied a little and made it work even without understanding much
Anyone who wants to help and improve, feel free.
If you find bugs you can report it, but I don't guarantee to fix it because I'm soooo new to programming