I know it's a bit of a tangent from the pattern recognition challenges I've been talking about, but I'd like to take a moment to talk about CHARACTER DESIGN. Because it's a dying art, and very badly misunderstood by beginners and many 'professionals'.
I love character design. You can read ten different books and get ten different 'most important' factors to consider. Some approach from a story standpoint and talk of character arcs and so on. Others take a more character-driven approach and talk about personalities, pressure, and so on. There are literally dozens of approaches.
Following any one will give you a decent clue, but when it comes to characters, the PRIMARY PURPOSE of a character is to KEEP THE AUDIENCE. All the stuff about making an involving plot, or having a character arc - it's bunk. Or, rather, it's too advanced for the first lesson, and usually doesn't work in quite the way beginners expect. The FIRST THING you should adhere to when making characters is to make them KEEP THE AUDIENCE INTERESTED. In fact, as Soap Operas and Sitcoms have proven, you don't need a plot or character arcs - just solid characters.
Now, the basic social impulse of humans is to pick out people to be your close friends/teammates and/or lovers. This means that whenever we see a character, whether in a book or on a screen or in a game, we essentially automatically and mostly-subconsciously think about what it would be like to be their friend/teammate/lover (whichever is appropriate). The emotion we get from that simulation becomes what we think of the character. This probably isn't EXACTLY what happens, but it's plenty close.
People thought Darth Vader was cool. He was badass and fairly reliable. Han Solo wasn't nearly as powerful and was less reliable. The emotion we feel about Vader's potential is a kind of worshipful one - being his 'friend' would consist of working our ass off for him, but he would be smokin' cool and we would definitely be part of something awesome. The emotion we feel relating to Han Solo is a much more relaxed 'buddy' feeling - we could actually be FRIENDS with Han, as opposed to servants. The emotion we feel towards Luke is like the inverse of Darth - we feel that being friends with him would mean having a whiny, erratic KID tagging along. Which appeals to many people.
Few of us would much like being friends with Jabba the Hutt. It would be impossible to work as a close friend or teammate with Jabba - he'll gladly destroy you for a pittance. This is why Jabba is NOT considered 'cool'. He's unreliable and unappreciative. It would be folly to try to be his friend. At least Darth would rely on you to some extent if you keep proving yourself.
"Good guy" or "bad guy" is irrelevant. When you make a character, the thing that really matters is how we'll feel about being (or trying to be) their friend/teammate/lover. That emotion sets the whole of our interactions with the character. We don't like Jabba and we don't respect Jabba - we feel nothing as he is thwarted and killed save for a fierce joy. We like and respect Darth, although in a certain way, so if he had died in that manner, we would have felt totally jypped. He needs to die in a manner suited to nobility.
Think what part your character plays in your story. What do you want your audience to feel towards your character? Awe? Buddy-buddy? Sexual attraction? The way you get the audience to feel these things is by showing how your character treats those close to them. If your character treats his friends with quiet respect, the audience will feel a certain way. If your character treats her friends with boisterous comraderie, they'll feel a different way. If your character treats her friends as posessions, that beings a certain emotion. It's all about how they act with their friends - because that's how, in the audience's mind, they act towards the audience.
Just remember to stay true to that and you'll have a believable character that the audience will enjoy buying into, whatever else you may do with them. How they treat their friends under stressful and varied conditions is also an excellent way to up the ante, as it shows the audience how much they could be relied on.