Let's talk about twists. If you want to know what caused this essay, watch minute 22 of this video, but there are mild SOMA spoilers.
I have a lot of experience with twists. There are times when I've had to pull a twist on two dozen people working together, all spending more time with the world than I spent creating it.
So let me tell you: the quality of the twist is not what matters. What matters is where the twist is.
A lot of people try to outsmart their audience, put in a twist they'll never be able to figure out. Hell, maybe SOMA does that in the end. But that's the wrong approach, because it's in the wrong place. It's like saying you're going to build a bigger and better boat to sail across the Himalayas.
The point of a twist is to shatter ground the audience thinks is solid, not to shatter something that the audience already thinks is broken. If the audience is struggling to figure things out, a twist isn't going to have much impact, because it's not a twist. It's just another piece of the puzzle.
For example, if I write a story where the main character doesn't know who her father is, the audience will naturally consider each vaguely right-aged man in the story. If I drop hints about who her father is, they'll figure it out immediately. If I drop misleading clues, they'll feel annoyed that they were misled. No matter who the father ends up being, it's not really a very good twist because the audience is already on their toes searching for that mystery.
On the other hand, Star Wars has a very pedestrian "Luke, I am your father" twist. It's a bit too spoilered to still have the impact it had back then, but it had a fair amount of impact.
Nobody in the audience was thinking about Luke's father much. They thought they knew Luke and Vader's relationship. So the twist shattered that understanding and worked well.
You don't need a complex twist. You need a well-placed twist, to shatter things the audience thinks they understand.
This is especially important in science fiction stories, because magic science widgets are inherently unstable. Introducing a concept like warp drive or cloning automatically makes the audience grapple for a pattern and struggle to extrapolate. They are reaching out for everything they can find, and a twist won't even make them blink. They'll just be happy they found another piece of the puzzle.
That is, if you mention clones or androids in your story, the audience will automatically consider whether any given person might be a clone or android. If you mention psychic powers, the audience will search for things that might be psychic. If your twist is related to a sci fi concept, it's not a twist because the audience will never be on truly solid ground.
That's why worthwhile sci fi tends to fall into a few categories:
Extrapolate faster than the audience, and you can leave them amazed at the wonders your story holds. In order to do this, you'll need a new concept or a new take on a concept, since if the audience has seen it before, they'll have extrapolated it before. A good example of this is the Foundation series.
2) The Human Twist
The most reliable way to put a twist into a sci fi story is to put the twist on the human side rather than the sci fi side. This is why nearly every sci fi story reveals that a person is something they don't appear to be. A robot, a time traveler, the inventor of space dust, a double agent, etc.
The audience will feel more comfortable with the human side of your story than the sci fi side, and they'll usually stop looking for human-side twists. Sci fi stories can get away with human-side twists more easily than other genres specifically because the audience will be focused on the razzle-dazzle magic science half of the story.
But be careful about revealing that someone is actually a robot, because that's been done. A lot.
3) The Thematic Twist
Another popular way to put a twist into a sci fi story is to set it up with a stinger that changes the audience's perspective. A very common, trashy way to do this is to reveal that your far-future space opera is actually in the past and now the heroes have just become Adam and Eve. It's a good example, I guess, but it's really overdone.
A razor-sharp twist at the end of the story can reframe the entire story and leave it lodged in your mind for a long, long time. However, this is extremely difficult to do. If the audience can guess the twist, it won't work, and if the audience thinks the twist is an ass-pull, it won't work. The only way to pull this off is to have a twist which fits into the theme of the world rather than the logic of the world.
A good example of this might be the Ghost in the Shell story where pleasure bots start going ballistic and the team has to figure out why. Rather than a terrorist, it turns out that the bots were being sabotaged by corporate slaves that desperately wanted a rescue. There's not much in the story to help you "predict" that, but it's not a murder mystery, so that's fine. The theme of GitS supports this kind of story, and therefore it doesn't feel like an ass-pull.
I do not recommend aiming for thematic twists unless your world has a very strong theme.
4) Muddy Themes
A lot of sci fi stories are built around a "moral". For example, during the sixties every sci fi movie had the moral "scientists shouldn't tamper in god's domain". However, sci fi with a moral is typically excruciatingly bad.
Instead, consider thematic mud. Not only is it easier to write, it's also easier to watch.
See, thematic mud doesn't have to be something that is foreshadowed or deeply rooted. All you need to do is cast light on different sides of the story, or on things outside the main story line that are affected by the main story. This casts mud into an otherwise straightforward experience.
For example, the original Alien movie wasn't simply "alien kills humans". The theme was muddied by a corporation trying to sacrifice the crew and an android betrayal. This became a staple of the Aliens universe, and is a big reason it remains so popular: the muddy themes give it a much wider story space than a universe where all the humans are always heroes and all the aliens are simply villains.
Obviously, this is pretty common. The original Frankenstein novel shows the monster in a sympathetic light. Vader's depth comes from knowing he is Luke's father. Nearly every hero is written flawed so we can feel this same muddy sense.
By spraying a bit of mud into the theme, you can engage the audience more and create a better environment for fanfiction.
Create a world (typically a terrifying one). As the people within the world become more and more desperate, the audience will become more and more assured that they understand what is going on, although they may not understand why. Then you introduce a justification which gives the in-world characters some concrete direction and flips the audience's understanding upside-down.
For example, a more memorable Star Trek episode is the one where Crusher is watching the Enterprise slowly shrink. People are vanishing, and eventually it's just her in a race against a collapsing universe. There is no foreshadowing of the twist - the authors didn't go "oh, hey let's go into WARP hey there was a bit of a WARPY WARP WARP malfunction in the WARP BUBBLE which you know COLLAPSES SLOWLY after you WARPY WARP but everything is oooookay".
Instead, they just let the tension rise, let the audience get comfortable with the world, and then revealed that it was a warp jump malfunction. They didn't need to outsmart the audience, or leave bread crumbs so the audience could figure it out. It's not a murder mystery. They just waited patiently for the right time, then let Crusher discover the justification for her adventure.
This gave Crusher something to grab, and the episode launches into a pretty tense race against a disappearing universe. The audience, now understanding that this is a warp drive malfunction, immediately begins thinking in the same way as Crusher: "What do we do to get out of this? Can we restart the warp core? What is the solution!" And the pacing of the final race is such that Crusher discovers ideas at roughly the same speed as the audience, similar to an extrapolation sci fi story on fast-forward.
It doesn't matter that it's basically nonsense, or that the phenomena is never brought up again. The pacing is fast enough to keep the general audience from being able to think that deeply.
Justifications are extremely common. Nearly every sci fi horror story is a justification story. The trick to remember is that your reveal switches your story from whatever it was to a race to extrapolate faster than the audience.
For example, in the Thing, the justification is revealed pretty early. The extrapolation is incredibly dense, though, because of the nature of the challenge. Therefore, an hour can be spent on stretching that extrapolation out just like a murder mystery, and at the end you may still be left with questions!
Terminator is similar, except that instead of a murder mystery it's an action movie. The movie continually reveals new powers for the Terminator, but each power makes perfect sense: the movie extrapolates what a robot from the future would be able to do, just a little faster than the audience will probably manage. Yeah, future robot can see better than we can. Survive getting hit by a car. Has metal underneath his skin. Can remove and repair his eye. Can imitate a voice. Terminator 2 is exactly the same technique, but with a more advanced robot that can be extrapolated with more breadth.
SOMA was likely trying to fall into this category, but they attempted to foreshadow their "twist". The problem is: it's not a twist. It's a justification. They needed to reveal it when the player started to feel comfortable with the rules of their situation. Then they needed to launch into a series of extrapolations where they reveal more and more of the things the justification can do to the world.
That's my thinking on twists.