So, in the last part, I discussed this problem:
Adding Elemental type resistance to various monsters brings about a host of design issues:
1. Elements can become too strong or too weak, depending on how monsters are designed.
2. Elements have the danger of being too 'alike.' Imagine having 8 different colored fireballs that do the same thing.
3. Elements might encourage laziness in design (Fire Beetle! Ice Beetle! Lightning Beetle!)
4. Tediousness inventory management on the part of the player, juggling around weapons with a ton of different elemental types just because he needs (or wants) to do more damage.
5. Critical difficulty jump if the player doesn't have the element he needs or if he is stuck with the 'incorrect' element. (Fire specialized mage encountering a fire elemental. Whoops.)
But what disturbs me most, personally, (and this is a personal view..) is that..
The common view to 'fix' these problems is to simply be a better designer.
Which I find it, while true, seems to be very very micro-intensive.
I touched upon this in the last post: You could solve each of these issues, simply by spending more time on each individual issue or being careful and methodical throughout design and sweating the small stuff.
But what are the chances you are a god-like designer and that you can solve each of the issues? What are the chances you have the time to spare on tweaking the small things? Not to mention that the smaller solutions mentioned (like carefully balancing monster elemental resistance values, etc.) add incredible complexity to adding new content.
But what can we do about it?
Make all design as global as possible. Global changes are changes in the inherent nature of the game. Global changes are changes to the very system you play it. Therefore, if you push your work to the GLOBAL system at large, your design cost is minimized.
Let's go with an easy example:
Let's say we have all the traditional elements in Dungeons and Dragons: Fire, Ice, Lightning, Holy, Darkness, Poison, Sonic, Slashing, Blunt, Piercing.
There is no way in hell I'm going to find a weapon of each type, let alone be bothered to sort through my inventory to search for each weapon type. There's also no way I'm going to even remember what monsters are weak to what, because that's not really a reasonable expectation for anyone to recall.
However, what if we had fewer element types? Physical, Energy, Fire, Ice, Poison?
Then, it'd be a lot easier to remember if monsters are weak to a certain element or another. A player could reasonably expect to cover at least some of the elemental types. In additional, certain problems later on become easier to manage. The problem of making 12 different elements seem different is a lot harder than the problem of making 5 different elements seem different.
This condensing of element space brings about a lot of benefits, while still keeping a lot of the core benefits intact.
1. It helps avoid making the elements appear to similar because there are fewer of them.
2. The condensing cuts down on inventory juggling because there are simply less elements to juggle around.
3. It cuts down on what the player has to remember so that the player will actually take notice to the system itself as a whole.
4. It cuts down the designer space and lets him focus on more important parts of design.
Let's go with a harder example:
Let's say you have a monster who you want to be weak to fire. Let's say I'm designing a monster and I could choose exactly how much more damage he takes from fire. Do I want him to take 80% more fire damage? 20% more fire damage? 45% more fire damage? Will it even matter in the end?
On the other hand, you could simply have a fast and hard global rule: All monsters weak to fire take 50% more fire damage. All monsters strong to fire take 50% less fire damage. Period. Thereafter, designers would only have to think about 'Do I want this monster to take more or less damage from fire? Yes? No?'
And additionally, you would skirt the issue of making the easy design mistake of having a monster be a complete cakewalk if you have a fire attack, and significantly harder if you don't because your weakness value doesn't go that high.
In this example, we have compacted the range of values that resistances can have. A monster's weakness or penalty/strength to damage could only fall under a few categories:
Immune to fire. (0%, optional)
Strong against fire. (50%)
Neutral against fire. (100%)
Weak against fire. (150%)
Really weak against fire. (200%, optional)
What are the implications of this change?
1. It forces the designer to think about their design on a slightly higher level.
The designer has to think harder about what weakness/resistances a monster should have. He can't take the easy way out and assign a small weakness vs. fire, because small weaknesses to fire don't exist.
There is a golden mean fallacy that states that the most tempting solution will be the median between two desires. In this case, the designer can't decide whether or not a monster should have 0% fire weakness or 50% fire weakness. The answer he'll most likely gravitate to is 25%, the mean between the two as some form of compromise. However, this is most likely the worst solution for this as the fire weakness does too little to differentiate it, nor does it reward the player very much for having the appropriate element. It just adds more tweaking that was unnecessary nor very helpful.
2. The impact of weaknesses and strengths can be well known.
Elements never lose their impact in the game. They always have an impact. The elements will never feel pointless because using the correct or incorrect element does a dramatic amount of difference. Additionally, the player knows the upper bound of how using the correct/incorrect element will do and that can influence his decisions.
In addition, you know exactly how easy or hard a given area is. Either the player will have the incorrect element and do half damage, or he will have the correct element and do double damage. Either way, the difficulty creep is known ahead of time and the area can be designed with that in mind.
3. Less time can be spent on 'tweaking' small things.
The designer doesn't have to tweak resistance values. They have to care about the actual area design. Less time thrashing on number fiddling means more *actual* design work is done.
Let's go with another example:
I have an ice bolt spell. I have a fire bolt spell. I have a lightning bolt spell. They all do the same thing. Deal damage based on element type. Boring.
Well, okay, I can tweak every fire spell to do a high amount of damage. And I can make all the lightning bolt spells do even higher potential damage, but a lower minimum damage. I can make all the ice spells do less damage but have a cold effect or a freeze effect of varying lengths.
Wait. Now I have to add another fire spell? Well.. I can make it do more damage.. or..
Contrast that with...
Let's think of a set of abilities all fire element things should do:
Damage over Time burn based on initial damage dealt (DoT)
Leave a lasting burn on nearby terrain, like a flaming wall effect, that burns based on the fire damage it would deal (Area Burn)
Explode in some way shape or form to affect more than one target (Explode)
Now every time I have to add a fire effect, I can assign it one of these properties. I could assign all three of them if I wished, but I will no longer have to tweak individual spell effects, instead, all I would have to do is mark an attack as: Fire, Area Burn, Explode.
By making sure that every fire ability has one or more abilities from that set of abilities and ensuring that every element which isn't fire doesn't have the same ability...
I admit, this example is pretty darned convoluted even for me. But my point is: Design a global set of attributes that can be selectively assigned to a skill, rather than tweak each individual skill.
Say we came up with a large series of effects, like so:
Fire: Damage over time, Area Burn, Explosion
Cold: Slow Effect (50%), Frozen (100%), Immobilized (0% Move), Pierce (Goes through targets)
Energy: Stun (Varying Length), Knockback, Arcs (Jumps from target to target)
Poison: Debuffs Attack/Defense, Damage over Time, Gaseous Area Effect..
And then when we designed individual skills, we ensured that all elemental spells of that element had one property of these effects. What does this achieve?
1. It separates interesting effects from the actual source/skill (Less tweaking!)
That is, a skill doesn't have to be designed with AreaAa Burn in mind. Area Burn is a template that can be applied to fire effects. This allows re-use of the fire effect and the player also realizes that fire effects often apply area burn.
2. Effects can be counted on to do the same thing
For example, you will never have one ice effect that slows for 30% and one ice effect that slows for 40% and one ice effect that slows for 5%. The player can count on ice slowing for a set amount of time, apart from the skill. The designer on the other hand knows exactly how powerful the cold is and can't commit the golden mean fallacy in design.
3. It really helps to different the elements, without micro-design tweaking and unifies the element in the mind of the player.
That is, you don't have to tweak every single skill or item to make them stand apart. Simply apply one of the global templates and then the elemental attack in question "feels" like it belongs to an element.
All poison does X. All fire will do something like Y.
The key here is that with a bit of global design, smaller micro design issues in individual skills, monsters, and items can be sidestepped or greatly simplified, allowing the designer to design a richer game without having to worry about specifics.
Tuesday, January 27, 2009
Saturday, January 24, 2009
Belief in the System, Part 3: Bits and Pieces
The examples that I've covered in parts 1 and 2 are simply expository, though they hint at a richer potential that could be found in the system.
For example, poker and hearts aren't strategically rich because of the deck of cards, there are certain properties that a deck of cards has that make it 'tick':
1) There are 4 suits.
2) There are 52 "unique" cards.
3) Of the 13 cards, 3 of them can be designated as "face" cards.
4) They are numbered in order.
Each of these properties adds something to all card games that use a standard deck of cards. Don't believe me?
Try playing Poker with a deck of 'Uno' cards. There are 4 suits. They are numbered 0 to 10. But uniqueness is violated, and there are a ton of 'special' cards that don't belong to a suit or have a specific number.
It's similar to the original game, but it's a little more chaotic and random than would be expected out of a popular game.
Working Example - Damage Types
Adding monsters with different resistances to different types of attacks adds greater design space: complexity in equipment/ability choice.
It tends to be an extremely common feature in games, mostly because it's very intuitive and close to reality.
But it *also* adds the design pitfalls that follow: the possibility that the player will have to carry around lots of different attacks and juggle his ability choice; increasing the amount of information the player needs to care about; opens up the possibility to be lazy with design (Monster Y is just like Monster X, except it's fire instead of ice.)
If the number of elements you consider grows to a staggering amount... (Fire, Ice, Lightning, Wood, Earth, Wind, Light, Dark, Tastes like Oranges...) then the net effect also decreases because each element simply feels the same.
Both the number of damage type you choose to consider and their net effect determines the extent of how your game suffers from either: Damage Types not mattering because you never have the right damage type on hand or tedious juggling from players because there are too many damage type items to switch between.
Then there's the need to constantly tweak monsters to both ensure that players who do and don't use the "correct" damage type make it through the game without making it too easy or too hard.
Adding resistances/bonuses to damage types opens up design space but make sure you consider common pitfalls of design when exploring said space. After all, if the feature doesn't add any well explored design space or simply adds problems, it would have been better if the game doesn't support it at all.
It's a good feature.. but what can we do to avoid design pitfalls?
We could design every monster and every skill very carefully so there's no overlap, therefore all elements are equally fair.
We could design every weapon that has a specific element to be unique and yet somehow expected results, so that the player never has to juggle elements just for the sake of doing damage.
We could plot each aspect of the game out very carefully to ensure that each battle is winnable.
We could script specific reactions from monsters to elements so that each of the individual elements actually have meaning.
We could tweak monster hp and resistances specifically for each area, knowing what elements are available so that no area is too easy or hard for the player.
We could promote very specific elements for very specific situations, for example, giving the player an 'anti-tree' weapon when entering a forest, with the knowledge that anti-tree will never appear again, because we don't want to keep making new 'anti-tree' weapons and abilities for tree monsters down the line.
We could simply design better, so that we never come across the lazy design problem with 'fire beetle' and 'ice beetle.'
...God. That sounds like a lot of specific work. And what if we get it wrong for some area?
The problem is, these solutions are all very specific solutions.
And they all make the assumption that you can design well in *each* case.
But what if you worked on a higher level?
For example, poker and hearts aren't strategically rich because of the deck of cards, there are certain properties that a deck of cards has that make it 'tick':
1) There are 4 suits.
2) There are 52 "unique" cards.
3) Of the 13 cards, 3 of them can be designated as "face" cards.
4) They are numbered in order.
Each of these properties adds something to all card games that use a standard deck of cards. Don't believe me?
Try playing Poker with a deck of 'Uno' cards. There are 4 suits. They are numbered 0 to 10. But uniqueness is violated, and there are a ton of 'special' cards that don't belong to a suit or have a specific number.
It's similar to the original game, but it's a little more chaotic and random than would be expected out of a popular game.
Working Example - Damage Types
Adding monsters with different resistances to different types of attacks adds greater design space: complexity in equipment/ability choice.
It tends to be an extremely common feature in games, mostly because it's very intuitive and close to reality.
But it *also* adds the design pitfalls that follow: the possibility that the player will have to carry around lots of different attacks and juggle his ability choice; increasing the amount of information the player needs to care about; opens up the possibility to be lazy with design (Monster Y is just like Monster X, except it's fire instead of ice.)
If the number of elements you consider grows to a staggering amount... (Fire, Ice, Lightning, Wood, Earth, Wind, Light, Dark, Tastes like Oranges...) then the net effect also decreases because each element simply feels the same.
Both the number of damage type you choose to consider and their net effect determines the extent of how your game suffers from either: Damage Types not mattering because you never have the right damage type on hand or tedious juggling from players because there are too many damage type items to switch between.
Then there's the need to constantly tweak monsters to both ensure that players who do and don't use the "correct" damage type make it through the game without making it too easy or too hard.
Adding resistances/bonuses to damage types opens up design space but make sure you consider common pitfalls of design when exploring said space. After all, if the feature doesn't add any well explored design space or simply adds problems, it would have been better if the game doesn't support it at all.
It's a good feature.. but what can we do to avoid design pitfalls?
We could design every monster and every skill very carefully so there's no overlap, therefore all elements are equally fair.
We could design every weapon that has a specific element to be unique and yet somehow expected results, so that the player never has to juggle elements just for the sake of doing damage.
We could plot each aspect of the game out very carefully to ensure that each battle is winnable.
We could script specific reactions from monsters to elements so that each of the individual elements actually have meaning.
We could tweak monster hp and resistances specifically for each area, knowing what elements are available so that no area is too easy or hard for the player.
We could promote very specific elements for very specific situations, for example, giving the player an 'anti-tree' weapon when entering a forest, with the knowledge that anti-tree will never appear again, because we don't want to keep making new 'anti-tree' weapons and abilities for tree monsters down the line.
We could simply design better, so that we never come across the lazy design problem with 'fire beetle' and 'ice beetle.'
...God. That sounds like a lot of specific work. And what if we get it wrong for some area?
The problem is, these solutions are all very specific solutions.
And they all make the assumption that you can design well in *each* case.
But what if you worked on a higher level?
Friday, January 23, 2009
Belief in the System, Part 2
I'm assuming the first post didn't really make sense unless you have an intuitive understanding of what I'm talking about in the first place.
The system is the underlying engine that enables the game to be played.
Depending on how the engine is designed or what engine is used, very natural laws fall out, and these shape the entire game as a whole.
Example 2: Cards
Let's take a deck of standard playing cards. Take any game that uses a deck of cards.
What would be the common thread between them?
For any game, you know there is exactly 13 types of cards with 4 suits. Because each game uses the same deck, naturally, card counting possibilities become possible.
The strategy behind hearts or poker or bridge comes from guessing which cards are in the opponent's hands based on what cards you have.
Now think about it, whoever was creating Hearts, Poker or Bridge could have specified that they use a special deck of cards. But because they chose to use a standard deck of playing cards, it is a natural consequence that there is only one type of any card.
Those complex strategies of elimination are a natural fallout of the base system engine used.
Of course, how does this apply to game design in general? Core design principles at the base of the engine or system used have ridiculous effects on the game as a whole...
Example 3: 3D vs. 2D
This is the most obvious example of how the initial decision affects everything in the game.
A 3d game has multiple axis' of freedom and a richer environmental sense as well as improved realism... *but* it brings about the problems of camera control, complex math during collision detection as well as an increased expectation from the user for those things.
A 2d game on the other hand has fewer axis' of freedom along with a more restricted environment to explore in but it also has simpler controls, simpler collision detection and has no problems with shoddy cameras, since you control the view at any given time.
Some games can work extremely well in both 3D and 2D, consider how different the Mario franchises when they made the leap from 2D to 3D or fighting games in general with the Soulcalibur series.
However, some games suffer in a 3d sense. Tetris would be inconceivable in a 3d state, as would any other puzzle game; The decision to have a third degree of freedom adds so much positional complexity that they quickly become untenable.
Consider.. what is the correct base for the game design that you have? A game implemented on top of a system that fights with the design of the game itself can only bring pain. Adding a third dimension to Tetris would introduce problems of being able to view the entire space at once, as well as occluding certain areas of the playing field in such a way that it would almost completely undermine the open information that the player needs to make his decisions.
The system is the underlying engine that enables the game to be played.
Depending on how the engine is designed or what engine is used, very natural laws fall out, and these shape the entire game as a whole.
Example 2: Cards
Let's take a deck of standard playing cards. Take any game that uses a deck of cards.
What would be the common thread between them?
For any game, you know there is exactly 13 types of cards with 4 suits. Because each game uses the same deck, naturally, card counting possibilities become possible.
The strategy behind hearts or poker or bridge comes from guessing which cards are in the opponent's hands based on what cards you have.
Now think about it, whoever was creating Hearts, Poker or Bridge could have specified that they use a special deck of cards. But because they chose to use a standard deck of playing cards, it is a natural consequence that there is only one type of any card.
Those complex strategies of elimination are a natural fallout of the base system engine used.
Of course, how does this apply to game design in general? Core design principles at the base of the engine or system used have ridiculous effects on the game as a whole...
Example 3: 3D vs. 2D
This is the most obvious example of how the initial decision affects everything in the game.
A 3d game has multiple axis' of freedom and a richer environmental sense as well as improved realism... *but* it brings about the problems of camera control, complex math during collision detection as well as an increased expectation from the user for those things.
A 2d game on the other hand has fewer axis' of freedom along with a more restricted environment to explore in but it also has simpler controls, simpler collision detection and has no problems with shoddy cameras, since you control the view at any given time.
Some games can work extremely well in both 3D and 2D, consider how different the Mario franchises when they made the leap from 2D to 3D or fighting games in general with the Soulcalibur series.
However, some games suffer in a 3d sense. Tetris would be inconceivable in a 3d state, as would any other puzzle game; The decision to have a third degree of freedom adds so much positional complexity that they quickly become untenable.
Consider.. what is the correct base for the game design that you have? A game implemented on top of a system that fights with the design of the game itself can only bring pain. Adding a third dimension to Tetris would introduce problems of being able to view the entire space at once, as well as occluding certain areas of the playing field in such a way that it would almost completely undermine the open information that the player needs to make his decisions.
Wednesday, January 21, 2009
Belief in the System, Part 1
I believe in the system.
Whatever system you have.
Because I believe that a powerful system can alleviate the pains of the designer.
Let me explain what I mean by system.
The system is the underlying hierarchy, the underlying design of the game. It is the core engine, the blind and sleeping god that drives every action.
The system is not hindered by content. The system is not bound by specially designed event encounters. The system is merely a set of rules that is to be followed.
But, as a Johnny, I believe that the system is the single most important reason why games are what they are.
You probably still don't understand what I mean, so it's time to delve into some specific examples.
Example 1: Controls
Have you ever played a platformer with unresponsive controls? That is, it takes 3 quarters of a second for your character to turn around, and your character jerks while moving and you can't seem to do with finesse what you want it to do?
Have you ever played the old school Mario games, where Mario responded instantaneously to everything you did. Mario followed his own rules of inertia, but he would *try* to do what you wanted him to do the instant he realized it.
The responsiveness is part of the system.
If the two simply existed in a void where the only thing you could do was move your character around a featureless terrain, Mario would still be more interesting and complex to move around, simply because you have greater control over him.
You could spend 10,000 hours designing the best levels ever for the game, the best visuals for the game, the best sound and musics ever heard.
But that one core aspect of responsiveness for the platformer, is what makes the game fun.
That is an aspect of the system.
And if the system fails in that regard, no matter how much time you spend on it, no amount of designed content will save you.
Whatever system you have.
Because I believe that a powerful system can alleviate the pains of the designer.
Let me explain what I mean by system.
The system is the underlying hierarchy, the underlying design of the game. It is the core engine, the blind and sleeping god that drives every action.
The system is not hindered by content. The system is not bound by specially designed event encounters. The system is merely a set of rules that is to be followed.
But, as a Johnny, I believe that the system is the single most important reason why games are what they are.
You probably still don't understand what I mean, so it's time to delve into some specific examples.
Example 1: Controls
Have you ever played a platformer with unresponsive controls? That is, it takes 3 quarters of a second for your character to turn around, and your character jerks while moving and you can't seem to do with finesse what you want it to do?
Have you ever played the old school Mario games, where Mario responded instantaneously to everything you did. Mario followed his own rules of inertia, but he would *try* to do what you wanted him to do the instant he realized it.
The responsiveness is part of the system.
If the two simply existed in a void where the only thing you could do was move your character around a featureless terrain, Mario would still be more interesting and complex to move around, simply because you have greater control over him.
You could spend 10,000 hours designing the best levels ever for the game, the best visuals for the game, the best sound and musics ever heard.
But that one core aspect of responsiveness for the platformer, is what makes the game fun.
That is an aspect of the system.
And if the system fails in that regard, no matter how much time you spend on it, no amount of designed content will save you.
Subscribe to:
Comments (Atom)