Peeling Back and Onion
What are we peeling back?
Everything? I guess.
Warning: This article will have some minor spoilers for shows/movies like Knives Out, Squid Games, Hitchhikers Guide to the Galaxy, Inception, and Severance.
Why are we peeling back layers?
This has been something I've been thinking about for quite a while, and recently I've finally been able to conceptualize this idea of how top tier shows/movies, games, and even development rely on various levels/layers of complexity in order to elevate the final product. These more complex topics I think are what drive interest and give that almost magical feeling when we discover something new.
I was reminded of this JJ Abrams interview on providing answers in story telling, and how they plant seeds to multiple questions that may have multiple answers. This keeps the audience engaged, thinking, and developing their own theories. (1)
Good murder mystery shows also do a great job of this leading up to the final reveal. Knives Out Glass Onion is literally about pulling back the layers! Other shows and movies like Inception, Everything Everywhere All at Once, Edge of Tomorrow, The Residence and many others do a great job at story telling and raising the stakes and questions as the stories play out on various story telling levels.
In the age of AI slop and cheap budgets to pump out shows, many things that once use to excite me just feel mundane. Just recently I stumbled upon this interview clip of Jameela Jamil explaining second screen viewing and how scripts need to be simplified for an audience that is always on a second screen. (Do you doom scroll while watching TV? If so this is partially your fault!) This really helped confirm some of my suspicions of the downward quality of a majority of entertainment. (2)
I also remember seeing this clip of Matt Damon explaining what makes a good writer and kept providing examples in a "yes and..." type format where the same scene was improved upon each and then repeating it again using "but if you kept rolling... <insert better example here>" which kept raising the stakes. This adds more depth to what could have just been a very simple and flat feeling scene. (3)
The biggest offenders
I was incredibly disappointed when Squid Games S2/S3 dropped. Season 1 was interesting. It was new. They had a good variety of various game. We were always wondering who was actually controlling the games and who would end up surviving at the end.
While season 1 was great, it seemed like the writers got lazy and just copy and pasted a huge portion of the plot in S2. The end of Squid Games S1 left us with Gi-hun wanting to get revenge, and then S2 starts with some minor revenge on one of the recruiters, but then the remainder of the first half of Squid Games S2 was just playing the exact same games. This almost felt like a reset. Any excitement for him getting his revenge was kind of put on hold as it felt like we were just dropped into S1 again.
While this was used as a plot device to show that Gi-hun had indeed been in the games before to the other contestants, it didn't even matter because almost no one listened to him. While this reaffirms that people are 'greedy,' we always knew this based on the first season so by the middle of S2 really nothing new had happened to move the story forward. The second half of S2 was the contestants trying to have an uprising against their captors, but it failed leaving the end of S2 with no movement forward in any story or plot other than the same games + embarrassing failure to take over from the bad guys. Squid Games S3 was just more slightly different games that cumulated in just failure after failure for Gi-hun and ultimately he was never able to get his revenge. There was a huge opportunity to to really dig into the underworld and who controls the games and see how deep the corruption actually ran, but none of that was really explored.
In the end nothing really happened to move the plot forward in any major way and there were no major reveals to how the actual game organization actually works. The final twist was the seed being planted that a US version is coming next, but will the writing actually improve and will there actually be more substance? Only time will tell.
Alice in Borderland had a very similar vibe between S1 and S2 where they mostly just played games throughout the S2 with no major questions being answered or major reveals happening towards the end of S2. Even the ending was the same as Squid games with the hint towards a US based version.
If we think of these shows as having various levels, where various questions and answers can unlock the next level, these shows kind of stalled after S1 and remained flat for the majority of the latter seasons. S2 was basically a partial reset and there was no major events that happened to really elevate them past the original season.
And finally the most recent offender that I just recently watched was House of Dynamite. The first 3rd of the movie was absolutely fantastic! It was well paced, continuously building suspense up to what was supposed to be one of the major turning points of the movie... and then we got rug pulled. The movie ended up being split into 3 parts, where each part replayed the events from a different perspective. This type of story telling that is re-told from various perspectives has been done before, but usually each retelling uncovers something new that adds to the story. In House of Dynamite we never got that. All 3 parts told the same story from very similar perspectives without any additional major reveals, and all 3 ended at the same final event so there was never a true climax or anything more interesting after the first time the story was told. This ended up basically reducing any type of excitement or interest that built up in the first third, as there was nothing new to really raise the stakes in part 2 and 3.
The end of the first third of House of Dynamite can pretty much be considered the main climax. By the end of part 2 and 3 it was pretty much less and less climatic. Its possible this was the artistic direction the writers wanted to go to try and give an impending sense of doom setting in, but it leads to what I think is an overall lackluster story.
In comparison to Vantage Point, which is another movie that retells the story from different perspectives, each retelling provides significantly more context to what is going on, and then the final portion of the movie is dedicated to the protagonist acting upon the information that was learned leading up to the final climax and resolution.
Another movie that I think does a good and short retelling of events to move the story forward is Other Life. The main character is trapped in a simulation where she has to live 365 days inside of a solitary prison. At the end of the last day, the simulation numbers resets back to 1 due to a bug, and the dread starts to sink in that she is going to be unable to wake up. Instead of her being stuck inside and doing the exact same thing for another 365 days while people outside of the simulation try and fix the issues, this second time through she breaks out of her cell on the first day of the simulation and the viewer is left questioning if she was actually stuck in a simulation or was actually in the real world the entire time. This short 'glitch' adds a ton of interest to the story and is one of the major turning points of the movie.
Well, do you think any shows are good?
TLDR; Yes! I think one that is fantastic to expand on this idea of layers adding to complexity in a good way is Inception by Christopher Nolan. The idea is that there is a machine that can let someone elses dream, and the deeper you go into someones dreams the deeper into their subconscious you can get. And if you get deep enough, you can implant an idea in someone elses mind, with them thinking that it was theirs all along.
Christopher Nolan builds up this idea of needing to go down multiple dream layers using a machine inside of each dream, and each time you go down a layer there are changes in terms of time dilation and higher stakes of not being able to wake up. He also connects the layers where if something happens in an upper layer, it can mess around with the physics of the lower layers. This provides the story with a great climax where all of the layers need to successfully resolve at the same time to wake up the characters in what Nolan dubbed the kick.
Moving down each layer of dreams brings higher stakes and then by building subtle connections between them increases the immersiveness of the story and shows the huge amount of thought and details Nolan put in to the story.
I like to think that this combination of layers and connections exponentially increases the enjoyment of stories when done right, as it allow allows the audience to build their own theories of what may happen next based on the parameters of the world we are observing. This leads to that feeling of wanting to see what happens next because we want answers to our own questions!
A more recent show that really captures this idea of building up layers of complexity is Serverence. The concept itself is pretty simple, a megacorp invents a way to split the personality of a person, where one personality can have a job that require utmost secrecy while inside a designated workspace so the information never leaks (innies), and then when outside they return to their normal selves (outies) that have no recollection of what their innies did for the day. The innies basically have amnesia where all their memories are wiped but they still have the capacity to walk and talk. Because the innies lack the knowledge of basically everything, we explore and discover this secret space through their experiences in it. Everything in this world that we learn for the first time, the innie is also learning at the exact same time, and things keep getting weirder and weirder. There are many levels of complexity in the show, from the physical way that the characters descend the elevator to the secrets being hidden from them. The way the show is written leads to more question than answers of what is really going on behind the scenes. This keeps us wanting more and more so we can get answers to how this crazy world actually works.
And what about games?
Video games do a good job of providing players with multiple layers of immersion. A well made game can have stories with multiple levels to it, player progression, character levels, spell levels, skill trees, gear, items and other mechanics that build on each other. These are the types of games that can be incredibly immersive and keeps the player coming back for more.
World of Warcraft is a long standing MMO that gives players multiple ways to level up their characters across a variety of mechanics. As the character gets to a higher and higher it gets more powerful to be able to take on more difficult content. The character levels go up, the gear levels go up, the professions go up, and the difficulty goes up. This progression typically plays out over the course of weeks to months in order to reach the level and item caps. This provides players with a sense of pride and accomplishment in everything that they have accomplished as they try and hit the power ceiling offered to them by the devs.
Another game like Team Fight Tactics (TFT) is a good example of a completely different genre of game that also has various levels of complexity to keep it interesting. It is an auto battler where each game takes ~30 minutes, and is split into ~30 smaller rounds. Each round the goal is to improve your team as much as possible and the game provides you with multiple mechanics on how to increase the strength of your team. Many of the mechanics have a high level of variability so no two games ever play the exact same way and the player is always building a better and better team for each round. As a player you have to make decisions on what power ups you want to activate, when to level up, what units to buy, and how to manage your various resources like health, economy, and items. Every game is a unique experience which gives it a high amount of replay-ability. And then to top that all off, around every 4 months they replace the sets with a new core mechanic and characters to keep things fresh.
And books?
One series that I recently got into is Dungeon Crawler Carl that takes this concept of using levels to increase complexity to the next level. The books themselves cover ~1 level of the dungeon where the characters move down each level towards the end. Because this falls into the genre of LitRPG there are tons of opportunities to introduce new mechanics to the world. There are so many levels of complexity baked into this book it is crazy!
- The characters are dumped into the dungeon as level 1 characters and level up throughout the series.
- The dungeon is controlled by aliens so you get an assortment of creatures and personalities as different species are introduced. It kind of reminded me of Hitchhikers Guide to the Galaxy in terms of aliens trying to take over.
- As the characters level up they unlock achievements, skills, and loot boxes.
- The loot boxes have various levels where each level dramatically increases the value of the items the characters receive.
- Like other complicated games, as the characters continue to level up they unlock additional menus and interfaces to manage all of their skills and abilities.
- Each level has its own core mechanic that is written around. This is similar to TFT where each set brings in a new mechanic that the gameplay is based around which keeps the story fresh for each book.
Ok, but how does this relate to programming
"Any technology sufficiently advanced is indistinguishable from magic" - Arthur C. Clarke
Programming from the ground up is layers upon layers of abstraction. It start all the way down at 0 and 1 bits at the memory level which we can control with machine code. And then programmers have built upon this to generate compilers, which takes a higher level language and translates it back to machine code. This is just the surface of tooling around modern tooling for developers. And now we are seeing the usage of AI increase where we can use natural language to have the AI write code that we want, which can then be compiled by the computer. While still in its infancy, this is just another layer on the existing stack of higher level languages.
Developers use these increasing complex tools to then build products for consumers and businesses to solve problems identified by their users. The quality and difficulty of problems we solve also increases with higher complexity code. Take a simple form for example. It may have input values, a form wrapper, and a way to submit. You can manually code in all of the input components, or you can build an abstraction that can build a form dynamically using a configuration array that selects which inputs to use on the fly. This can also be combined with multi-page forms, field arrays with multiple answers, modals, or anything else that you need to do with a form. As you abstract away the manual processes, a properly architected system can go together like Lego's, with each level improving upon the last. As you add more and more features, it begins to start feeling like magic with how extensible it can become.
Even for the users the overall goal of developing a great User Experience (UX) is to reduce complexity to make it as easy as possible for a user to complete their tasks. If a user has a hard problem that you can solve for them it can sometimes feel like magic in their eyes. For example if you can simplify a complicated excel sheet that takes hours to update into just a couple button clicks, your users will thank you for freeing up their time to work on other more important tasks! It may take hours upon hours of research and development to abstract away the complexity, but building up software this way leads to a great experience for users.
Wow that was long, so what is your point?
Well if you made it to here its actually pretty simple, don't shy away of adding complexity to your stories and software if it makes sense to your end users. If you have something that feels flat and bland it will be forgotten the second your users find the next best thing. These levels of complexity that the user can directly see (and even those that are hidden) can really make a big difference on how the user receives your project. Think of your software as almost telling a story, it may be simple on the surface, but as your users dig deeper and become experts they can feel that similar accomplishment of unlocking additional layers and functionality. Even as a developer you should be able to feel a similar sense of accomplishment as you build harder and harder features. I feel many times that a project may start off slow, but as it grows and you start layering on different concepts and feature, and they all combine into what is typically grater than the sum of the individual parts.