Wednesday, December 25, 2019

game design - What underlying character stats would you put into your "character" object in an RPG engine



basically I'm making my own RPG/TBS engine named Uruk (making an rpg themed about the epic of gilgamesh) and I am thinking of a combat system similar to the Disgaea franchise or the Super Robot Wars franchise


I'm currently in the process of writing the "character" class (cant name it character since it causes confusion with the primitive data type "character") and right now i've decided to go with the regular RPG route of including the following base stats:



  • strength

  • Agility

  • Willpower

  • Endurance

  • Luck


and the base stats would then dictate the following stats




  • Attack (probably a combination of the strength stat and weapon stats)

  • Physical Defense (determined by endurance and armor)

  • Magic Resistance (maybe something to do with willpower and armor)

  • Crit Rate (luck and agility)

  • Max Health (endurance)

  • Max Mana (willpower)

  • Max Stamina (combination of strength and endurance)

  • Move per turn (determined by character class or agility)



of course there would also be a leveling system with level and experience stats


the biggest problem I am facing right now is whether I should put additional underlying stats (hidden from the play) for leveling purposes (for example stats such as strength per level and max health per level) and how would i go for implementing said underlying stats with a class system, currently I am using an enum within the character object (calling them objects to avoid confusion with programming classes and character classes) to implement the class system and I have been considering on whether I should just write multiple objects extending on the character object for each character class or should I keep on using enums to represent different classes



Answer



Which Stats?


First, with regards to what stats to implement, you need to work backwards from mechanics to derived stats to basic stats. Determine what effects and mechanics you want during play, and determine how you want those mechanics to work with one another.


The important notion when looking at relationships between mechanics is identifying the aspects you want to be orthogonal. This means which aspects are the atomic elements which are independent of one another.


For example, maybe you want misses and dodges in combat. If you want these to be separate derived stats, you might have derived stats Miss % and Dodge %. Then the question would be, should they be orthogonal? Should a character be able to dodge very well while also being very clumsy and missing often? If so, they should be orthogonal, and be based on atomic, independent basic stats. If you decide they should be related (a nimble person who can dodge well should also not miss very often), they should be derived (at least partially) from the same basic stat.


Hide Stats?


The question of blackboxing (whether or not to hide certain aspects of the system from the player) is a question of simplicity versus control. Do you want to make the choices, UI, and overall game simpler for the player to understand, or would you rather they feel more in control of the stats of their characters?


Multiple Classes or Single Class?



Finally, the question of individual Classes versus a table of variables for a single Class is a question of the level of difference between professions. If the game professions are the same except for stat levels, a single Class is fine. If there are fundamental differences in how the different professions function, multiple Classes might work better.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...