It's difficult to invent a realistic, complex character completely from the depths of your own mind. What a lot of writers find easier to do is to take inspiration from real people. Real people already have their own backstories and experiences much deeper than any psychologist could take down in full. The thing is, when you inject even the outermost characteristics of these real people into your work, the very existence of these characteristics existing within your character already implies the existence of the complex backgrounds behind them as well. If you know someone in real life who is depressed, and you inject their simple real-life traits that show they are depressed into your work, your character immediately becomes more believable just by relying on certain characteristics that already have presupposed, predetermined underlying causes behind them. This is much easier than trying to understand and build upon your own idea of a depressed person from scratch. No amount of imagination is a substitute for reality. Truth is often stranger than fiction. Also, you may have heard that adding flaws to a character makes them more believable and therefore better. It's a good start, but don't just stop there. A character is not defined by a list of 'good things' and 'bad things' about their personalities. A character, especially for RP purposes, is defined by how their interactions shape the world and how other people view them. The impression of 'good' and 'bad' traits is an arbitrary imposition of morals. What is a flaw for a certain situation could be a redeeming trait in another. What I find better as a character-builder is a list of their own set of morals and how they would react to certain situations. The rules (or lack thereof) that a character imposes upon himself or herself defines how they will interact with other RPers, and that's the more important thing in RPs. These rules can clash, develop, or be destroyed. Remember, the best stories usually advance a character and not necessarily a plot.