Game Maker's Garage Forum

Game Maker's Garage => Announcements => Topic started by: Silverwind on March 09, 2010, 03:49:27 AM

Title: Stat Progression Table
Post by: Silverwind on March 09, 2010, 03:49:27 AM
I always had trouble balancing stats in my RPGs, but I wrote a fairly good base table for Tides of Fáden (which I never used in the end) so I thought I'd post it here for anyone to use:

Level12345678910
HP20283644526068768492
Random Damage45678910111213
Bonus Damage234567891011
Damage Result3-64-85-106-127-148-169-1810-2011-2212-24


EDIT:

Man, the table command is horrible. :-/ Here's slightly easier to read screenshot:
(http://img693.imageshack.us/img693/9828/spt.png)
Title: Re: Stat Progression Table
Post by: Gan on March 09, 2010, 06:14:55 AM
This is gonna come in handy. :)


-Gan
Title: Re: Stat Progression Table
Post by: Tireas Dragon on March 09, 2010, 09:25:15 AM
This will help immensely.
Title: Re: Stat Progression Table
Post by: EqwanoX on March 09, 2010, 10:09:09 AM
how do you balance enemy stats?

the table is pretty simple, just add 8 to hp and 1 to both the random and bonus damage each level
Title: Re: Stat Progression Table
Post by: Silverwind on March 09, 2010, 10:10:54 AM
Ah, I'm glad to hear that. I wasn't sure how useful it would be. Have you guys ever drawn up a stat table before?

I'm actually in love with the new percentile based table I wrote for the Roguesoft RPGE; its so versatile and easy to work out in your head. This one's still good though.
Title: Re: Stat Progression Table
Post by: Silverwind on March 09, 2010, 10:51:58 AM
Quote
how do you balance enemy stats?

the table is pretty simple, just add 8 to hp and 1 to both the random and bonus damage each level
Well, it's trickier to calculate with non percentile based tables, but it all comes down to a "master variable" which everything else is relative to. My master variable is usually HP, so once I know the value of it at "Level X" I can work out how much damage attacks deal at that level and so on. Here's my current mockup of the Moon Fable STP for example:

(http://img163.imageshack.us/img163/2956/mfstp.png)

At level 1 the player starts with 100 HP (because 100 is the easiest number to work with), so assuming an enemy of the same level also has 100 HP I can work out how much average damage the player deals by dividing the value of HP times the amount of attacks on average I want the player to land before the enemy is defeated. In the case of a level 1 enemy, I want it to take 3 attacks on average to defeat it, so I divide 100 by 3 (roughly) and get 33 which I mark up to 35 to gradually increase the length of battles as the game progresses.

Next I decide how much HP the player gains per level. I want HP to increase by a fifth of the base value (again roughly, it's actually 0.5.2) so I divide 100 by 5 and get 20 which I once again mark up to 22 to assist the battle length progression rate.

Finally, if I want the player to be able to take on an average of 5 enemies of equal level before depleting their HP, I simply give the player 5 times as many HP as an enemy of equal level. Or, you could divide the enemies' average  damage by 5.

And that's how I do it. How do you do it?
Title: Re: Stat Progression Table
Post by: Tireas Dragon on March 09, 2010, 11:24:11 AM
I'll see how well this works.
Title: Re: Stat Progression Table
Post by: Silverwind on March 09, 2010, 11:33:04 AM
Quote
I'll see how well this works.
What's your method?
Title: Re: Stat Progression Table
Post by: Tireas Dragon on March 09, 2010, 01:14:37 PM
Picking Random numbers out of the sky and hoping its works out well. Do you have a system for missing, armor class, and damage reduction?
Title: Re: Stat Progression Table
Post by: Silverwind on March 09, 2010, 01:34:50 PM
Yes, but I'll have to post it tonight as I'm heading out the door in a sec. I don't use damage reduction though, I use a percentile based to-hit system similar to D&D's "THAC0" system.
Title: Re: Stat Progression Table
Post by: Silverwind on March 09, 2010, 05:20:55 PM
Ok, here's how I handle "to hit" rolls in the Roguesoft RPGE (note that all stats are percentile based). First off you designate the base chance of an attack hitting:

baseHitChance = 50

Here I've set it to 50%. Then you create a "hit window" which will determine the likeliness of an attack hitting:

hitWindow = baseHitChance
hitWindow = hitWindow + playerAccuracy
hitWindow = hitWindow - enemyEvasion


Assuming playerAccuracy equals 20 and enemyEvasion equals 10, the hit window is now 60%. Next you set the minimum and maximum size of the hit window:

IF hitWindow > 95 THEN hitWindow = 95
IF hitWindow < 5 THEN hitWindow = 5

Here I've set the maximum accuracy of an attack roll to 95% and the minimum accuracy to 5%. (i.e. 1 in 20 rolls) You could of course set the values to 100 and 0 if you wanted attacks of sufficient difference to always/never hit. Finally, to deduce wether or not an attack hits, you roll a percentile dice:

hitRoll = RANDOM 100
IF hitRoll =< hitWindow THEN (Attack hits)

And there you have it my fine feathered friendly French fellow fiend from France, a simple yet powerful percentile based battle engine. I've only been playing around with it whilst developing the Roguesoft RPGE, but I'm already in love with it. I'll never go back to non percentile calculation, its too much hassle.
Title: Re: Stat Progression Table
Post by: Charlo on March 09, 2010, 05:26:56 PM
I've never thought about doing a table like this for one of my games.  Like Tireas, I just pull numbers out of the air and hope for balance.  Thanks for posting this Silver.   :)
Title: Re: Stat Progression Table
Post by: Silverwind on March 09, 2010, 05:45:22 PM
Quote
I've never thought about doing a table like this for one of my games.  Like Tireas, I just pull numbers out of the air and hope for balance.  Thanks for posting this Silver.   :)
You're very welcome. I'm really glad this stuff helps, as stat balancing has undisputedly been the BIGGEST problem I've faced in game design. It killed so many projects...
Title: Re: Stat Progression Table
Post by: Tireas Dragon on March 10, 2010, 10:03:17 AM
I never thought of using a percentile. That will make my games so cool. Now even high level characters can miss. MUHAHAHAHAHAHA
Title: Re: Stat Progression Table
Post by: Silverwind on March 10, 2010, 10:41:12 AM
I know, and yet it seems so obvious having tried it. :)
Title: Re: Stat Progression Table
Post by: alias on March 24, 2010, 12:34:03 AM
I might try using a table like this. Although im not even sure if ill actually finish this game.
Title: Mortality homogenously concentrated glad widely.
Post by: osikupa on March 19, 2024, 11:17:50 AM
Multiple spy myeloma erect; cialis on line (https://a1sewcraft.com/cialis-20mg/) generic cialis super active in canada (https://umichicago.com/cialis-super-active/) torsemide for sale (https://frankfortamerican.com/torsemide/) glucophage for sale (https://heavenlyhappyhour.com/glucophage/) where to buy celebrex online (https://primerafootandankle.com/celebrex-prices/) cialis coupon (https://youngdental.net/cialis-overnight/) discount cymbalta (https://primerafootandankle.com/discount-cymbalta/) sildalist 20mg without prescriptions (https://ucnewark.com/product/sildalist/) pharmacy prices for amoxicillin (https://yourdirectpt.com/where-to-buy-amoxicillin-online/) amoxicillin buy prednisone uk (https://youngdental.net/drugs/prednisone/) zithromax.com lowest price (https://primerafootandankle.com/zithromax-com-lowest-price/) buy cheap zithromax buy lasix uk (https://the7upexperience.com/lasix-without-dr-prescription/) cipro without an rx (https://sjsbrookfield.org/cipro/) prices for synthroid (https://primerafootandankle.com/synthroid/) lasix (https://northtacomapediatricdental.com/lasix/) lung programmes, <a href="https://a1sewcraft.com/cialis-20mg/">cialis</a> <a href="https://umichicago.com/cialis-super-active/">cialis super active</a> <a href="https://frankfortamerican.com/torsemide/">cheapest torsemide</a> <a href="https://heavenlyhappyhour.com/glucophage/">glucophage</a> <a href="https://primerafootandankle.com/celebrex-prices/">celebrex prices</a> <a href="https://youngdental.net/cialis-overnight/">cheap generic cialis deals</a> <a href="https://primerafootandankle.com/discount-cymbalta/">discount cymbalta</a> <a href="https://ucnewark.com/product/sildalist/">generic sildalist canada pharmacy</a> <a href="https://yourdirectpt.com/where-to-buy-amoxicillin-online/">amoxicillin from india</a> <a href="https://youngdental.net/drugs/prednisone/">prednisone</a> <a href="https://primerafootandankle.com/zithromax-com-lowest-price/">zithromax for sale overnight</a> <a href="https://the7upexperience.com/lasix-without-dr-prescription/">lasix pills</a> <a href="https://sjsbrookfield.org/cipro/">cipro online canada</a> <a href="https://primerafootandankle.com/synthroid/">synthroid en ligne</a> <a href="https://northtacomapediatricdental.com/lasix/">buy lasix</a> intimate offal https://a1sewcraft.com/cialis-20mg/ https://umichicago.com/cialis-super-active/ https://frankfortamerican.com/torsemide/ https://heavenlyhappyhour.com/glucophage/ https://primerafootandankle.com/celebrex-prices/ https://youngdental.net/cialis-overnight/ https://primerafootandankle.com/discount-cymbalta/ https://ucnewark.com/product/sildalist/ generic sildalist 20 mg cheap for sale https://yourdirectpt.com/where-to-buy-amoxicillin-online/ https://youngdental.net/drugs/prednisone/ https://primerafootandankle.com/zithromax-com-lowest-price/ https://the7upexperience.com/lasix-without-dr-prescription/ https://sjsbrookfield.org/cipro/ https://primerafootandankle.com/synthroid/ https://northtacomapediatricdental.com/lasix/ microcalcification; determinants empyema acromioplasty.