Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

An elegant solution

In due time, you'll find yourself in this terrible position. The game is in production, everyone is hyped about it, and you can feel it staring at your face. A major design flaw... How do you even begin to fix it without disrupting production.

Rafael Vazquez, Blogger

August 9, 2011

4 Min Read

Suddenly you find yourself on the spotlight. You discover a major flaw in your game, and anything you do to try and fix it will start to ripple through all aspects of the game....what do you do? Specially when the game has already had some time in production, the prospect of taking a decision that will (potentially) change several aspects of the core game is scary. However, if you discovered an issue with your core gameplay, its a decision you will have to make. Core design problems are game-breakers, and they should be fixed as soon as they show up.

  So generally, when one finds a game design problem your natural tendency is to go straight to the simplest solution. Overpowered weapon, make the player drop it as he leaves the room; walking around is boring, place random enemies around the level, jumping too high, place a ceiling..... These are simple to implement and they are (somewhat) isolated from the rest of the design, so they become reeeaaally tempting. However, there lies its problem. They are patches, they are not integrated with the design and they don't really solve the problem.

       On the other hand you could try and implement a whole new design; scrap everything, we're taking it again from the top. New design means new programming, new assets, new everything.... but its worth it, to make a fun game. That is until you try to explain the rest of your team why it is that all their hard work is to be scrapped. Iteration is a given in the industry, but with milestones coming up and angry managers demanding to know what's the hold up, you can't restart the project.

 
So what to do. Well there is a third option....I'll be honest, its tough, its not evident, and it might be tricky to explain. The idea here is to slightly change the circumstances around the problem so it becomes a non-issue. Its much more subtle, instead of blocking the player from taking an action, you make it riskier, you try and dissuade him. I call this an elegant solution.

       An elegant solution is the one that tweaks the game in such a way as to turn the flaw into a choice. Without forcing the player's hand and without redesigning the mechanics, the elegant solution changes the circumstances under which the player makes his gaming decisions. Don't attack the problem directly, look around it; check the other systems it affects and try and tweak it from there. For example: imagine a 2D shooter where the player has a high jump. This is important because it allows the player to jump onto platform, start combos, etc... However, this is also gives rise to bunny-hopping. You find out the player is able to jump all through the level and not even fire a shot. If you're already in production, go back and change the jump height will be a level apocalypse: platforms will have to be reset, art will have to be remade, months of work will go to the recycling bin. On the other hand you could stop the player from shooting while jumping. Then the game looses part of its essence, it looses action, and the problem still persists.


A third option would be to reduce the horizontal speed while jumping. Sure the player can keep avoiding bullets by jumping, but now he won't be able to advance as fast.....he has now a choice. Now the player can choose: slow and safe by jumping, or fast but challenging by running. Of course, for it to be truly meaningful, there must be some risk on both accounts; maybe you could sprinkle some AA enemies throughout the level. This solution only affects the player and enemy positioning, and it creates a new set of meaningful decisions. This would be an elegant solution. 

I know this is not news for you, but I do believe its best to always strive for the best solution, not just the easy one; and its important to hammer home this fact. So often we feel the pressure of production that we loose objectivity on an issue. In the end, its important to remember that just getting the problem out of the way is not fixing it.

Read more about:

Featured Blogs

About the Author(s)

Rafael Vazquez

Blogger

Rafael Vázquez is the lead game designer at Xibalba Studios and also does a bit of indie development on the side. He has worked on social and PC games both for entertainment and for social improvement, and is a firm believer of the power of math to uplift the art of game design. If you want to reach him, just send an email to [email protected].

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like