As I was brainstorming at Holly's coffee shop today, I had another thought for feedback.
Before I explain the thought, here's the background. I plan that each class (Mage, Rouge, Fighter, Ranger) will have about twelve to fifteen abilities. It is possible to divide these into three separate groups, and that has worked pretty well for Blizzard. Such a division could be superfluous, but for now imagine it.
The thought concerns how to divide up the abilities of mages and later the warlock/necromancer or otherwise "evil wizard" class.
Grouping for Mage class seem to fall into three, but maybe four? First group is "Enchantment/Charm" which is anything that affects the mental state of enemy of buffs non-living matter. Sleep and confusion obviously belong here. A buff to character INT belongs here. A second group might be "Invocation" which is where all the dramatic energy things like fireballs and lightening bolts come from. A third might be "manipulation" These spells, rather than summoning energy, alter present matter somehow. A spells that hardens skin (and thus buffs armor) or dramatically reduces the temperature of something belong here.
The only things that doesn't fit very well in this scheme are invisibility spells. Or a "mirror image" spell. Basically, spells that deal with light might not fit so squarely into manipulation category.
For the "evil mage" archetype, I think it is much easier. I can think of three categories. The first could be just generically called "Perdition" and that is any destructive spell. A second could be maleficium, which include curses and hexes. The third would be "demon magic" or something that draws power directly from evil spirits.
Either way, I'm happy to say that this game design slowly progresses toward the goal.
Saturday, January 8, 2011
Monday, January 3, 2011
Why Damage types at all?
First, thanks to James and Alexander for commenting in the previous blog. Those kinds of things really keep me going. Don't feel like you have to tell other programmers about this blog, though the more input the better!
Since this blog is still on the subject of damage types and resistances. I have asked for the brainstorming, and I still fail to explain they "why" of the need for damage types. We need damage types because of the need to fulfill the RPG mantra: "Easy to Learn, Difficult to Master."
Please meditate on that while floating in the lotus position. oooohhhmmmmmm..
An example why might help. Let's say that I designed a game that was easy to learn, but not hard to master. In this game, players have hit points, an attack rating, and an armor rating. Higher numbers are better. Charter A has "10 Attack" "12 Armor" and 50 hp. Character B has exactly the same. There are no other imbalancing variables or hidden knowledge from the players in the game. This is going to be rather boring duel. I might as well flip a coin to see who wins.
The player who controls character A is getting an edge on this easy to learn, easy to master game. He increase his attack to 13. Now he wins most fights. This means he has just mastered the game. The only other thing another character can do is either increase his armor or his attack. This game is now mastered, and it is also boring. This is pretty much how Castle Age feels, if you have ever played that game.
How can this made a little bit more difficult to master? By adding imbalancing forces, specifically damage types and resistances. Lets say that Character A and Character B are fighting again. This time, however, Character A is using electrical damage. Character B is wearing metal armor. Electrical damage will do extra damage to metal armor, thus exploiting a weakness. Character B could go into fights with leather armor instead, but that would lower his overall armor rating. Players then would face a challenge of what armor they wanted to wear and what kind of attacks they wanted to use.
Notice, that emphasis here is not on a complete, rigid, realism. If realism was the focus, than all players would die in a single fireball. They would all be crippled by a single arrow, they would all most likely die after getting hit only two or three times. Could such a game make a great RPG in which players develop their characters over long periods of time? Where they fight battles that last several rounds? Not entirely.
Now, there is certainly room for realism. I am not sure how much though. Think about every RPG that you have played. What was the level of realism in it? Obviously, there is such a thing as being completely over-the-top, but do you generally find that RPG game mechanics are concentrating on how realistic the battles and damage mechanics are? This is an open question. I am an RPG veteran, but I have by no means been playing them over the last few years.
Why not add a few damage types now?
Since this blog is still on the subject of damage types and resistances. I have asked for the brainstorming, and I still fail to explain they "why" of the need for damage types. We need damage types because of the need to fulfill the RPG mantra: "Easy to Learn, Difficult to Master."
Please meditate on that while floating in the lotus position. oooohhhmmmmmm..
An example why might help. Let's say that I designed a game that was easy to learn, but not hard to master. In this game, players have hit points, an attack rating, and an armor rating. Higher numbers are better. Charter A has "10 Attack" "12 Armor" and 50 hp. Character B has exactly the same. There are no other imbalancing variables or hidden knowledge from the players in the game. This is going to be rather boring duel. I might as well flip a coin to see who wins.
The player who controls character A is getting an edge on this easy to learn, easy to master game. He increase his attack to 13. Now he wins most fights. This means he has just mastered the game. The only other thing another character can do is either increase his armor or his attack. This game is now mastered, and it is also boring. This is pretty much how Castle Age feels, if you have ever played that game.
How can this made a little bit more difficult to master? By adding imbalancing forces, specifically damage types and resistances. Lets say that Character A and Character B are fighting again. This time, however, Character A is using electrical damage. Character B is wearing metal armor. Electrical damage will do extra damage to metal armor, thus exploiting a weakness. Character B could go into fights with leather armor instead, but that would lower his overall armor rating. Players then would face a challenge of what armor they wanted to wear and what kind of attacks they wanted to use.
Notice, that emphasis here is not on a complete, rigid, realism. If realism was the focus, than all players would die in a single fireball. They would all be crippled by a single arrow, they would all most likely die after getting hit only two or three times. Could such a game make a great RPG in which players develop their characters over long periods of time? Where they fight battles that last several rounds? Not entirely.
Now, there is certainly room for realism. I am not sure how much though. Think about every RPG that you have played. What was the level of realism in it? Obviously, there is such a thing as being completely over-the-top, but do you generally find that RPG game mechanics are concentrating on how realistic the battles and damage mechanics are? This is an open question. I am an RPG veteran, but I have by no means been playing them over the last few years.
Why not add a few damage types now?
Saturday, December 25, 2010
Please, you offer damage types!
One thing that is great about books like The Artist's Way
is that it teaches you to shut off the left brain and let the right brain run free. That is what imaginative brainstorming is. It is only after you have done all the imaginative brainstorming that it makes sense to turn on the left brain that will judge the work you spit out on paper.
What needs to be imagined now is every type of damage in a fantasy role-playing setting. Sure, many of much I am about to list could be condensed, simplified, and cut down. However, that's what you do after you list all the brainstorming. In fact, if you have any more suggestions, go ahead and mention them. If you think anything on this list should be collapsed, eliminated, or simplified, you can mention that too.
Here goes:
Damage from weapons can be divided into piercing, slashing, and bludgeoning.
Damage can also be divided up by four elements, such as Earth, Fire, Wind, and Water.
Magical Damage can be divided up into Arcane, Shadow, Necromantic, Electric, and Frost
Other types of damage could be Biological, Acidic, Poison, or the broad Nature
Finally, there is always Holy damage.
Now, I already think that many of these can be collapsed. Some can be gotten rid of. However, every conceivable type of damage should be covered and then people can turn on the left brains and cut things out.
Please, tell me what you think of the list and add, remove, adjust etc as you see fit because that is an important step before listing off abilities of characters.
What needs to be imagined now is every type of damage in a fantasy role-playing setting. Sure, many of much I am about to list could be condensed, simplified, and cut down. However, that's what you do after you list all the brainstorming. In fact, if you have any more suggestions, go ahead and mention them. If you think anything on this list should be collapsed, eliminated, or simplified, you can mention that too.
Here goes:
Damage from weapons can be divided into piercing, slashing, and bludgeoning.
Damage can also be divided up by four elements, such as Earth, Fire, Wind, and Water.
Magical Damage can be divided up into Arcane, Shadow, Necromantic, Electric, and Frost
Other types of damage could be Biological, Acidic, Poison, or the broad Nature
Finally, there is always Holy damage.
Now, I already think that many of these can be collapsed. Some can be gotten rid of. However, every conceivable type of damage should be covered and then people can turn on the left brains and cut things out.
Please, tell me what you think of the list and add, remove, adjust etc as you see fit because that is an important step before listing off abilities of characters.
Sunday, December 19, 2010
Not feeling so well and not abandoning the game.
There is nothing more lame than a blogger who whines about not posting, but nonetheless I feel I should explain why I have not updated this blog.
The first and foremost reason was NaNoWriMo. I knew that this project was going to take a back seat, but I did not mention it here. Which I really wish I would have.
Secondly, was been my move and settling into a job and new country. This has not been an easy task.
Finally, there has been all the work I've been doing offline for this project. There has been no shortage of brainstorming going on in my spare time, nor mapping out of all the things I will eventually put together for the game BCP.
The answer to many questions is no, I have not and I will not abandon or forget about this project. Even if I decide to abandon this blog, there is no doubt that I will get the BCP going. Simply put, the creation of a facebook game is still something that I get very excited about. It is very encouraging to remember that the earliest video games began with guys in college who had full time schedules. I have a part time work schedule. Therefore, there is really no way that this can't get done.
I still look forward to reaping the financial benefits of this game in the distant future. I have found an English bookstore in the area that will allow me order books -like things on interface design- soon.
Until then, I am at the point in which I am designing character abilities.
Keep you all posted.
The first and foremost reason was NaNoWriMo. I knew that this project was going to take a back seat, but I did not mention it here. Which I really wish I would have.
Secondly, was been my move and settling into a job and new country. This has not been an easy task.
Finally, there has been all the work I've been doing offline for this project. There has been no shortage of brainstorming going on in my spare time, nor mapping out of all the things I will eventually put together for the game BCP.
The answer to many questions is no, I have not and I will not abandon or forget about this project. Even if I decide to abandon this blog, there is no doubt that I will get the BCP going. Simply put, the creation of a facebook game is still something that I get very excited about. It is very encouraging to remember that the earliest video games began with guys in college who had full time schedules. I have a part time work schedule. Therefore, there is really no way that this can't get done.
I still look forward to reaping the financial benefits of this game in the distant future. I have found an English bookstore in the area that will allow me order books -like things on interface design- soon.
Until then, I am at the point in which I am designing character abilities.
Keep you all posted.
Saturday, November 6, 2010
It has been to long: Chance to hit formulas
I realize that I have not been keeping up with updating this blog. A big part of that is that I am doing NaNoWriMo this months and the pages upon pages of writing have been going into that. Also, I have realized that what I really need to do is less public brainstorming and more privately designed and complete document so that I can put together some instructions for a BCP.
I have however created chance to hit formulas. This chance to hit formula will calculate both the chance to hit and the amount of damage "absorbed" by armor in one roll.
Some back ground first. Characters will have two relevant attributes when it comes to hitting and dealing damage. One attribute will be the damage multiplier and the other will be the attribute that affects the attack rating. The attack rating itself will be mathematically derived number that affects the chance to hit. What affects each of these will depend on the weapon used or the type of spell:
As mentioned in another blog the amount of damage is simply the base damage of weapon/spell (1-4 points) multiplied by the attribute. So if a character is striking with "rusty dagger" (1-2 base points) and has a STR of 9, then the range of damage is 9-18.
Now, the attack rating is also depended on an attribute. I don't know how that will be derived yet. I do think the average attack rating for a level one character should be about 10 and should double every ten levels, just like armor. Note, that I'm tied to the number 10, it can be 100 at level one, just as long as it doubles about every 10 levels. Additionally, the attack rating should be approximently equal to the average "heavy leather" armor rating. This is the second highest armor rating, with metal armor, on average, exceeding attack ratings.
If anyone has any ideas, please let me know.
The actual formula works like this. In order for a character to hit, there must be calculated a "full hit minimum" (FHM) number. The number will be within the range of 0-100, although it can exceed 100 in certain circumstances. It will be calculated according to this formula:
If the defender and attacker have equivalent levels, and the attack rating and armor rating are the same, than the FHM == 80. Compare that to a random number 1-100. If the random number >= 80, than calculate full damage (base damage * damage multiplier.
Note, this is a pretty high bar. An attacker fighting an evenly matched defender, the attacker will deal full damage only 1 out of every 5 strikes. However, this is Full hit minimum. If the attacker is below the mininum he will not deal no damage, but will deal less damage:
So in combat between evenly matched characters, damage will be dealt to the defender about 60 percent of time (excluding calculations for evasion/blocking), and most of those hits will not be full 100% damage. In this way, the comparison between the armor rating and attack rating will cover both chance to hit and damage absorbed by armor. There will be no need have a separate formula for damage absorption.
An important question at this point is will players like hiting only 60% of the time, or will this generate more frustration than challenge? How often should players expect to hit an evenly matched opponent?
I plan to soon make a flow chart that will include evasion, block, critical hit, and so forth. Assuming that programmers like flow charts. :-)
I have however created chance to hit formulas. This chance to hit formula will calculate both the chance to hit and the amount of damage "absorbed" by armor in one roll.
Some back ground first. Characters will have two relevant attributes when it comes to hitting and dealing damage. One attribute will be the damage multiplier and the other will be the attribute that affects the attack rating. The attack rating itself will be mathematically derived number that affects the chance to hit. What affects each of these will depend on the weapon used or the type of spell:
Projectile Spell = INT(attack rating); WIL(damage multiplier)
Mellee Weapon = DEX(attack rating); STR(Damage multiplier)
Ranged Weapon = DEX (attack rating): PRC(Damage Multiplier)
As mentioned in another blog the amount of damage is simply the base damage of weapon/spell (1-4 points) multiplied by the attribute. So if a character is striking with "rusty dagger" (1-2 base points) and has a STR of 9, then the range of damage is 9-18.
Now, the attack rating is also depended on an attribute. I don't know how that will be derived yet. I do think the average attack rating for a level one character should be about 10 and should double every ten levels, just like armor. Note, that I'm tied to the number 10, it can be 100 at level one, just as long as it doubles about every 10 levels. Additionally, the attack rating should be approximently equal to the average "heavy leather" armor rating. This is the second highest armor rating, with metal armor, on average, exceeding attack ratings.
If anyone has any ideas, please let me know.
The actual formula works like this. In order for a character to hit, there must be calculated a "full hit minimum" (FHM) number. The number will be within the range of 0-100, although it can exceed 100 in certain circumstances. It will be calculated according to this formula:
FHM == {[0.8a + (a-d) + (la-ld)]/a} * 100
a = attack rating
d = defender's armor
l = level of attacker and defender
If the defender and attacker have equivalent levels, and the attack rating and armor rating are the same, than the FHM == 80. Compare that to a random number 1-100. If the random number >= 80, than calculate full damage (base damage * damage multiplier.
Note, this is a pretty high bar. An attacker fighting an evenly matched defender, the attacker will deal full damage only 1 out of every 5 strikes. However, this is Full hit minimum. If the attacker is below the mininum he will not deal no damage, but will deal less damage:
If RND(1-100) is less than FHM by .1-10.0 then calculated damage * 80% ("partial hit")
If RND(1-100) is less than FHM by 10.1-20.0 then calculated damage * 60% ("weak hit")
If RND(1-100) is less than FHM by 20.1-30.0 then calculated damage * 40% ("glancing blow")
If RND(1-100) is less than FHM by 30.1-40.0 then calculate damage * 20% ("near miss")
If RND(1-100) is less than FHM by 40.1 or or more then calculate no damage ("complete miss")
So in combat between evenly matched characters, damage will be dealt to the defender about 60 percent of time (excluding calculations for evasion/blocking), and most of those hits will not be full 100% damage. In this way, the comparison between the armor rating and attack rating will cover both chance to hit and damage absorbed by armor. There will be no need have a separate formula for damage absorption.
An important question at this point is will players like hiting only 60% of the time, or will this generate more frustration than challenge? How often should players expect to hit an evenly matched opponent?
I plan to soon make a flow chart that will include evasion, block, critical hit, and so forth. Assuming that programmers like flow charts. :-)
Saturday, October 23, 2010
On the Prototype to be programmed
Once again, I think back to the blogs I have been writing and I realize that I am not the best communicator. The last couple blogs are like sketches of tiny pieces of a great technical schematic, with little mention of what the schematic is for. This blog is attempt to remedy that. To give some kind of goal to what all those little sketches are for. For the programmers, after reading this, all of you can mention off a complete, ideal, and clear list of details that you need before you start programming.
The very first thing to be programmed, tested, and got "right" is a basic combat protype. The goal of this is to get the heart of the game fluid, balanced, workable. This is where players will be spending most of their time. When we get this part right, a solid third of the work on the game will be complete.
GUIThe Basic Combat Prototype needs a very limited GUI. The GUI will be for testers to create and customize characters. There will need to be a character creation screen, and a combat screen. In the character creation testers can 1)set levels, class and race. 2)set the fab-five attributes 3)set armor/weapons appropriate to their level. Experience points are not needed for the basic combat prototype. In the combat screen, the testers will be able to see 1)their character's mana, health, attack and def ratings. 2)the same for their opponents. 3) Buffs and de-buffs on all characters. 4) a way to pick what actions the characters will do during the round of combat. 5) color coded text, at the end of combat, indicated combat resolution.
Remember, combat in this game is entirely turned based. Just like the squaresoft games. The important difference is that no selected action resolves until all characters have chosen an action for a particular round.
Classes The details of each class are yet to be determined. For the sake of the BCP, we will create Fighters, Rangers, Rouges, and Mages. The classes will relate to each other in rock-paper-scissors relationship. Fighters will have the advantage against Rangers, Rangers against Rouges, Rouges against mages, and mages against fighters.
Priests will be excluded for now since healing is an imbalancing force. Hybrid classes (Druid, Paladin etc) will also be introduced later.
Vanilla Abilities/Calcualtions. There will, of course, be vanilla abilities that are needed in combat. Here they are: Damage(melee weapon), chance to hit/crit(melee weapon), initiative, damage(ranged weapon), chance to hit/crit(ranged weapon), damage(spell), chance to hit/crit(spell), chance to evade, chance to block
How all of this is determined is the subject of another blog.
Special abilities These are the class specific abilities like a wizard spell or a heavy strike with a weapon. All of this will be determined later. These abilities are important because they will help determine how the classes have advantages on each other.
Weapons and Armor Levels will limit what types of weapons characters can use. Like wise with weapons. Armor will be classified as cloth, light leather, heavy leather, and metal. Armor will have a numerical rating. When the rating is compared in a ratio of cloth : light leather : heavy leather : metal will be 1 : 1.5 : 2 : 3. For instance, if a level 1 wizard has armor that gives him a rating of ~10, than a warrior (wearing metal) will have armor rating of ~30. Higher levels will have access to stronger and strong armor, but the rating will always be in the same ratio. Armor will affect 1)chance to hit, 2)damage absorbed.
Weapons will be much easier. Thing of D&D 2.0 rules. All weapons have damage, speed, and type. we don't even need to worry about type of damage. All we need to list is that "Long sword deals 1-8 base points of damage." The base is multiplied by a character attribute. This will be discussed in another blog.
Initiative This is probably the most tricky part of the Basic Combat Prototype. Initiative will *not* determine what order a player chooses what he will do in a around. Rather initiative will determine a chain of events that resolve at the end of a round of combat.
Initiative will be first decided by a random roll between 1-20. Higher numbers, mean that the character's actions resolve first. Weapon speeds subtract numbers. Casting time subtract numbers. Speed potions add numbers. Magical buffs add numbers. Here's an example of how it works:
GoodRouge1, GoodFighter1 and Goodfighter2 are in a battle with Evilmage1 Evilmage2 and Evilranger1. All characters choose actions:
Now that every has chosen their action, initiative is decided. The order is based on random rolls, weapon speeds, and casting times. After the rolls are decided, the order looks like this:
Each step fully resolve before the rest of the chain. So GoodFighter1 -> Cast KnockOutPunch(EvilRanger1) resolves first. The Knock Out punch suceeds. The ranger is now unconsious for x rounds, and his actions this round are negated. The order now looks like this:
Evilmage1 now cast frost bolt. It succeeds. Frost bolt does damage, and addition subtracts from all initiate rolls. In this case, the subtraction from initiative rolls. In this case, the subtraction from Goodfighter2's roll is enough that his original roll is now lower Evilmage2's roll, but still higher than Goodrouge1's roll. The new order looks like this.
Evilmage2 casts PoisonCloud. The Rouge happens to have an item that makes him immune to poison. It fails. The next order looks like this.
You can see how this goes on and on. Now, the players will never actually see all this text as the chain resolves. That is just for the computer to work out for programmers to conceptually understand. Instead, they will only see the final result at the end of the round. The final output of this round of combat will look like this:
The numbers for damage here are arbitrarily chosen, as this example was only meant to show how end-of-round combat resolution works with initiative. After this output, the players will again choose what their characters will do.
Fluidity One of the most important things in BCP is a sense of fluidity. Have you ever played a game where your character's NEVER hit their targets, and combat moves at a slow pace? That's annoying. Players need to feel that they are getting somewhere in combat, espeically PvP combat. Thus, no matter what kind of math we do to come to calculate formulas, the following things should be true between evenly matched characters.
1. Two evenly matched fighters should land hits against each other approx 60% of the time. Before armor de-buffs are considered.
2. A mage, when casting spells that have a chance to hit, (Frostbolts, fire bolts, magic missles) should hit evenly matched warriors approx 60% of the time, before armor de-buffs are considered.
3. Stealthed Rouges should have only a 10% chance getting spotted by a opposing character if the rouge's DEX matches the opposing character's PRC and they are of equivalent level.
4. Spells that do not use chance to hit (spells that do not act like thrown projectiles, such as a sleep or fear spell) should only be resisted approx 10% of the time among evenly matched characters.
5. Dueling between two evenly matched characters should not last aprrox 5-9 rounds, before healing is considered.
Wow. This turned out a lot longer than I expected. My hope is that all of you reading this will have a better understanding of what I am going for. I really want to give anyone who writes the program of this exactly what they need in order to understand how this program will be developed.
The Basic Combat Prototype will eventually be used to test, tweak, and just balance in the game. Before that happens though, I ask anyone to email me a list of things they need in order to write an algorithm, and eventually a program, that can run this.
This is goal of everything else posted in the blog for now. Lots of brainstorming and such will have to take place, and lots of feedback from programmers is needed before I can write up a final document.
The very first thing to be programmed, tested, and got "right" is a basic combat protype. The goal of this is to get the heart of the game fluid, balanced, workable. This is where players will be spending most of their time. When we get this part right, a solid third of the work on the game will be complete.
GUIThe Basic Combat Prototype needs a very limited GUI. The GUI will be for testers to create and customize characters. There will need to be a character creation screen, and a combat screen. In the character creation testers can 1)set levels, class and race. 2)set the fab-five attributes 3)set armor/weapons appropriate to their level. Experience points are not needed for the basic combat prototype. In the combat screen, the testers will be able to see 1)their character's mana, health, attack and def ratings. 2)the same for their opponents. 3) Buffs and de-buffs on all characters. 4) a way to pick what actions the characters will do during the round of combat. 5) color coded text, at the end of combat, indicated combat resolution.
Remember, combat in this game is entirely turned based. Just like the squaresoft games. The important difference is that no selected action resolves until all characters have chosen an action for a particular round.
Classes The details of each class are yet to be determined. For the sake of the BCP, we will create Fighters, Rangers, Rouges, and Mages. The classes will relate to each other in rock-paper-scissors relationship. Fighters will have the advantage against Rangers, Rangers against Rouges, Rouges against mages, and mages against fighters.
Priests will be excluded for now since healing is an imbalancing force. Hybrid classes (Druid, Paladin etc) will also be introduced later.
Vanilla Abilities/Calcualtions. There will, of course, be vanilla abilities that are needed in combat. Here they are: Damage(melee weapon), chance to hit/crit(melee weapon), initiative, damage(ranged weapon), chance to hit/crit(ranged weapon), damage(spell), chance to hit/crit(spell), chance to evade, chance to block
How all of this is determined is the subject of another blog.
Special abilities These are the class specific abilities like a wizard spell or a heavy strike with a weapon. All of this will be determined later. These abilities are important because they will help determine how the classes have advantages on each other.
Weapons and Armor Levels will limit what types of weapons characters can use. Like wise with weapons. Armor will be classified as cloth, light leather, heavy leather, and metal. Armor will have a numerical rating. When the rating is compared in a ratio of cloth : light leather : heavy leather : metal will be 1 : 1.5 : 2 : 3. For instance, if a level 1 wizard has armor that gives him a rating of ~10, than a warrior (wearing metal) will have armor rating of ~30. Higher levels will have access to stronger and strong armor, but the rating will always be in the same ratio. Armor will affect 1)chance to hit, 2)damage absorbed.
Weapons will be much easier. Thing of D&D 2.0 rules. All weapons have damage, speed, and type. we don't even need to worry about type of damage. All we need to list is that "Long sword deals 1-8 base points of damage." The base is multiplied by a character attribute. This will be discussed in another blog.
Initiative This is probably the most tricky part of the Basic Combat Prototype. Initiative will *not* determine what order a player chooses what he will do in a around. Rather initiative will determine a chain of events that resolve at the end of a round of combat.
Initiative will be first decided by a random roll between 1-20. Higher numbers, mean that the character's actions resolve first. Weapon speeds subtract numbers. Casting time subtract numbers. Speed potions add numbers. Magical buffs add numbers. Here's an example of how it works:
GoodRouge1, GoodFighter1 and Goodfighter2 are in a battle with Evilmage1 Evilmage2 and Evilranger1. All characters choose actions:
Goodrouge1 -> Attack(Evilmage2)
GoodFighter1 -> Cast KnockOutPunch(EvilRanger1)
GoodFighter2 -> Attack(EvilMage2)
EvilMage1 -> Cast FrostBolt(Goodfigther2)
EvilMage2 -> Cast PoisonCloud(GoodRouge1)
EvilRanger1 -> Attack(Goodfighter2)
Now that every has chosen their action, initiative is decided. The order is based on random rolls, weapon speeds, and casting times. After the rolls are decided, the order looks like this:
1. GoodFighter1 -> Cast KnockOutPunch(EvilRanger1)
2. EvilMage1 -> Cast FrostBolt(Goodfigther2)
3. EvilRanger1 -> Attack(Goodfighter2)
4. GoodFighter2 -> Attack(EvilMage2)
5. Evil Mage 2 -> Cast PoisonCloud(GoodRouge1)
6. Goodrouge1 -> Attack(Evilmage2)
Each step fully resolve before the rest of the chain. So GoodFighter1 -> Cast KnockOutPunch(EvilRanger1) resolves first. The Knock Out punch suceeds. The ranger is now unconsious for x rounds, and his actions this round are negated. The order now looks like this:
1. GoodFighter1 -> Cast KnockOutPunch(EvilRanger1)(Resolved)
2. EvilMage1 -> Cast FrostBolt(Goodfigther2)
3.EvilRanger1 -> Attack(Goodfighter2)(negated)
4. GoodFighter2 -> Attack(EvilMage2)
5. EvilMage2 -> Cast PoisonCloud(GoodRouge1)
6. Goodrouge1 -> Attack(Evilmage2)
Evilmage1 now cast frost bolt. It succeeds. Frost bolt does damage, and addition subtracts from all initiate rolls. In this case, the subtraction from initiative rolls. In this case, the subtraction from Goodfighter2's roll is enough that his original roll is now lower Evilmage2's roll, but still higher than Goodrouge1's roll. The new order looks like this.
1. GoodFighter1 -> Cast KnockOutPunch(EvilRanger1)(Resolved)
2.EvilMage1 -> Cast FrostBolt(Goodfigther2)(Resolved)
3.EvilRanger1 -> Attack(Goodfighter2)(negated)
4. EvilMage2 -> Cast PoisonCloud(GoodRouge1)
5. GoodFighter2 -> Attack(EvilMage2)
6. Goodrouge1 -> Attack(Evilmage2)
Evilmage2 casts PoisonCloud. The Rouge happens to have an item that makes him immune to poison. It fails. The next order looks like this.
1. GoodFighter1 -> Cast KnockOutPunch(EvilRanger1)(Resolved)
2.EvilMage1 -> Cast FrostBolt(Goodfigther2)(Resolved)
3.EvilRanger1 -> Attack(Goodfighter2)(negated)
4.EvilMage2 -> Cast PoisonCloud(GoodRouge1)(resolved)
5. GoodFighter2 -> Attack(EvilMage2)
6. Goodrouge1 -> Attack(Evilmage2)
You can see how this goes on and on. Now, the players will never actually see all this text as the chain resolves. That is just for the computer to work out for programmers to conceptually understand. Instead, they will only see the final result at the end of the round. The final output of this round of combat will look like this:
Goodfighter1 knocks out Evilranger1! for 233pts of damage
Evilmage1 fires Frostbolt at Goodfighter2 for 140pts of frost damage.
Evilranger1 is unconscious.
Evilmage2 casts Poison Cloud on EvilRouge1! Target is immune!
GoodFighter2 attacks EvilMage2 for 430pts of damage!
Goodrouge1 attacks evilmage1 for 230pts of damage!
The numbers for damage here are arbitrarily chosen, as this example was only meant to show how end-of-round combat resolution works with initiative. After this output, the players will again choose what their characters will do.
Fluidity One of the most important things in BCP is a sense of fluidity. Have you ever played a game where your character's NEVER hit their targets, and combat moves at a slow pace? That's annoying. Players need to feel that they are getting somewhere in combat, espeically PvP combat. Thus, no matter what kind of math we do to come to calculate formulas, the following things should be true between evenly matched characters.
1. Two evenly matched fighters should land hits against each other approx 60% of the time. Before armor de-buffs are considered.
2. A mage, when casting spells that have a chance to hit, (Frostbolts, fire bolts, magic missles) should hit evenly matched warriors approx 60% of the time, before armor de-buffs are considered.
3. Stealthed Rouges should have only a 10% chance getting spotted by a opposing character if the rouge's DEX matches the opposing character's PRC and they are of equivalent level.
4. Spells that do not use chance to hit (spells that do not act like thrown projectiles, such as a sleep or fear spell) should only be resisted approx 10% of the time among evenly matched characters.
5. Dueling between two evenly matched characters should not last aprrox 5-9 rounds, before healing is considered.
Wow. This turned out a lot longer than I expected. My hope is that all of you reading this will have a better understanding of what I am going for. I really want to give anyone who writes the program of this exactly what they need in order to understand how this program will be developed.
The Basic Combat Prototype will eventually be used to test, tweak, and just balance in the game. Before that happens though, I ask anyone to email me a list of things they need in order to write an algorithm, and eventually a program, that can run this.
This is goal of everything else posted in the blog for now. Lots of brainstorming and such will have to take place, and lots of feedback from programmers is needed before I can write up a final document.
Sunday, October 17, 2010
On Zynga's success,
I've read a few articles on Zynga's success that I think are worth sharing. For those of you who don't know (which is probably not many of you) Zynga is the big dog of big dogs when it comes to facebook games. They are the ones who gave the world Mafia Wars, Vampire Wars, and Farmville. This article covers the greatness and challenges that are Zynga.
Thus is given to us the potential greatness and expected obstacles.
According to this article, Zynga's April 2010 revenue was 50 Million. This is good news for anyone creating a facebook game. Because, while the industry is "block buster driven" most of us will be satisfied if we ever become one tenth of one percent as good as Zynga is. That would be 50 thousand in one month, by the way.
The article is a bit dated, but it is here for your enlightenment.
There is one other article. Such as the complicated relationship between Zynga and Facebook, which can be found here. Facebook, is moving over to facebook credits. This might a be a huge adjustment for facebook gamers.
I invite everyone's thoughts. Specifically, if you were to monetize a facebook, how comfortable are you with "facebook credits" and what would you need to know? Furthermore, on a shoe-string budget, how do you think a game might be promoted?
Of course, one need only really imitate the masters. However, there is always room for improvement.
Thus is given to us the potential greatness and expected obstacles.
According to this article, Zynga's April 2010 revenue was 50 Million. This is good news for anyone creating a facebook game. Because, while the industry is "block buster driven" most of us will be satisfied if we ever become one tenth of one percent as good as Zynga is. That would be 50 thousand in one month, by the way.
The article is a bit dated, but it is here for your enlightenment.
Zynga creates, launches, and manages games better than any other company. Games are a hit-driven business and have become more like Hollywood blockbusters in their heavy development costs and large marketing budgets. It is not inconceivable for EA to spend many years and $100 million to create and market a new game.
Zynga does this at a fraction of the time and cost. For example, the company took just 5 months and 25 people to launch CafĂ© World, which now boasts close to 30 million players. The company did this for likely under $10 million in development and $20 million – $30 million in marketing. So it has both a development and marketing cost advantage over EA and other traditional gaming companies.
There is one other article. Such as the complicated relationship between Zynga and Facebook, which can be found here. Facebook, is moving over to facebook credits. This might a be a huge adjustment for facebook gamers.
Facebook could force Zynga to adjust its math. More than 90% of the company's revenues come from users converting real cash into proprietary virtual currency. FarmVille, for example, has Farm Coins. Say you buy a tractor for 5,000 Farm Coins, which equals about $3.30. Typically the company pays less than 10% of that to a third-party transaction handler such as PayPal and keeps the rest. (In March, PayPal said Zynga was its second-largest merchant after eBay.)
Facebook is testing a service called Facebook Credits that would offer a single virtual currency for use on many different apps. If the social network forces app makers to use Facebook Credits, as some developers expect will happen this year, Zynga would have to pay the company up to 30% of every transaction. "If Credits become pervasive, I don't think Pincus can stop it. It's going to hit the margin," says Peter Relan, executive chairman of CrowdStar, one of Zynga's many competitors.
I invite everyone's thoughts. Specifically, if you were to monetize a facebook, how comfortable are you with "facebook credits" and what would you need to know? Furthermore, on a shoe-string budget, how do you think a game might be promoted?
Of course, one need only really imitate the masters. However, there is always room for improvement.
Subscribe to:
Posts (Atom)