Is there any way to make a plot twist in a way where it doesn't seem like it came out of nowhere? That's my biggest problem, people always tell me that my plot twists feel weird and unnatural.
There definitely is – foreshadow. Drop subtle but clear hints about what’s coming all throughout the novel, so that when your readers look back it will be clear that those hints indicated your plot twist.
As an example, I’ll use The Shining by Stephen King (one of my favorite books ever). *SPOILER ALERT!*
Danny Torrance, the protagonist, is a five-year-old with telepathic powers. He has a visitor (his parents call it his imaginary friend, but it’s not) named Tony who sometimes shows him things: Tony once showed him where to find a trunk containing his father’s manuscripts; Tony also shows him horrible things happening in the hotel in which his family will be spending the winter (up in the mountains of Colorado, so they’ll be snowed in). After Danny has a semi-catatonic episode, his parents take him for a medical checkup, just to be sure of his health before they’re snowed in for three months.
The pediatrician, of course, speaks to Danny during/after his checkup, and acts somewhat as a psychiatrist; he then speaks to his parents about his diagnosis (which is nothing serious – only stress). His opinion on Tony is that he was created to deal with hard times (moving, and Danny’s parents considering divorce), and Danny no longer needs Tony, because the family is rebounding; however, Tony isn’t leaving easily, hence the nightmares Danny complains of, and the fainting spell he had. Then the pediatrician says to Mr. and Mrs. Torrance something along the lines of “And of course, you know why he’s named Tony and not Michael or Greg”, and during my first time reading, I didn’t understand what he meant. After the plot twist, it clicked.
Also, it is mentioned that Danny was born with a caul over his face, which superstition says signifies a child gifted with the second sight (in other words, the child will be able to see the future). At the time, this – and what it implies – seems like a secondary detail. Again, at the plot twist it is clear that it actually means more.
The plot twist occurs during Tony’s last visit, which takes place during the novel’s climax. During his last powow with Danny, he comes closer, into Danny’s field of vision – Danny has never seen Tony’s face before, so this is a significant event. Tony looks just like Danny, but older – still young, but maybe 11 instead of 5. Then, in the prose, Stephen King writes Danny’s full name, middle name included, which doesn’t happen at any other place in the novel: his full name is Daniel Anthony Torrance, or in other terms, Danny “Tony” Torrance. The conclusion drawn from this is that Tony is actually Danny from the future, and that Danny has both telepathy and second sight.
This plot twist grows roots throughout the book: how Danny never sees Tony’s face, how Danny was born with something said to promise the second sight, the psychiatrist’s comment on Tony’s name. Basically, Stephen King lays everything on the table without giving us the one detail everything stems from – if it was drawn as a chart, all these small details would surround one big box in the middle, and until the plot twist, that big box would be blank. After the plot twist, that box would be filled in with TONY IS AN OLDER VERSION OF DANNY AND DANNY HAS PRECOGNITIVE VISIONS. That’s what you need to do: lay everything out for the reader except the actual plot twist itself.
I hope this was helpful! If you have any more questions, please feel free to ask! - @authors-haven