Thursday, January 19, 2012

RPGs Anaylsis (Combat, Sandbox, Grinding, and more):

RPGs now adays tend to try and be non-linear and sandboxy. You have Mass Effect, Dragon Age, Fallout, Elder Scrolls, etc, and almost all MMOs are non-linear.

The problem is though that making it so you can do ANY QUEST at a given time can be quite difficult. Many games like Elder Scrolls try a enemies-level-up-with-you or ELUWY approach. This is flawed in many ways as I will now illustrate:
The entire point of leveling and equipment is GROWTH. Its to make you feel like an average Joe when you start playing the game and then like a near god when you finish. When enemies level up with you this feeling of growth is marred considerably. Oh you got that shiny new armor? Oh well so did all the guards in the game, your relatively the same strength or, worse case scenario you messed up your build and now your WEAKER then the guards (had to restart my character in Oblivion once because I messed up my build).
Dragon Age tried an interesting approach which was that when you first enter a region the levels of the monsters in that area becomes locked in. This worked pretty well, but was easily abusable and created some awkward power differences. Oh that SUPER MAGE? Yeah hes not as strong as ANY werewolf because you entered the mage tower way before the werewolf forest. Skyrim made it so some monsters have a minimum level. Thus, you now have monsters you couldn't beat before and monsters you can beat later. This solves some of the problem but those medium strength monsters are still posing a threat at the high levels which is strange. I haven't played Skyrim extensively so this may not be exactly the case but I don't think this quite solves the problem.

So how does one solve the problem? Well first lets look at another problem in RPGs. The combat is boring as fuack usually. In turn based RPGs like the Final Fantasies its abysmal. For regular enemies you are usually just mashing the attack button and healing every now and then. It gets repetitive FAST. In WoW the same problem exists even though its not turn based. Your character typically just cycles through the same spell over and over in a specific optimized order. They are called "rotations". Rotations are a sign that the combat is SUPER boring. As a general rule, if you can make a simple flow chart or a small computer script to play a character, the combat is boring as hell.
The answer? A more action-oriented combat system is the easy way out. Kingdom Hearts, Witcher 2, Fallout, are all examples of this. In these games you have to aim and dodge constantly in order to do well. Dodging and aiming DRASTICALLY increases the fun factor of a game. Aiming scales extremely well, you can ALWAYS get more head shots and better aim. Dodging keeps you awake and attentive, you can't just press 3-2-4-5-3-2-4-5 over and over and win you have to watch and understand the attack pattern of the boss. Monster Hunter is an example of a game that uses things like blocking and dodging and it makes everything MUCH funner.

Some turn based games implement timing where you have to press a button with precise timing to get a bonus effect (FF8, Lost Odyssey and Legend of Dragoon especially). This is nice, but is just not enough as the timing gets pretty easy after awhile and its all still pretty mindless. If you put in TOO MUCH of this it can get amazingly tedious which was the problem with Legend of Dragoon. I love the game but the combat got pretty tiring just doing timed-button clicks 24/7. I couldn't really relax and going through all those random encounters required insane endurance. It wasn't a fun sort of interactivity because it was too repetitive and yet still required a good deal of effort. Repetitive + Difficult = frustrating by the way.

So player-skill based combat well, that is the key to a GREAT RPG.
Grinding- You no longer have to grind to win. If your skilled and have good tactics, strategies and reflexes you can progress without leveling.
Sandboxed world- Oh you can beat anyone with player-skill even at level 1? Well if you just lock in levels for enemies, now you can go to any place in the world and do the quest there. You even get awesome emotional responses as players can now do quests higher level than them and feel like complete badasses. Just gotta make sure the level's aren't too different in power or every enemy is beatable without getting hit.

Bam two major problems solved. Now making a player-skill based combat system can be tough. If your making it similar to an action game like KH or an FPS like Fallout its not hard because you can basically just borrow from the Action/FPS genres directly. However making it turn based or maybe something like WoW can be very challenging. My solution? Make abilities utility based and scale the numbers so they go from medium-to high instead of very low-very high. Basically the damage a fireball does at max level should be something like maybe 30% higher at max level instead of like 50 times like in some games and make abilities DO THINGS like stun for a time, disable abilities of a certain type, dodge the next move etc instead of just number related things (damage heal etc).
Your progress isn't measured by the numbers your outputting but instead the vast amount of abilities you now have. Guild Wars does this to a point and I believe GW2 is going to go all out making it so you can topple high level enemies at a low level with good player-skill etc. In GW1 the max level is only 20, and you get an ABSURD amount of abilities per character because you get 2 classes worth and can mix and match them to fill up your limit of abilities at a time. You would think being limited on the abilities you can equip at a time would be bad but it actually drastically increases the tactics in the game.

Normally, and this goes for ANY GAME PERIOD OVER- if you can equip all your abilities at once, you will typically use only a FEW OF THEM throughout the course of the game. This is because of balancing. For every situation there will be a optimal ability to use. Lets look at devil may cry 3 vs devil may cry 4. In DMC4 Dante could equip EVERYTHING at once. This urged you to pretty much always use real impact when you wanted to do single target damage, dance macarabre when you wanted to get massive style points on a low health enemy, and spam your summon-5-rose sword (forget the name) every time you came across large enemies, etc etc. This is similar to the "rotation" idea I mentioned above.
In DMC3 however you were limited to 1 style, 2 devil arms, and 2 firearms. Now, if you want to do damage, you couldn't always use real impact because you have other weapons or styles equipped, thus you were forced to use some other move for what you did have equipped. By the end of the game you would thus be forced to use every ability in your arsenal many times over. It also increases replay value as doing a mission with A and B equiped is vastly different than with Y and Z equiped.

This can be applied to skills in RPGs as well, and is usually the case in many. Even WoW, although you can use all your skills at once, because of talent trees you have a indirect limit on the ones that you can EFFECTIVELY use at a time, and this increases the fun factor as switching between builds can almost feel like switching characters.

So in conclusion how do you make a Sandbox game where you can go anywhere do anything from the start? You could make the game extremely player-skilled base and lock in levels. Or you could make it so you gain power by gaining ABILITIES not NUMBERS, and scale the number increasing to be not so drastic. And let me say this in general collecting abilities, gaining the ability to DO SOME NEW AND INTERESTING, is way way way way way funner than collecting items or levels just so a number is bigger.


Now here are some other tips for a good RPG experience-

1. Auto Heal when out of combat- A lot of modern games do this now adays. Having to pop potions or cure spells after a fight is extremely tedious after awhile. It also prevents you from making the random encounters individually challenging as you have to make it so a player can get through many of them before a save point and if the enemies have the damage to kill you every fight, your gonna run out of healing supplies fast.
One interesting approach is how the Xbox Indie game Breath of Death VII did it. They made it so you got back all your HP but only a small amount of MP per battle. This made things very interesting as random battles became mini boss fights but ones where you had to make sure you used your MP sparingly. It added quite a bit of tactics to the game as you couldn't just plow through random enemies with your most powerful abilities. The non-charging MP isn't necessary though, as if you do have recharging MP as well as HP you can make every battle essentially a boss fight.

2. Make every random encounter have a good chance to kill you- No matter what a random encounter is going to be boring as hell unless its hard enough that you could die from it. This forced players to actually USE tactics and THINK, which is generally the fun part of a game. Of course you have to make sure bosses are EVEN HARDER or else they won't really feel like bosses.

3. Don't put small collectibles in tedious locations- For example one of the MOST ANNOYING things in an RPG is having to check every house and then opening random chests for loot. This is just silly. "I AM THE GREATEST HERO IN THE WORLD...and I spend most of my time collecting small amounts of coin in random people's houses." Seriously, constantly having to scavenge for small resources is so many kinds of annoying. Its probably the only qualm I have about Witcher 2 so far. I feel incredibly stupid going into these random houses and collecting what ever stuff is there. It makes me feel like a dirt poor thief, and completely ruins the immersion as normally me coming into someone's house and opening and looting random drawers is something a NPC should be very pissed about but they just stand there doing nothing. And I can't stop myself because I gain so much money and there's a feeling that I might miss some super interesting quest starting note if I don't ransack every house. Elder Scrolls fixes this as NPCs will get very pissed at you picking up even a cup (although they flip out way too much sometimes). You could make it so there ARE these kinds of hidden notes, but that's it, there aren't 10 openable furniture objects in every house just a clickable note on a desk maybe even make it glow a little so it stands out. There is a delicate balance here however. You want to generally promote exploration and make players feel awesome when they find something hidden. If everything glows nothing is really hidden anymore. This isn't hard to accomplish you could make the glow very feint for example or just hide things in secret chambers etc or something.

4. Wit over Grind for gaining power- What I mean by this is allow ways to gain strength that require KNOWLEDGE or wit. This is very hard and very few games pull it off or even try to. FF8 is a good example. You grind your way to level 100? Congratz the enemies level up with you and you just screwed yourself over. Instead in FF8 you could become VERY OVERPOWERED very early just by approaching the system in a smart way. This was done using the item->magic ability. You would run around trying to find items that turned into high level magic which boosted your stats. This was MUCH funner than just grinding. Instead it led you to explore the world, investigate every monster to see if the item it dropped turned into anything useful and made the main side quest in the game (the Card Game) much more awesome as cards turned into items and now you could go run around collecting cards and become SUPER STRONG from it (every kids dream). Now you feel like a smart badass with a awesome secret when you realize there's this one enemy that drops blah that can turn into blah which gives you Firaga at level 1! Of course you could still make it so grinding has some benefits, and it should so that there is an easy way to pass difficult parts of the game for newbies but there should be alternatives. Another example is in Guild Wars where you could learn special abilities from bosses and quests. Every random boss now became that much more interesting, and you would often feel awesome for finding that very useful ability on that obscure boss or quest. It gave you a very awesome reason to explore.

That's about it for now. Sadly this post was way more all over the place and disorganized than I would like it to be, will probably edit it in the future.



Thursday, January 12, 2012

How To Make A Good Action Game Boss:

Well I'm currently making a 2D action game for xbox live/PC. I've been playing action games for ages always trying out the big new game analyzing it, critiquing it and usually being disappointed in it. When I started playing around (started with game maker) I realized holy fuck I can actually make bosses PRETTY AWESOME, and I realized wow, why do all these big companies FAIL SO HARD at it. Anyway after making a few bosses I realized, its so simple.

1. Make every move dodgeable by a normal person:
This is hugely frustrating to see in game and is fairly common. I think the train of thought is "WE GOTTA MAKE THE BOSS FAST AND KEWLLL". No, you don't. You want to make him fun. You have to make sure EVERY SINGLE MOVE has some kind of warning queue, best if it has a visual and audio queue, and there's a good half second before the move actually goes off. As a rule of thumb every boss should be beatable without getting hit.
Case studies: Sephiroth(Kingdom Hearts 1/2), Vergil(Devil May Cry 3) etc. Actually pretty much EVERY BOSS in the devil may cry series does this.
These bosses are still bad ass as fuck too even though they are slow. This is seriously the MOST IMPORTANT THING! These two bosses actually fulfill EVERY requirement I'm gonna list.

2. Have moves that dodge/block differently:
If every move is avoided the same way and has the same timing, the boss is gonna get boring. This is pretty obvious. Bosses should be like little puzzles where you have to figure out when to attack, and when/how to dodge. One great way to mix it up is to have a move where they have to attack the boss before he finishes channeling it or it becomes very difficult or impossible to dodge. Sephiroth's Sin Harvest Angel is a perfect example of this. It keeps the player on their toes, they can't just jump every time they see the boss make a move in a easy nonthinking fashion, they have to be forced to be ever vigilant. Basically, you want to make it so if you avoid a move the way you would avoid one of the bosses other moves, you get hit; if you use the timing for Move A, when the boss is actually using Move B, you get hit. Generally every good boss needs at least 4 quite different moves and I imagine a boss could have TOO MANY moves, but I haven't ever seen it.

3. The boss should change over time:
This is also pretty obvious. Every boss should slightly change up their playstyle or start using some super crazy moves later on. This adds an emotional component to the boss, like oh man the boss REALLY IS dying, and hes REALLY giving it his all. This is amplified by in-battle-dialogue and shouts. A nice little "THIS ISN'T OVER YET!" shout before a super-move really adds some umpf to it. This is the part where you want to make the boss seem badass. Make him do something CRAZY, especially crazy compared to the rest of the game. You don't want crazy moves all the time because then they stop being crazy. Normal enemies, early boss fight you want your typical small little projectiles, and then BAM the boss near the end gets super pissed off and you see him do something like release 200 fireballs at once or something. Its the juxtaposition thats the key. Also making the boss get progressively faster is a nice touch. Vergil's super moves near the end are a good example, normally he does 3 of those black spheres of death maximum, then near the end bam THEY ARE EVERYWHERE. You would think this pattern of boss getting progressively harder as you do damage to it would get old, but it surprisingly doesn't. In fact it builds anticipation, because you KNOW the boss is going to go bat shit crazy later and it adds some nice fear to atmosphere. Still you could though mix it up and make bosses that are just crazy from the get go just saying surprisingly you don't have to. The crazy-from-the-get-go approach is also very nice when you want a feeling of urgency. Bomb about to go off? Well why the fuck is the boss starting out all slow if she knows this? But anyway, for any boss that's a decent length long, you want the flow to change otherwise it gets stale. You could also simply have sections like a "boss is gonna hang back and throw projectiles at you" vs "boss is gonna melee the hell outta you". Oh and if your going to do something like remove a boss's limb, MAKE SURE THE BOSS CHANGES HIS MOVESET IN SOME WAY. Otherwise it doesn't actually FEEL like you took the bosses arm off. If you take it off and wow now the boss is forced to just bite you all day, it feels much more badass.


And... that's pretty much it. Pretty simple right? Avoidable moves with good warnings, diversity, and some state changing for the boss.
Oh and really intense music and sound effects go a LONGGG WAY!

Things not to do:
1. Avoid extra long phases where the boss is completely undamageable. There is a sensitive balance for this as for most super-crazy moves I mentioned above the boss is probably gonna have to be nearly unhitable or it won't make sense. If you are going to do this, you better make sure the attack is SO CRAZY that you wouldn't be able to hit the boss while avoiding it anyway. This stimulates the player for the duration of the invulnerability phase. Otherwise the player is just easily and boringly avoiding a move just WAITING for the boss to finish compared to a "HOLY FUCK THIS MOVE IS SO INTENSE AND HARD TO DODGE OHHH MANNN" a player will feel when the move is so tough you wouldn't be able to attack anyway. Good example is Sephiroth's meteor.

2. Don't have the boss only vulnerable during one move. This is done in Zelda type games a lot, where you HAVE to attack at a certain time with a certain move and you can't really do anything else otherwise. It doesn't really work for action games though. Hell even if you are making a Zelda type game- DO NOT have the boss just KEEP DOING that move over and over. It makes the boss seem MENTALLY RETARDED. Here you have this mad world conquering genius and what, he can't figure out the pattern that HE ONLY GETS HURT when he fires this one fireball? It works if you only have to do it once, but any more than that and its just silly and makes the boss boring as hell too as your just doing the same thing over and over. Instead, have new vulnerable-moves the boss uses, make the boss go "Oh shit better not fireball again, let me try this other move now, OH SHIAT that didn't work either." Beating out MULTIPLE of the bosses moves is a much better feeling than using the same vulnerability over and over. One thing for Ocarina of Time does to compensate for this is that there are ways to beat the boss EXTREMELY QUICKLY. This provides some replay value as your not just beating the boss boringly waiting for a move like you did last time you played, your finding out NEW BETTER WAYS to beat the boss in SECONDS, which feels pretty badass.

3. Minions/Difficulty:
Now this isn't a hard rule, sometimes minions can be okay in boss fight, but MOST OF THE TIME, minions cheapen the fight. If the difference between normal and hard mode is that their are minions in the boss fight... well that's pretty lazy. The AI should be better, and their should be a move or two the boss only uses on the harder modes. This move shouldn't just be a normal move it should be a kind of enhancer move that changes how you dodge other moves. For example Vergil uses summon swords which are delayed projectiles and now you have to dodge them AND his normal attacks. He also uses them as a shield so you can't hit him out of moves safely anymore. You could also enhance the bosses hitboxes making every move have much higher reach.

4. Don't make the boss button-masher friendly (unless its meant to be super easy):
Basically, you shouldn't have many super easy bosses in a game anyway, maybe a few in the beginning but that's it. I've seen bosses over the years (sadly in shitty games I can't remember well), where you could just hit them out of most of their moves. The boss have this SUPER AWESOME MOVE? Too bad because you can just plow through it. This is also directly related to making the boss have high enough attack power that they are an actual threat. If a player can tank their hits and deal more damage than they are doing to them, well congratz you just made a pointless boss unless its an RPG where you want the grind-to-win option to be there.

Eh I guess that's it for now. I might make a sequel to this post if I find anything else people don't do right or is necessary for a good boss.