Click "Sleep" for a dark background.
Click "sleep" again if text isn't dark.

 

Sunday
Jan242010

Elegant & Brute Force Solutions

I was thinking about elegant solutions recently. Elegant solutions are a wonderful part of difficulty design and game challenges. It's common to many of us, and therefore it deserves some clarification. 
Let's look at the the definition of elegant first. From dictionary.com...
2. gracefully refined and dignified, as in tastes, habits, or literary style:
6. (of scientific, technical, or mathematical theories, solutions, etc.) gracefully concise and simple; admirably succinct.
(From Mathematics) Combining simplicity, power, and a certain ineffable grace of design. Higher praise than "clever", "winning" or even cuspy.
The elegant solution is written on the door, yet the stickman tries to brute force his way through.
 
 
So, for video games, an elegant solution to a challenge is any solution to a challenge with multiple solutions that's also of the most efficient, effective, and/or easy option. A solution is a specific method or strategy for overcoming or solving a gameplay challenge. This definition is a bit troublesome. In many cases, determining whether or not a solution is the most efficient, effective, or easiest either cannot be known or is simply subjective. Allow me to clarify what each mean.
 
efficient: Making fewer moves. Shooting fewer bullets. Using less resources. Taking fewer risks. Encountering less threats. However, consuming less time is generally not a factor in determining the efficiency of an elegant solution.
effective: How far/close one comes to completing the main objective or any number of subsidiary objectives. 
easy: Requiring less skill of dexterity, reflex, timing, and adaptation. Possibly requiring more knowledge (strategy/deep thinking) skill. 
 
An elegant solution requires a non elegant solution. After all, if there's only one way to solve a challenge, the one solution is automatically the most and least elegant solution simultaneously. Therefore, its elegance is not worth considering. The opposite of an elegant solution is what I refer to as a brute force solution. Generally, brute forcing a problem involves buckling down and solving a problem despite there being a significant element of chance, lots of trial and error, and/or very strict action based execution. Abiding by the classic struggle between brains and brawn, brute forcing a problem is definitely the brawn; the opposite of thinking deeply or critically about a problem. 
 
It's easiest to understand elegant solutions by analyzing puzzle mode levels. Naturally, some puzzle games work better than others. There are puzzle modes like the one in Planet Puzzle League or Boxlife that give you a problem with only one solution and a limited amount of moves or options to solve the problem. These puzzles don't qualify because there's only one solution or one way to solve the puzzle.
 
On the flip side, there are puzzle games with puzzle modes that give players an unlimited number of moves (or more than they need) to solve the puzzle. For these games, simply solving the puzzle is challenging enough. But often times, the designers encourage players to go back and solve the puzzle again using much fewer moves. Puzzles like this feature elegant solutions. Working off of the list of puzzle games from my resume of sorts, the following puzzle games feature elegant solutions. 
  • Base10 (par)
  • Zengage (gold)
  • Chu Chu Rocket
  • Red Remover (gold)
  • Scribblenauts (par)
  • Various puzzles in Professor Layton 1 & 2
  • World of Goo (OCD)

Designing puzzles and other gameplay challenges with elegant solutions is a great way to incorporate a measure of player controlled difficulty. For these challenges the less crafty, clever, and strategic players can still get through the challenges using methods that are closer to the brute force end of the spectrum. It may take them longer and the overall difficulty may be higher in some ways, but at least they can progress. 

When gameplay is quantified it's much easier to design and understand the elegant solutions of its challenges. Another clever way of creating challenges with elegant solutions is by merging two genres. Namely, a puzzle/strategy genre with an action based genre (platformer/shooter/fighter). The reason merging these genres works so well for developing elegant solutions is because puzzle/strategy games by nature test a player's knowledge skills while the action genres tests a player's dexterity, timing, and reflexes. For any given challenge in such a merged genre game, the more action oriented player will try to solve the problems using their action skills and strategies. The more the game looks and plays like an action game, the more likely going the brute force/action based route will be our first impulse. By designing challenges that are very difficult to solve with an action approach and very easy to solve with clever strategy, you can conceal the elegant solution by playing off of player tendencies and the cross genre game design. Doing so can make any elegant solution seem more elegant by contrasting sharply with the brute force approach. 
 
The following games are puzzle games that use the mechanics and presentation of action genres to construct various puzzle challenges. 

 

Talking about Braid on his blog, Johnathan Blow puts it nicely: 

Many of the puzzles have elegant solutions to them that are very quick to perform, and many of the levels have tricks to them where you can figure out faster ways through.

If anyone is trying to solve a puzzle in Braid and they feel like it requires a lot of trial and error and a lot of platforming skills… they are probably missing a simpler solution. There are a few spots in the games with slightly tricky jumps, but for the most part it’s about understanding the puzzles as deeply as possible.

In other words, you may be able to brute force your way through some of Braid's puzzles with your platforming skills, but the core challenges of the game are puzzles. Being puzzles, you'll be rewarded moreso for deep thinking than fast fingers. By focusing the design of Braid on puzzles and presenting it as a platformer, the stage is ripe for elegant solutions. 

 

Before concluding I must explain that we have to be particular as to what qualifies as an elegant or brute force solution. For a given video game challenge, I consider the vast majority of approaches and strategies to be neither elegant or brute force. Only the more extreme ends of the spectrum qualify. Furthermore, the more space there is between extremes, the more elegant and brute force the solutions become. By this criteria, you can describe a solution as being relatively elegant or relatively brute force. But it's when one has a grasp of the entire range of solution possibilities that one can accurately describe a solution as being brute for or elegant. 

Elegant solutions for action games are more commonly thought of as tips, tricks, and secrets. However, they are not one in the same. Speed running maneuvers, keys to locks, rare/secret items, powerups/power weapons, and effective strategies aren't necessarily elegant solutions.

Elegant solutions work best when all that's required to use them is a sharp mind. If you've got the skills though, brute forcing a problem can have an elegance in its own "anti intellectual" way. You've got to wonder, if brute forcing a problem can be elegant, then is there any elegance left for those who use solutions in the middle of the spectrum?

 

Click here for video examples.

« Mulling Over Multiple Goals | Main | Mechanics & Interface: Pillars »

Reader Comments (1)

Nicely done. I enjoyed the read very much. You explained your thoughts and stands in great detail and I felt you have made a very good point or points rather.

February 10, 2010 | Unregistered CommenterFree online Virtual Worlds

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>