I originally thought of a GUI device called a "thought ticker" back in June of last year. It shaves off a thin bar at the bottom of the screen and dedicates that now empty black space for what is essentially closed captions of the character's mind.
This device serves as a thought bridge between the character and the player without use of speech bubbles or voice acting.
This black bar is on-screen constantly, not a pop-up. It can display any kind of formatted text. This text could fade in/out, move, flash, pulsate, etc. Certain keywords (or even the entire ticker) can be made so when clicked on they elaborate on the keyword or phrase displayed. The action going on on the main screen can be paused when absolutely necessary (I recommend indicating this by fading the main screen to grayscale) to let a complex thought be explained in an "instant" (treat this pausing as a skippable cutscene).
This thought ticker would put into words everything the character experiences physically, mentally, and emotionally.
If the character is in pain, it would flash "PAIN! OH YE GODS THE PAIN!" If the character was attempting to solve a puzzle, it would display something like "Okay, so I need to get that block onto that giant button." If the character is dealing with an emotionally-intense situation, the thought ticker would say what the character can't.
Let's elaborate on each of the above examples.
The thought ticker can communicate to the player that something is physically wrong with the character.
If the character is sick, it could say "I'm not feeling so well..." If the character sees something that the player might not, it could say "Ooh, what's that?" If the character is tired, it could say "My feet are killing me..." If the character sees a sniper that the player might not, it could say "SNIPER!" These short, simple phrases instantly communicate to the player what the character is experiencing.
The thought ticker can communicate to the player what the character's intelligence is capable of.
In a puzzle, the more intelligent a character is, the more useful the character's thoughts could become in regards to the puzzle. For example, an oaf might observe "The door is only open while I'm standing on that giant button". A slightly more intelligent character might deduce "I need something heavy to leave on that giant button." An even more intelligent character might realize "There's a large block over there that I can leave on that giant button." The block/button scenario -- like any puzzle -- can be made more complex to allow for more and more hints. The more hints you have available, the more thickly you can distribute them among the levels of intelligence. These hints can be thought by the character at any time depending on anything from time spent trying to solve the puzzle to where the character is relative to puzzle elements (such as the block and the button).
The thought ticker says what the character can't, shouldn't, or has no reason to say out loud, allowing the player a deeper look into the character's personality.
These thoughts can range from the mundane, such as "Wow, that landscape is amazing!" to the intense, such as "NOOOOOOOOOOO!!!" The sky's the limit. The thought ticker provides a way for the character designer and the the writing staff to flesh out a character's depth without consuming valuable time and resources making the character verbally say it. This is especially useful in cases where it's vital that the character communicate their feelings to the player but saying those feelings out loud would be awkward. All the writing staff has to do is pick the text, and have it display at the appropriate time.