![]() |
OT: Making a Game System (part 2)
part 1 was the 'Western v. Eastern' marital arts thread :D
so I'm crafting a model for combat now. take a look at what I've got so far and see what you think. feedback is appreciated. keep in mind this is for a computer game, so typically time consuming formulas are no problem... for starters, characters possess two "life" measurements rather than just one. The first is 'vitality', and then there is the typical 'hit points'. Vitality is actually more of a fusion of traditional hit points and fatigue, whereas 'hit points' in my system are the representation of physical body integrity (like not having holes and cuts on your body and stuff). the reason for this seperation is that vitality can represent the energy, skill, and spirit a character brings to defending and attacking in a fight. it makes sense that this should increase drastically with character advancement. physical body integrity should not increase much and should be subject to sudden trauma when subject to stress that vitality couldn't defend against. that sounds nice and all, so now how to model it? to keep things simple, lets consider two combatants in a controlled situation; say a duel. more complexity (for multiple combatants) can be added later. for simply 'meleeing' there is a vitality cost each round (or loop). this cost is modeled using an asymptotic curve: Code:
1. vitalitycost = 1 / h harmonic mean, for those interested in knowing more so that is the vitality cost incurred each round of fighting. next, each combatant makes a 'threat roll' and a 'defense roll'. the threat roll is Code:
2. threat = h + r the defense roll is Code:
3. defense = 1 / (h + r) next, threat is multiplied by defense. since defense is asymptotic it will lower threat as it increases, but never eliminate it. so a quick recap in the form of a pseudo-formula Code:
vitcost + (threat * def) = vitdam if a large amount of vitdam is suffered in a single round, there is a chance the character will suffer physical damage. this is to represent the glancing blows and nicks two combatants will incur as they spar. Code:
phydam_chance = phydam_chance(vitdam) once vitality is eliminated, physical damage can occur. however, there is also another layer of 'armor' which has not yet been modeled. before I do that, consider some implications of my 'vitality-threat' model 1. in melee fighting, strength, dexterity, and arms can reduce the threat to vitality suffered each round, as well as increase the amount of threat you can present; this sounds reasonable. 2. armor can actually increase the vitality damage suffered each round since it will have a negative influence on the defense roll, however it may end up preventing physical damage. does this sound reasonable? vitality is sort of a buffer from actual damage that the character is able to present due to skill, energy, and spirit. having lots of armor on would translate to vitality being depleted quicker (and not just because of vitcost, but due to the defense penalty of armor), and allowing threat to become physical damage quicker. however the armor would then begin providing a barrier to physical damage. 3. imagine vitality-threat in the case of, say, a rocket propelled grenade. does it still make sense? defense would reduce threat damage multiplicatively. this sounds plausible in a sword fight, but how can your defense reduce a traumatic explosion of a grenade to, say, a tenth of its full power? well, i suppose _getting out of the way_ would help. therefore, having armor on and actually suffering vitality depletion because of it makes sense here. so does this whole threat-vitality-physical damage model make sense? I like it a lot better than simple 'health' or 'hit points', and I like fusing fatigue into it since when you get fatigued you will not have as much vitality to defend with, and it allows fatigue to be represented as the lack of vitality, rather than the accrual of fatigue; its also more satisfying, and more accurate, to increase the amount of vitality with character advancement, and thus the amount of exertion and stress that can be suffered before becoming fatigued. This does not seem to allow for dominions usage of fatigue to lower attack and defense (or threat and defense); however that could be incorporated by adding modifiers based on the ratio of current vitality to maximum vitality. This model also allows for the more accurate modeling of, say, two unarmored fighters sparing; or of a combatant dodging an explosive device. I am not wanting to directly compare Dominions to my own combat system, because they are meant for two different things. However, my system is actually very heavily Dominions influenced, but modified to be able to represent RPG style personal combat in a way that would be more satisfying when playing an RPG. thoughts or suggestions? also, any input on how to determine or weight the inputs into the harmonic averages? most likely relevant stats will be strength, dexterity, psyche, perception, and arms and skills modifiers. below is a full stats list, I havn't really done much work on these actual effects, or any work on the effects of weapons and armor. Code:
Cognition: Represents analytical and synthetical capability |
Re: OT: Making a Game System (part 2)
I remember I used to try to do perfectly symmetrical pen&paper stats systems. I also planned to do a computer game in which you had two joysticks for hands and two special computer mice for legs and could control your character with actually moving your legs and hands and it would be oh so perfect and just like real life. Keep It Simple, Stupid...
Can your players understand all that, esp. when combined with the martial arts system you're thinking of? Good mechanics are good, but what ind of a feeling should player get from playing your game? I've seen similar health/stamina implementation in one game: Betrayal at Krondor. It had two sequels, from which Betrayal at Antara is more interesting IIRC. I don't know what system it uses. In BaK, you first lose stamina, and after you've lost stamina, you lose health. Spellcasting drained Stamina, and then Health if your stamina was spent. Stamina was easy to heal just by resting, but Health could only be recovered on inns (== gold), and badly wounded characters (== 0 hp, near death) could only be healed in temples (== mucho gold). It could take several days in an inn to recover a severely wounded character, and since your characters had to carry food with them you usually couldn't rest to full after every battle, or if you did you got low in food, but usually the worst that happened would be having to detour or backtrack to the nearest town for more supplies. I think you'd like Betrayal at Krondor. Health/stamina system, skills that are raised by use, barding skill teaches the characters to play a single song which starts out-of-tune and will get you thrown out of an inn, but will become pleasant and recognisable and profitable with higher skill, weapons and armor degrading with use, enemies dropping all the equipment they carried but players unable to carry all the loot unless they make several trips, day/night system with dark nights (torches, spells and magic light items available), fatigue system for characters, etc etc. It's free and based on Raymond E. Feist's Midkemia books. Speech, descriptions and events are narrated in text, music is pleasant and graphics are adequate if you can accept 1994 vector geography. Thankfully the game mostly uses hand-drawn sprites which have aged better than early 3d models of later games. Stats: you should get rid of everything that isn't used. Also, remember KISS and get rid of as many as you can. Your game doesn't have to have a realistic "engine" to give you a feeling that you're playing in a real, working world. Get rid of Memory. If your character doesn't remember everything, the player is forced to write things down. NOT GOOD! Could you use Dominions stats? What would you need in addition? Cognition is perhaps the only one that isn't found in Dominions. What is the difference between Spirit and Psyche? Perception - Precision Psyche - Magic Resistance Strength - Strength Dexterity - base defence before armor/shield/weapon modifiers Memory - unnecessary in games Constitution - protection Spirit - does this differ from Psyche? Charisma - leadership Could you imagine an RPG based on Dominions stats, in Dominions world? What more would it need to convey the feeling you're trying to convey through your game? To return to the martial art discussion, Katana has higher base damage, attack and strength values than most one-handed swords, which are usually used with shields. Two-handed swords are similar in stats to katanas, but two-handed-sword wielders can use Full Plate instead of Samurai Armor. That's good enough for game, and gives a feeling that it's all based on the real world somehow, but still abstract enough for you to ignore its problems. Dominions mechanics are very good for fighting. Add in health/stamina mechanic and skills from Betrayal at Krondor, and you don't even need Cognition/Intelligence/Learning stat at all. Really, download and try BaK. Sierra made it free to promote a sequel. http://en.wikipedia.org/wiki/Betrayal_at_Krondor Sequel with almost the same system: http://en.wikipedia.org/wiki/Betrayal_in_Antara Official sequel which wasn't received as well, but I've heard it had good alchemy system: http://en.wikipedia.org/wiki/Return_to_Krondor Downloads Win: http://www.alt-tab.net/games/betraya...ndor/download/ (not patched AFAIK, but that doesn't matter for the early game) Fan-made Linux version: http://sourceforge.net/projects/xbak |
Re: OT: Making a Game System (part 2)
thanks for the tip on BaK. I actually recall playing that game now when it first came out, I never got too far into it though, but yes I remember it was quite innovative
so yes, i'm sold on vitality/health bifurication. i'm more concerned with my system for handling and depleting vitality, where the defense roll is actually the generation of a fraction to multiply threat by; the 'roll' is to establish the denominator of that fraction. this is combined with harmonic (or failing that, geometric) means for establishing threat and defense. 'threat' might typically be just the weapon damage and strength score, however since vitality is siphoned off without weapon contact, and weapons simply pose some abstract 'threat' in the hands of its user, a flat weapon damage makes no sense. weapons will have a base threat score, but that is averaged (harmonically!) with several other factors, including the array of mental skills I have (thus why I want so many of them). therefore, it is perfectly possible for a lean warrior weilding a dagger to present more threat against a massive warrior weilding a 2h-sword; it all depends on how skilled the two warriors are and how well the leaner warrior is at negating the range advantage of the larger sword. In fact, I was looking through the drawings of the old german school manuals on using 2h-swords, and warriors were often depicted using the sword more like a staff! in close combat the swords weight and leverage becomes a liability, and it had to be used differently. In actual combat, the dagger and the sword have a 'threat' separate from the amount of physical damage they could actually do. for understanding the importance of the multiple factors and harmonic or geometric means, consider this (the following example is a geometric mean, since I don't know how to compute harmonic means or if it could be computed in this system [since I don't really understand it yet], but I know that harmonic means are sensitive to reverse salience the most, while geometric means are only a little. 1 + 1 + 1 + 2+ 10 arithmetic mean = 3 geometric mean = 1.71 this means a powerful weapon in the hands of a lousy user presents very little threat. so if the two-handed sword had a high base threat, but the user had no other stats or skills relevant to its use, it would do less threat than a stalk of grass in the hands of a person skilled in weilding stalks of grass. consider that even if the grass does no damage, it may still be used in a very threatening way that could reduce vitality. this is why 'psyche' and 'spirit' are part of vitality. they are those unspeakable but obvious items that we can feel but never understand. think about 'getting psyched out' or 'losing your spirit'. a person very good at using stalks of grass threateningly could do that to someone; while never inflicting physical damage, but forcing the person into a state of submission. for this reason, i'm even going to have 'charisma' be important for some martial arts (there are several that depend on feints and fakes to essentially psyche an opponent out). ok, so the stalks of grass is completely absurd, but it makes the point of why i am so carefully parsing out the meaning of vitality and why I want all those stats which you may find unnecessary. also, there will be some systems in my game which need something like 'spirit'. some people may be completely dumb and naive, but have lots of spirit... I'm just trying to capture some of those less mechanical essences (in a mechanical way, no less, but that's the nature of the beast) and make them relevant for the game. |
Re: OT: Making a Game System (part 2)
Hey Omni,
Neat stuff. What are the expected ranges of each of these variables you've proposed? Things can get kinda dangerous with 1/x, it approaches infinity pretty quickly as x --> 0. Also, in your threat*defense expression [(h1+r1)/(h2+r2)], what are the relative magnitudes of the h to r? If h>>r, (h1+r1)/(h2+r2) ~= h1/h2 (and vice versa). |
Re: OT: Making a Game System (part 2)
cleveland,
i havn't done any work on the magnitudes of these variables yet, that's the point I'm at now, but was just wanting to see what people thought about a system like this. the amount that these variables are allowed to get very large or very small can be tweaked, that's probably the most work if I decide to use this system. my goal was to find a system were things are more interactive and less flat, that's what I'm hoping this will be. coding the math won't be hard. I'm going to make a little application that will simulate a fight between two characters using the system. I can then use that to play with everything and work on getting a good balance. I will post that app here as soon as I get it done; and others could experiment with it. I'm on fall break right now, so maybe I can get it done over the next week; however I have some papers to write also... |
Re: OT: Making a Game System (part 2)
Very interesting, I'll look forward to your progress.
One question i have right off the bat...are you attempting "realism" or is this meant to be cinematic/video game style with heroic action heroes? With regard to your question about grenades etc., if the basic system is clean, rough edges can be smoothed out by having damage types and limiting the percentage of damage that can be absorbed by vitality. For instance lethal explosive damage could only be 50% absorbed by vitality unless the target can dive for cover, or whatever. |
Re: OT: Making a Game System (part 2)
Just wanted to post some encouragement! 8 )
I've been studying game systems for a long time (since that wee age when I discovered that AD&D wasn't the only way), and I have to agree with the basic concepts of where you're going with this. For example, my own system (that I haven't worked on lately, for shame), actually has 12 statistics, with the intent that there are very subtle and complex interactions among them. I think there are a few very good points to developing a system like this: - The extreme complexity which would kill the game in PnP, becomes a great tool, when you decide to commit the system to only be used with a computer doing all the complex calculus. - Decreasing the number of available stats causes two problems, first it waters down the personality of your characters, I have seen numerous systems that go the STR/DEX/INT route, and the degree of variance among successful characters drops precipitously. Likewise, there is an inverse relationship between number of stats, and ease of min-maxing at the expense of character building. Using 9 statistics, even if they can be said to overlap in certain ways, adds a lot of nuance to a character, allowing you to give much more depth and personality as they develop - as well as making more progression paths viable. - Cause and effect can gain a much greater depth as well. Avoiding falling into a pit, for example, should not simply rely on your "Dexterity". Having a statistic that represents sensual "Perception" allows an interaction where you assume there is a point of observation of the pit, as well as a point of physical reaction - and someone who is either perceptive but clumsy, or nimble but dull may fall straight into a pit that a person who was more average in both respects may have avoided. This goes beyond mere realism, directly to immersion. All that said, I would have to agree, the "Memory" stat is going to be the hardest to work with, without it becoming either a terrible annoyance, or a gaping hole in the system that either requires boosting at every opportunity to keep from being screwed, or to drop as much as possible to gain points. Of course, insuring that it has very deep interactions with other stats insures that it can't be ignored totally (make it the primary stat modifying learning rate?), but it will work better in the context of the game if it has an overt function, rather than being totally passive. I'll probably discuss this more with you later, I'd like to help you as much as I can, without corrupting you with specific design points from my own system. ;) |
Re: OT: Making a Game System (part 2)
Omnirizon, since you seem to be only vaguely familiar with the Pythagorean means, I'll give examples with the data set you gave earlier.
The Pythagorean means of the data set [1, 1, 1, 2, 10] are as follows: The arithmetic mean is the sum of the members of the set divided by the population of the set. μ = (1 + 1 + 1 + 2 + 10)/5 = 3 The Geometric mean is the product of the members of the set raised to the power of the reciprocal of the population of the set. G = (1 * 1 * 1 * 2 * 10)^(1/5) = 1.82 The Harmonic mean is the reciprocal of the arithmetic mean of the reciprocals of the members of the set. H = 1/((1/1 + 1/1 + 1/1 + 1/2 + 1/10)/5) = 1.39 It is vitally important to note that these functions only exist for positive, real numbers. I think it essential that you realise how strongly the harmonic mean skews the results towards the low values and, quite importantly, the limit of the harmonic mean. Consider a situation where a character's vitality cost for acting is the harmonic mean of 100 values, 99 of which are 10, one of which is 1. The harmonic mean is 9.17. Consider the same thing, but now 99 of those values are one googolplex. The harmonic mean is 100. This illustrates an important relationship with regards to the the population of a set, its smallest member and its harmonic mean. The maximum value of the harmonic mean of a data set is that of the smallest member multiplied by the population. |
Re: OT: Making a Game System (part 2)
Quote:
http://www.thearma.org/essays/Talhoffer/HT-Web.htm And here's a video in which two guys play it out: http://www.youtube.com/watch?v=ZnqOMbFDEAI I'm still not sure why you can't just say that stamina acts as a buffer before actual health goes down, but any way... You need two different threat values, normal and armor. Using 2h-swords the usual way is generally better, but doesn't work against heavy armor. Half-swording makes it easier to thrust through gaps in armor, so it's better against armored opponents. Quote:
1) Why do you need both Psyche and Spirit, how do they differ? If there's no important differences, combine them. 2) Will any of the main characters have poor spirit? If it doesn't ever come up, either add something that makes it important or remove the stat. Quote:
|
Re: OT: Making a Game System (part 2)
Quote:
In fact I tried to make a RPG myself with a system similar to a relatively complex PnP system. Once I had finished the UI I realized that I could have just gone with a third of the skills and attributes, as I could only create very few situations where it would have made a difference (*). Just having an attribute isn't enough, if it is only used in internal calculations and doesn't have a point where it shines it doesn't help to personalize the characters. Plus it becomes a PITA when you're actually trying to implement a plot (or AI!) into the game cause every person/event/etc needs to have it's stats and checks set. Of course you could simplify that by making generic templates or something but that again beats the purpose of high complexity. (*) (Needless to say I never finished that project :D) @Omniziron I'd drop the thing with the harmonic mean and instead us a linear or custom formula. With the harmonic mean chance is that a character focusing on a certain weapon will do worse in combat than a character just leveling up all attributes evenly - even with the weapon that he's specialized in. To make personalizing the character rewarding specialization has to pay off, I'd even say to the point that you get a big boost in the field where you are expert. The drawback would be that a specialized character has a hard time of dealing with situations outside of this field. |
Re: OT: Making a Game System (part 2)
Quote:
I do realize the degree to which the harmonic mean skews towards the smallest members of the set, and that is exactly my reason for using it; it creates a strong reverse salience. Reverse salience is where a single component of a system is impeding the performance of the entire system; the term originates from technology studies, where within a system some components are being developed very quickly, while others are allowed to lag behind, and despite all the advances in one technology, the overall system performance does not improved because of the reverse salience of other components in the system. I liked the principle of harmonic means, and thought they fit a fighting system best. To my understanding, the idea of the harmean in a combat system like mine would be to say that "the percentage of 'attack' contributed by each variable is due to the degree of that variable's operation in the generation of 'attack'." This also means that variables can be weighted to change their degree of operation in attacking. I simply have to decide how much each variable contributes to it, and weight accordingly. Thus in melee, perception might be weighted less than strength and dexterity, for example. |
Re: OT: Making a Game System (part 2)
Quote:
also, specialization's downside being lack of diversity is a crock of **** in any system that doesn't penalize lack of diversity: "yes, I do +23 damage, have +12 attack, and get 9 attacks per round with my longswords. but that's ALL I can do, and just think of all the stuff I'm missing out on doing... like... like... singing opera... and cooking... and writing poetry... Don't you see how my character suffers due to its extreme specialization. It's pure torture. But the world needs me, so I trudge on." |
Re: OT: Making a Game System (part 2)
Quote:
Quote:
most of the stats you are pointing out have their initial considerations in the magic system, which is why they are necessary even if they play only an ancillary role in combat. However, the primary combat stats will play an ancillary role in magic. I like it that way and it helps contribute to my ideal behind using harmonic means (everything works best when in 'harmony'.) :) psyche and spirit, or even psyche and cognizance might not seem that separate, but I believe they are. Spirit was originally conceived to represent "spirituality", something that psyche does not. think not of the priest, but of the tribal shaman, or maybe the Buddhist monk. Psyche is that mental strength and brass; I was thinking of the D&D psionics here, which is usually associated with 'intelligence', but I thought that was too blunt. For more 'real life psionics' I might imagine browbeaters and car salesmen, that's not charisma, they arn't charming you, they are just beating you down mentally until you give in; there's a lot of weak minded people out there so this works well. That doesn't take intelligence, it doesn't take spirit, it doesn't take charisma, it just takes mental strength and persistence; that's psyche. cognizance then is your ability to think, abstract, and synthesize; what we most often associate with intelligence. of course, each stat has a little overlap with others, but that's OK and even desirable. what's important is that they have a well defined center that is necessary and cannot be captured in another stat. Of course, I could go so far as having 'slow twitch strength' and 'fast twitch strength' and such parsings like that too, but I don't think those two things are separate enough from each other that they can't reasonably be represented with just 'strength'. |
Re: OT: Making a Game System (part 2)
Quote:
I don't know the details of the system you have in mind but lets just make one example. Computer programming and talking have synergy effects like one who's good a memorizing vocabulary is good at memorizing commands. Likewise someone who's able to express exactly what he wants to say should also find it easier to program a computer. But a computer programmer needs mathematics, too, and computer knowledge. So lets make the formula for programming skill with the harmonic mean and add the talking synergy. programming=1/(1/talk+1/math+1/computer knowledge) Average person: talk=5 math=5 computer knowledge=5 The average persons programming skill is (1/5+1/5+1/5)¯¹*3 = 5 Single-minded computer genius: talk=2 math=9 computer knowledge=10 His programming skill is (1/2+1/11+1/10)¯¹*3 = 4.2 - lesser than that of the average person allthough he has burned more points. Balanced person: talk=7 math=7 computer knowledge=7 programming skill: 7/3 = 7 - this is the min-maxed value you can't go higher with 21 points. So every good programmer is also an above average speaker. This is in no way realistic. There's countless examples of people being good at one thing while lacking in other areas despite synergy effects - this is what makes individuality possible. It can't be encompassed with an harmonic mean as long as you want to have synergistic effects. With a harmonic mean whatever gives a bonus will also become a limiting factor. You can certainly tweak that a bit but I'm quite sure you'll end up with that the balanced person is best at everything or so close to it that there is no point of building up strengths and weaknesses. better formula (1/(talk*2)+1/math+1/computers)¯¹*3 average: 6 specialized: 6.3 balanced: 8.4 Quote:
|
Re: OT: Making a Game System (part 2)
I would say its writing, not talking, that is important for computer programming. And in reality every computer programmer is going to be an above average writer, mathmetician, and... computer programmer. Take the following examples:
Hello my name is Donald Knuth; not only am I quite likely the most noted figure in modern computer science, I have written about 15 MASSIVE books about it. My father owned a printing press and this had a HUGE impact on my skills with computers later in life. I've also written the de facto standard software for doing academic publishing, LaTeX. Hello my name is Eric Raymond, I'm a hacker extraordinaire who has wrote a category killing mail client for Linux, as well as hacked on Linux, Nethack, and tons of other computer software. Most notably though, I've written the most famous books on modern hacking, The Cathedral and the Bazaar, and the Art of Unix Programming. Some English student didn't write those, I did. Lastly, according to me and other books such as "Rebel Code", it was the highly social nature of computer scientists over networks such as usenet that allowed Open Source Software to become a reality. In other words, computer scientists are really good at communicating. Hello, we are Linux. According to Raymond, we represent the top 5% of computer programming talent in the world. One of the most notable correlations we have is the fact that Linux is one of the most well documented pieces of software in existence; could this be because computer hacking and writing skills are related? Hello, I am the liberal university model. Virtually every university in the world follows this model. Even MIT, known for computer science stuff, has English, philosophy, and literature courses on par with their technical courses. This is because knowledge in these areas improves performance in technical areas. Only community colleges and trade schools do not offer such well rounded education, and consequently their product is ill-suited for the new technological economy. |
Re: OT: Making a Game System (part 2)
Obviously, there is a point where creativity is required to tune the math to the appropriate point.
I'm going to assume here, that what you want Omni, when you think of "harmony", is a balance between diversity and specialization. So I think a good way to achieve this, is to look at how a character might develop, such as Illuminated One's calculations - and parse out typical scores based on 'single stat min-maxing' or 'across the board flat scores with purely harmonic means'. Then in comparing the numbers, alter the math so that the "peak" of a character's ability, falls somewhat in between these scenarios - a mathematical paradigm that rewards well thought out specialization AND diversity. It would seem you want to do more to avoid having pure specializers than hindering a jack-of-all trades, but by adding bonuses in the appropriate points, you can reward someone for making a couple stats shine, while allowing them to not be utterly crippled if they are deficient in some area. The point being that a player can neglect some things as a matter of choice, because otherwise there is simply enforcement of pure diversity, and no direct reward for ever trying to excel in any one thing. People are multifaceted, some facets are dull, some are sparkly, but no one facet makes you a god. ;) |
Re: OT: Making a Game System (part 2)
Quote:
Your assumption that you are trying to illustrate, seems to be that communicating with human beings and communicating with machines are inextricably interconnected. You may be correct to a certain degree, at a certain level of proficiency, however there is no clear absolute here. Most of the people whom I have known in my real life dealings, who were talented programmers, all happened to have trouble with people. But here is where your problem starts, you are trying to forge an immutable link between "writing", and "programming". I would argue that in this context, that there must then be an immutable link between "speaking", and "writing". Thus if the only way to have the best rating in programming, is to be an excellent writer, but the only way to excel in writing is to be a talented speaker, then speech becomes a necessity for programming skill. The problem is that you are drawing a causal relationship from a circumstantial relationship. Perhaps what you are overlooking, is that while the most well known programmers happen to be good writers - it is because it is through that writing skill, that they become well known, more so than through their programming skill. There are droves of incredibly talented programmers out there, that you have no knowledge of (and who do not rise as high in power in a corporate world, usually), who are indeed very poor at dealing with people in any capacity. |
Re: OT: Making a Game System (part 2)
Omni, allow me to retort...
Quote:
'Reverse salience' is misleading. Reverse salient is a noun, referring to a particular weakness which holds back some process (specifically, holds back an armored column advance; the term is military in origin). If you wish to use a harmonic mean you are essentially telling players that their character is *weakened* by having even a single relevant attribute at a value less than any other. |
Re: OT: Making a Game System (part 2)
Quote:
|
Re: OT: Making a Game System (part 2)
Quote:
|
Re: OT: Making a Game System (part 2)
OK. thanks for all input so far. here's the next section...
for a recap. recall 'threat' is an abstract amount of threat the weapon poses that forces a defender to expend 'vitality' to parry, avoid, or whatever. I think I will now begin calling threat 'attack', because it sticks somewhat with naming conventions, and is easier to abbreviate. at the core, the attack and defense system works like this: attack/defense = vitality loss I am choosing this model because then there is always some vitality loss for the act of defending one's self; basically defending one's self is stressing. with skills, experience, and stats that stress becomes easier to handle, more natural, fewer mistakes are made, ect, and vitality loss and the ratio of vitality loss will be lowered. been discussed so far is how to determine the attack and defense values. I'm leaning towards some kind of average of values drawn from stats, skills, arms, ect; I'm desiring some kind of average that will penalize over-specialization (such as harmonic or geometric). Lokean and others suggest that harmonic means are too severely skewed towards smaller values, and also are not conceptually "correct" in my system. Lokean suggested geometric means are more suited, so I think they will be used. at the moment, I am looking at the following going into an attack value: perception psyche skills arms perception and psyche are base stats skills are skills (ZOMG!) arms is the bonus to attack provided by equipment. these values may be weighted, but we will worry with this later strength and dexterity are moderated through arms. basically, arms have a minimum str and dex value. they can be used with less than this value, but then suffer to their 'arms' value contribution to the attack average. also, if the user has higher str or dex then required, an additional bonus is provided. I will take the difference of required stat minus actual stat, and then get the natural exponent of this. The 'arms' value of the weapon is multiplied by this result, and that product is what goes into the 'arms' portion of the attack average. (I am using all this math for a reason! I want diminishing returns and curvilinear models, I think those are most accurate for what we are dealing with here.) so basically... exp(reqstat - stat) * armsvalue this will have the effect of severely penalizing a deficient stat, while providing a diminishing bonus for excessive one. also, this can be used to make some weapons more deadly with dexterity, and others with strength, making character design more personal. The very strong but clumsy character will have a really good reason to use an iron club rather than a rapier for example. thoughts? EDIT: wait, exp(x) wouldn't be working right, ln(x) would be right, but doesn't have the pleasant quality of being a 1 when stats = reqstats. but maybe people can see the idea I'm going for. will have to work on the formula a bit. maybe: ln(e + (stat - reqstat)) ? |
Re: OT: Making a Game System (part 2)
Physical attributes should have at least as much effect on combat efficiency as perceptiveness and psyche. If equipment doesn't level up with you, you'll have to get new equipment. If it's expensive, physical attributes are weaker than others until you can buy the best stuff you can use.
Also, what is the arms value for unarmed martial arts? |
Re: OT: Making a Game System (part 2)
An odd observation: It seems that by using (stats-reqstats) in a system where you have multiple stats involved, creates a highly abusable problem. Essentially as 'reqstats' climbs, it becomes more and more profitable to only have the minimum in whichever is the primary stat (that you need more of, to wield the weapon), and to push extra points into secondary stats, because you can always get a higher resultant difference, and thus a better contribution to the equation.
|
Re: OT: Making a Game System (part 2)
Quote:
if I wanted to get more exact, I could then weight the calculations in the average, so weapons that have a low dex and high str requirement (like a big maul or something), might also not really benefit from dex much at all, so it could be weighted less. this would of course require assigning all weapons these weights, but in reality I don't think it is that hard since almost every weapon (except very unusual ones) can be classed into a handful of categories in which weightings are shared. |
Re: OT: Making a Game System (part 2)
That doesn't work well. Imagine a Warhammer with str 8/dex 4 requirements. Psyche 10, Perception 8, str 7, dex 4 guy will be slightly penalized for not being strong enough, but his high psyche and perception increase the value. Someone with strength 10, dex 8, psyche 7 and perception 4, on the other hand, has essentially "wasted" all the exraneous points in str and dex and is even further penalized for not having high secondary scores.
Your system makes the secondaries too important. The primary stats are penalized by the equipment system you've described. Equipment shouldn't triumph over good stats and skills. Perhaps different fighting styles should use different stats in their calculation. Perhaps something like this: Code:
|
Re: OT: Making a Game System (part 2)
Omni, let me recount for you the tale of the most terrifying re-enactment veteran I've ever met.
Bear in mind that I am English, so when we do reenactments there are two main versions: Everyone gets pissed and falls over one another, then gets more pissed afterwards; Everyone wears real armor and wields real weapons that have been blunted or wrapped in leather, broken bones are not unheard of, everyone has fun and then goes home to nurse torn muscles and bruises the size and colour of a Black Magic aubergine (that's the roundish purple egglpant, to you americans). She did the second sort, she was five foot three and looked like nothing so much as a china dolly. For any relevant physical stat you felt like selecting, she was probably below average. However, nobody ever liked to see her standing even roughly opposite them in the battle line, because she used a two handed sword that was taller than her. And she would run, screaming blue murder, at the opposing battle line and use the weight of the sword and momentum of her charge to throw herself, followed by the spinning arc of death that was the returning upswing of the sword, clean through the ranks... The point I'm getting at here is that what mediates whether you can actually wield a weapon is less to do with your physical capacity in everyday life (she was weak, clumsy and always exhaused after the fights) than with your skills with the weapon in question. Further, I'm afraid the natural logarithm is another one of those functions that only exists for positive, real numbers. So if you want to use it you'll make it impossible to use a weapon if you have three points less in the required stats, since this would drop the argument of the function below zero. And you can't even go that low, since you have to keep the argument of the function above one, such that the output is not negative, such that the geometric mean can be used. In reply to End and JimMorrison, it's actually highly dependant on the value assigned to the weapon as a multiplicative factor, (the arms value, according to Omni). If we assume that the intent is that being just barely capable with the weapon should mean that the 'average fighter' remains average we find that the arms value of the weapon should initially be set (for playtesting) as the arithmetic mean of the requirements for the weapon. This actually means that it suddenly becomes extremely beneficial to the person that invests in a weapon's primary stats, since the natural logarithm increases more rapidly than simple addition at low values. Endo's two examples actually come out as follows: Weapon: Warhammer (requires str 8, dex 4, arms value 6) Psyche 10 Perception 8 Arms (str 7, dex 4) = 3.25 (if his strength was only 6 he couldn't even use the weapon, since ln(e-2) is less than zero) Geometric Mean = 6.38 Weapon: Warhammer (requires str 8, dex 4, arms value 6) Psyche 7 Perception 4 Arms (str 10, dex 8) = 12.99 Geometric Mean = 7.14 |
Re: OT: Making a Game System (part 2)
Quote:
It sounds to me like she had a high Psyche score too :D Ok, so given these suggestions, how about this... Code:
* str/dex/skl will be a Gompertz Function with an intercetpt of 1, upper bound of 1.5 or 2, and lower bound of 0. Gompertz Curve * skl/per/psy will be a natural exponent * random roll is a.... random roll the three can be averaged geometrically, and then perhaps multiplied by the 'arms' value. this makes the weapon have minimum requirements for use, less than required is penalized (down to 0 effect), while more than required provides a bonus (maybe up to 1.5 or 2 times effect) tactics on the other hand has no requirement, but is a penalty for too low tactics, while an unbound but exponentially more expensive bonus. I was thinking that ideally this bonus should be in practice rarely higher than the maximum weapon bonus (of 1.5 or 2). I'll need to work out just _how_ the str/dex/skl sigmoid curve is computed, to prevent gaming the system (it may require some weighting method, where weighting of the stat/skl is tied to its requirement level somehow) Lastly, note that 'skl' enters the computation twice (in weapon handling and tactics). I thought this was intuitive, since training to use a weapon involves not only handling it, but the movement and footwork that goes into placing the energy moving through the weapon onto your opponents body. In fact, it is a little hard to separate out str/dex/skl/tactics/muscle memory and whatever, so in a sense the 'weapon' moderator is also a part of the 'tactics' moderator. 'skl' then serves as the conceptual link between them, and str/dex versus psy/per highlights the muscle memory versus the instinct/perception that guides muscle memory. The basic point is that now skill is more important than other stats. It isn't doubly important, rather it simply influences two separate calculations, so has more weight. despite the slightly complex path analysis going into this formula, it is still easy to implement. the formula and procedure is universal, all that needs to be assigned is weapon minimum requirements and some 'arms' or 'attack' value. This is what I'm going for, a universal and intuitive formula that doesn't require ad hoc treatment for different weapons. How does this look? Does it satisfy the issues you guys were bringing up? |
Re: OT: Making a Game System (part 2)
Quote:
And Omni, that looks pretty good so far. Obviously, you can't properly test and refine the math until you finalize other aspects of your system, then you'll need to come back and calculate results to insure that you're getting numbers that actually make balanced sense. I'll admit, I don't remember much of the technical aspect of higher maths. Unfortunately for me, I was always highly intuitive with numbers, and soon after school, I reverted fully to my old ways. ;) I can make numbers do what I want them to do, and I can tell you why they aren't doing something in particular - but I do get lost in all of these means, and natural exponents, and Gompertz curves..... I just hack it out until it works. :p |
Re: OT: Making a Game System (part 2)
Lokean, thanks for running the numbers in my example. I have no idea how you calculated them, but I'm glad that at least some people understand all the math Omnirizon is talking around.
Quote:
I liked the term "arms" better than "weapon", because that could have included the armor you're wearing. Also, if I understood this "moderator" business correctly, the "weapon" side will increase if your strength/dex/skill increase, details depending on the exact weapon. That could work very well. |
Re: OT: Making a Game System (part 2)
That's actually a beautiful mechanic to differentiate between a "finesse" fighter, and a "brute" fighter. Typically this is done with hard-coded gear limitations, but if you just make heavier armors give a stronger penalty to Dex primary weapons (still a small skill penalty to Str based weapons, too), then you give the player the choice of how much of their offensive capability to trade off for higher protection.
|
Re: OT: Making a Game System (part 2)
Omni, you mean logarithm again, not exponent. A logarithm flattens for increasing arguments, which is what you're describing. In this case, since its argument is going to be base statistics, you're not going to get into the problem of negative values.
Now, on to the big point that you really need to decide, for definite, before you continue to generate and refine models. What scale of statistics are you looking at? Not only the best parameters for an equation, but even the best equation, is strongly affected by the range of possible input values. Consider the Gompertz curve that you suggest. You have defined restrictions in the form of an upper asymptote of 1.5 and an intercept of 1, but the Gompertz function is not easily fixed for a specific intercept (The most basic Gompertz function with asymptote 1.5 has intercept 1.5/e = 0.552). One thing I would suggest is that you construct the sigmoid function such that you can adjust the point along the 'shape' of the function which occurs at x=0. By doing this, and incorporating the skill into this parameter of the equation, you can make skilled characters suffer less for lacking physically and benefit more from being stronger and more dexterous than the unskilled fighter. But this depends largely on what possible range of inputs you need the function to be relevant over. The big balancing act is essentially going to be between 'weapons' and 'tactics'. If they use different equations there will always come a point where it is better to be cunning than accomplished, or vice versa. By incorporating skill into the equations in different ways you may make it easier to control balance, by making a more skilled fighter benefit differently than an unskilled fighter. |
Re: OT: Making a Game System (part 2)
1 Attachment(s)
OK!!! I've got a working app written that simulates the model. I've described the model in the app, but I copy-paste it here for you to see.
Please try out the app. It's source code only right now. You will need Python, Pygame, Numpy, and maybe PyObjC to run it. I may later make into a stand-alone executable. Included in the file is a package called "Glyph" that I'm kinda proud of and have GPL licensed. Glyph is a very basic typsetter for use in Pygame. OK, now for the instructions and model: Code:
# This file isn't licensed. However some if its libraries are. See those files for more info. |
Re: OT: Making a Game System (part 2)
Apparently Dominions has already recently been made into a D&D 4e setting... see http://forum.rpg.net/showthread.php?t=426089
|
Re: OT: Making a Game System (part 2)
part 2: game system
there is a very distinct focus on 'power' vs. 'technique' in ALL handheld weapon design and usage. I'm simply finding it impossible to capture this without using a system that gives each weapon two additional values: 'power' and 'technique'. The examples are inumerable, but consider the following two classic ones: 2h-sword v estoc and chinese saber v chinese sword are only two, but these are both weapons which are deliberately compared by both users and weapon historians as 'power' v. 'technique'. However, it is wrong to assume technique = skill just as it is wrong to assume power = strength; power can also be related to skill and technique can be related to intrinsic ability to handle weaponry. The word 'dexterity' is actually defined as a measure of expertise or technique. strength and dexterity, power and technique; these are not things you simply have, nor are they things that are simply trained. we know that there are some people who genetically can get stronger faster, just as there are some people who get more 'technique' faster. we can see then that there is really a strong connection between these 'attributes' and the _way_ we learn things. the game system that most notably has utilized this is EVE, which makes a direct relationship between the rate at which you learn skills, and the rating of the relevant attribute. I like this, but I don't like that the attribute has no other effect; it works OK for EVE in which it can literally take years to master a set of skills, but not for an RPG in which players should see a little more affect. Therefore, my system will have the 'power' and 'technique' weapon parameters. The relationship between the player's attributes and this will be a logit curve of the attribute minus the parameter, multiplied by the parameter; the power parameter of a weapon will be related to strength, and the technique to dexterity. however, a player's skill level is also a logit curve. base skill is x=-5, which is like y=0.01. the effects of str and dex are multiplied by this. therefore, a very strong or dextrious character with no skill facing a weaker, clumsier character with even a little skill may be outmatched. Lastly, each weapon has an 'arms' value. Heavy military weaponry such as the 40 pound polearms may have huge strength requirments, but also have a high arms value. Their is typically a correlation between 'power' and 'arms' value, but not always. However it is hard to escape the fact that military weapons for fighting against heavy armor and horses are very heavy themselves, while civilian and concealable weaponry are typically designed with technique in mind. The logit's constants can be modified to get a desirable curve. they are likely to be flattned a little for str and dex, and even more for the effect of skill on them. it will look a little like this: Code:
y=((logit(str-pwr) * pwr) + (logit(dex-teq) * teq)) * logit(skill) the beautiful thing about this is that ALL skills will use this same system. All skills have some relevant attributes, and the skill level, and they will all use this type of formula to determine applied effect. this means combat is seperated from some kind of level or experience, and is rather just a skill. further, spells will just be skills too. so a spell might involve cognition, or psyche, or spirit, or whatever. but what's more, maybe that spell involves strength too! or dexterity or constitution, and these can be a part of the skill check. the downside is that all these extra parameters have to be assigned, but I think the affect is clear enough and the system simple enough that it should all be very straightforward; and in the end satisfying and elegant. part 3 is on the way |
All times are GMT -4. The time now is 04:31 AM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.