I posted on my blog a few days ago about game balancing and the struggles of doing it as a independent developer. Time is already thin as most of us are wearing very many hats trying to get our dream project to completion. I'm working on a tower defense game, how would a studio typically attempt to balance the levels, waves, monsters and towers to make the experience fun and engaging?
Thereâs two major answers to this question, depending on the process. The first answer has to do with the design process in specific, while the content is still being developed. The second answer is actually the focus on play testing and iteration. Iâll try to go over both, since Iâm not sure which you would find more useful and I think my readers might find them both interesting regardless.
So the first answer generally falls to âWhat sort of goals do I want and how do I reach those goals while still providing something fun and engaging?â You need to examine what the primary goal is, and build the experience around it. Here are a few things to take into account when trying to create a balanced design:
Donât get too caught up in making things perfectly even. Even if this tower might be 5, 10, 15% more efficient/damaging/better than that tower, itâs actually ok if there are these sorts of discrepancies for a number of reasons. Being able to recognize which towers are better than others is a skill and itâs important to cultivate this for players. You want to make choosing which type of tower to use against which type of enemy interesting, and that means you need to provide options that are sometimes worse than others. By providing bad choices along with good ones, you provide texture to the experience and allow players to improve. By this token, you should also make some towers better than others in ways that arenât just based on arithmetic. Donât just improve damage, but show the player the additive value of things like firing rate, area of effect, speed reduction, poisoning, armor reduction, stunning, etc.Â
Donât make things clearly uneven either. Itâs ok if you have some elements that are clearly inferior to others, but you should still try to make some of the weaker choices compelling too. For example, letâs say that youâve got two towers - one that is strong out of the gate but the maximum upgrade caps out early, and another that is weak to start with, but its upgrades mid to late game can clearly outstrip the first tower. Now you provide the player a more interesting choice - does she tough it out early with weaker towers hoping to make the later game stronger, or does she put out the stronger early game towers to stabilize early, knowing that the mid to late game may be more difficult? Maybe youâve got a third option - a really cheap, really weak tower. But the player can use a lot of the cheap towers to build a maze forcing the ground-bound monsters to run the path created by the player by laying the cheap towers out along the ground. But what happens when the flying monsters appear? And so on and so forth. You should give some of the initially weaker options a reason to be there, and you should make the decision of which tower to choose be the one the players have to primarily think about.
Beware of First Order Optimal strategies. You want to provide the player an early option that is strong, but becomes relatively weaker as the game matures. This way, you give the player the high of feeling powerful, but also train her to improve. It is imperative that you start sprinkling situations where the initially powerful option is shown to be weak in order to dissuade over-reliance on that option. Itâs as important to gradually wean the player off of these as it is to provide them in the first place, otherwise the player can either feel that dreaded difficulty spike which breaks any sense of flow, or heâll simply stick with that strategy for the rest of the game and complain that it wasnât very fun.
Keep in mind that player concentration is a resource too. Donât overwhelm them with too many choices, or it will spiral out of control and theyâll get burned out. Most humans have a hard time having to remember more than seven to ten things at once in short term memory. Itâs why telephone numbers are seven digits with 3 digit area codes, and itâs why people use mnemonic devices like ROY G BIV to help themselves remember sequences - it reduces the number of things you have to remember. This means that you should be wary of presenting too many things to the player at once for fear of overwhelming him. Try to introduce at most one or two new elements at most with each new level or puzzle (especially during the introductory levels), and help the players internalize how the mechanics in your game work without getting mentally overloaded. I cannot emphasize this enough - as developers, we tend to take our in-depth knowledge of the systems for granted, and should constantly remind ourselves that new players donât and wonât have any knowledge that we donât take time to teach.
Remember the knobs that you have at your disposal as well. Not just in terms of formulas and effects, but also in the types of encounters and enemies the player can consider. Try providing a breadth of challenges to the player to encourage diversification of towers, but make sure that your challenges are intended to be beaten. Avoid making a critical path objective too hard - the game is meant to be beaten after all. It is fine to make optional objectives difficult, but you want to make sure that the player doesnât get frustrated playing your game because of an insurmountable jump in difficulty.
Now⊠with all that in mind, youâll still most likely need some serious iteration on any sort of balancing you do. As General Helmuth von Moltke was fond of saying, âNo battle plan survives contact with the enemyâ. Your design might be great and awesome and perfect the first time out, but if itâs anything like reality itâs probably going to have issues, holes, problems galore. So how do you catch these issues and deal with them in a timely and efficient fashion? Here are some production practices Iâve seen and used that help facilitate the iterative process.
Gather data. More data is always better than less, and it is imperative that you take in as much as you possibly can. Humans are notoriously bad at communicating exactly what it is that bothers them, and things they say do not always reflect the real reason why they disliked something. Often times, if you bring in playtesters to try your game out, they will lack the necessary terms and context to sufficiently convey what it is they mean. This makes things like surveys and interviews much less useful, because youâre losing out on a lot of the context.
If you bring in playtesters, TAKE VIDEO FOOTAGE OF THEM PLAYING. Try to get footage of their facial expressions while playing in addition to whatâs going on in the game - facial expressions are a lot harder to fake, and you want to see what makes them smile, what makes them frown, and what makes them look bored, etc. You want to make this fun, so you want to minimize the frustrating elements as much as you can.
Bring in brand new players periodically. A great game will grab the player early and make it interesting. If you canât hook them within the first few minutes, youâre in trouble. Brand new players are an invaluable resource because they remind you that you have to view things from a fresh perspective - they donât have all the experience and knowledge you already have or preconceptions that might cloud their view of the game. Pay careful attention to them, because everyone who plays the game will be new to it at some point. You want to provide an easy and clean experience for them, so bring in new testers whenever you make big changes.
Build and playtest your tutorials first. If a player doesnât know how to play a game and is just thrown into the deep end, I guarantee it will be a frustrating experience. Just getting a printout with a list of commands is never sufficient. The new player lacks the context to what these commands/skills/abilities/etc. do, and they desperately need that context or the game wonât make any sense or be much fun. Having good tutorials also provides an excellent way to bring new team members up to speed, because it teaches them how your game works as well. Tutorials being available also provides a good way to provide context to players for other playtests too - it (hopefully) teaches them to have fun with the game, and then they will have it much easier with the other mechanics of the game later. One of the recent games I worked on had this problem - the tutorial system was almost nonexistent. As a result, it was savaged in reviews, not because it lacked the features the reviews demanded, but because the game just didnât teach the players how to utilize those features. The players (and reviewers) didnât know those features existed, so they complained about their lack. Who's fault is it that they didn't learn about it? Ours. Gamers will never have the option of a developer standing by their shoulder to explain how things work, so you should always treat it as if the player will simply start the game and skip anything else.
Have your engineers build data gathering into the game. It doesnât take a lot of memory or hard drive space to note down things like how much damage the player did, how long they played, what they spent their funds on, what they built, what their build order was, how much time they spent on a specific screen, where they were clicking, etc. Optimally, if you have the game online you can have the game periodically send you data from the players (just make sure you include the option to turn this off in the options menu somewhere⊠but turn it on by default). But turn it on, because you can use that data to figure out where the danger and sticking points are. The important thing to remember with telemetry data is that the data can tell you how many, but not why. The why is up to you to figure out, but knowing how many is very important. Why are 80% of players getting stuck on level 12? Why are only 5% of players using the frost tower? Why is the number of players with a specific build order spiking? Having this sort of data is important and interesting.
Separate the feedback you get into things you can address with the remaining time and resources you have, and things you canât. Address the things you can, and then think about the things you canât after the game ships. Most gamers donât understand what it means to have to scope and schedule. Itâs important that you can recognize the difference. You really need to beware of feature and scope creep, especially as the end of the project nears.
Whew, ok. I hope this helps provide you some solid information for the design and the production process. Congratulations on the development of your game, and I hope it is a success. It takes a tremendous amount of effort to take a game from concept to actually playable by other people, and itâs a monumental testament to your dedication that youâve gotten this far. I wish you the best of luck!