So where the hell does charm come from? At what point does the block of code you’ve loaded into memory and its instruction pointer start to become charming? Unsurprisingly, when it’s written by someone with a sense of humour, which is what makes these games stand out.
By the way, the best way to think about how that block of code becomes characterful is to think of it like a flip book that you probably made when you were small (or not, as I still do them for my daughter). You know, you take a bunch of pages (like the bottom corner of your maths exercise book) and draw a character on page 1. Then for every successive page you draw the character in a slightly different position. When you flip them all together at a constant speed you get your own movie.
Like this one:
Animation sequences are eight frames long, and each frame is displayed for two ticks, so it takes 16 ticks (about 0.27 seconds) to complete each animation sequence. At the beginning of each new animation sequence (ie every 0.27 seconds), if Rockford is not currently moving, it is decided whether Rockford will be idle, blink, tap his foot, or blink and tap his foot. There is a 25% (1/4) chance he will blink each animation sequence, and a 6.25% (1/16) chance that he will stop tapping (if he is currently tapping) or start tapping if he isn’t.”