Saturday, May 31, 2008

How to avoid grinding

So you've decided not to have grinding in your game. Good on you! But you're worried that the some players will grind anyways, just because they are used to it, or as a way to avoid the challenge. You fear that grinding players will ruin the balance, that a boss at the end of level 1 is suited for a level 8-9 character, and that players that grind may face the boss as level 20s. Though this is a valid concern, it is no reason to put grinding back in to the game, requiring all players to grind so that the hard core grinding players will not gain a significant advantage.

Games that require leveling usually implement it with increasing costs for each level. These games also reward the player with higher returns, that is more gained experience, for killing tougher opponents. The effect is that if a player does not move on to the more difficult areas of the game, and instead remain at the current level and grind, the gains in levels will take longer and longer to achieve.

To further enforce this, the game can reward the player with an amount of experience that is proportional to the difference in level between the player and the enemy. If the player has a certain level, he or she will gain a certain amount of experience for a given opponent, while if he or she has a higher level, the experience gained will be less. This discourage grinding and forces the player to seek new challenges, however, as always, the game should inform the player that this is the case, so that the player does not get frustrated by the lack of experience gained.

Another way is to implement diminishing returns for grinding, is to keep track of how many enemies a player has killed of every type, and reduce the experience gained for enemies that he player already has defeated in scores (there is only so much to learn from fighting the same kind of enemy over and over again).

A game that successfully implemented diminishing returns for grinding, both by increasing the experience needed for each new level, as well as reducing the experience gained is Star Ocean – till the end of time. Unfortunately, that game also required an excessive amount of grinding which makes it very painful to every time you want to progress the story.

Grinding

Have this ever happened to you? You've finished all the side quests available, and now continuing the main quest is all that remains. There is only one problem, in order to continue the main quest, you need to venture in to this new area, where there are new kinds of monsters, and they are all too powerful for you. There is only one thing that remains to be done, go back to the areas you've already fully explored and kill more of those creatures, you've already killed by the thousands until you level up a few more times.

Was that fun?

Chances are that you say no, or at least admit to it not being the highlight of the game. The main problem is that the game is preventing you from actually playing the game, and forces you to do something achingly close to manual labor (and that's certainly not why I play games).
Grinding is used to denote these situations where the player spends his or her time, doing repetitive tasks to increase his or her character(s) abilities. Many games (particularly those with RPG elements in them) have this as an integral part of their gameplay. I will only talk about grinding in single player games, Grinding in multi player games, particularly massive multi player games, is quite a different issue.

I can think of four rationals for implementing grinding in your game.
  • Content reuse. If the player spends a lot of time grinding on the same level with the same monsters, you get more play time out of the effort you put in on content creation.
  • If your game requires grinding, you know it isn't too easy. If someone wants more of a challenge, he or she can just grind less. And if you grind more, the game becomes easier.
  • Some weird, misplaced, idea that the player must be made to work a little in order to appreciate his or her success.
  • Game X, Y and Z had it.

I'm not advocating not to reuse content, but there is a huge difference killing a thousand skeletons if they are guarding the gates to the castle of the evil warlock, compared to walk round and round the marsh in order to kill the thousand skeletons you need in to level up so that you can enter the warlock's castle. God of War and Diablo II are good examples of games that requires no grinding even though you kill the same kind of monsters over and over again. The difference is that there is a purpose other than just trying to level up, there is always a quest, you always progress the story.

Grinding is not a good substitute for proper balancing and play testing.

If you've created a good game, players will appreciate it just fine, enjoying the unfolding story, overcoming the challenges, and not spend countless of hours doing mundane tasks over and over again in order to be able to get to the good bits. Creating the main story, and its assets like environments and characters are usually the most expensive part. If you plan this phase well, adding a couple of side quests using mostly existing assets should be fairly easy. For instance, take an unused corner of your map, put up an odd formation of rocks, some monsters (you do have both monsters rocks, right?), and add an item that must be retrieved. Once you've got the assets, adding a quest like this should be fairly simple. You can also create mini-bosses by boosting a common monster, scaling its size, or add an extra effect, or maybe tint its textures in a different color. Diablo II is again a good example of this.

Imitating other games to a certain extent is good. It allows you to use conventions know to your players and also reuse proven deigns. However, before you reuse any feature, you must critically study it, understand its strengths and weaknesses, and how these apply to your game. And remember, all features aren't good, and some conventions are outdated. Grinding is on of them.

Friday, May 23, 2008

Saving revisited

Generally, the amount of saving you allow a player is a trade off between challenge and catering to the player's need to be able to leave the game without losing progress at any time. I'm generally for anything that allow the player to play on his or her own terms, rather than being artificially constrained in how he or she enjoys the game by the game's interface. However, I've noticed in games that have quick saving and loading at any point in the game, that I tend to rely on this feature more and more as the difficulty ramps up, rather than improving my skill at the game (for instance using the dodge move against the tougher opponents). This is particularly common in PC FPS and RTS games. I have a hard time not to, even though I know that this will reduce the enjoyment of the game. The solution to this have been using save points, places in the levels where the player can catch a breather, and also save his or her progress. As I've discussed earlier, the problem with these save points is that there may not be one available when the player needs one. And the player may need one at any point in the game as the player may have other, higher prioritised, things that he or she has to attend to (like going to work, take care of the children, do the dishes). If the game does not allow the player to combine these things with a meaningful experience in the game, the game is not going to get played. And this is something that is just gets more and more important as the games' audience grow older.

The problem is not easy, and one that I had not managed to come up with a good solution for until I read David Sirlin's article in the September 2007 issue of Game Developer on saving in games. There are two things in this article that I found to be brilliant (and that I ask myself why I haven't come up with something similar myself).

The first thing regards hard and soft save points (called save points and check points respectively in the article). At the hard save points, the player can save his or her progress to disk, and at the soft save points, he or she can save the progress to memory. The problem with the latter is that that progress is lost as soon as the player quits the game. Sirlin questions the point of the soft save points all together. He argues that it is better to always let the player save his or her progress, though he theorizes that the existence of soft save points has to do with the long save times on older consoles (the ones without a hard drive). I would suggest that if a game has this system, and if save times are a concern, allow the player to save at any save point as an menu option or similar, and prompt him or her to save or do it automatically, when he or she quits the game.

The second thing is nothing short of brilliant. It is the save system of Mario 64 (which I haven't played). The game has save points at which the player can save his or her progress, but it also has something called a save token. A player can create a save token at any point in the game, even in the middle of a heated battle. The save token can then later be used to resume the game with the exact state as when the token was created. However a save token is not a save game. First of all, the player can only have one save token, but more importantly, whenever a save game or the save token is used for loading, the save token is destroyed. This has the effect that the player may quit the game at any time without losing progress (by creating a save token), but will still be equally challenged to make it to the next save point since the save token is destroyed as soon as the player loads it, and he or she will be forced to start over at the last save point again to continue if there is a serious failure. Unfortunately, saving is difficult, and this solution may not be for every game due to technical limitations, but at least, make it possible to save every soft save point!

I got a comment!

I got a comment! It is a milestone for this blog. I am not entirely sure of the popularity of my blog. In fact, I stopped posting when I thought I was the only one who ever read it, as I saw little point in telling myself things I already knew. Now, obviously, there are other people that have looked at my blog, and if you are reading this, and want to see more posts on this blog, please leave a comment, or send me an e-mail. I promise that I'll write at least one post for every person who leaves me an e-mail or comment.