Saturday, May 31, 2008
How to avoid grinding
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
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
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!