I've been reading the 2005
Dan Brown Witness Statement from the Random House trial brought forth by the Holy Blood, Holy Grail authors (they lost). Excellent insight into crafting an adventure story. Brown created a character (named after the claimants) to make Langdon more of a fence sitter, in the film he was even more so an Indyesque skeptic:
I needed to create a character who could say some of the more farfetched and controversial things that I initially had Langdon saying. I wanted to preserve the integrity of my protagonist. I wanted Langdon to be able to stand back, raise questions and play devil's advocate a little, and also fill in some history.
In the Indy 4 scripts, the alien reveal was presented earlier and later before landing in the middle. Partway through writing, Brown removed most of the masonic elements for another book, but passed on aliens:
Rule by Secrecy was published in 2000, and The Secret Teachings of All Ages in October 2003. My recollection is that I read Rule by Secrecy in Conway one summer and liked it a lot, but hated the conclusion about aliens, which I thought was somewhat silly.
His books are rather formulaic: "a murder, a chase through foreign locations, the action taking place all in 24 hours, a code a ticking clock, strong male and female characters, and a love interest." But "the hard part of writing a novel is not the ideas but rather the nuts and bolts of the plot and language and making it all work."
One challenge when presenting the reader with a complicated code is to control the flow of information so the overall mystery is not overwhelming. Finding a plot device that enables me to dole out information in bite size pieces is helpful.
Especially in film, you need a subordinate to receive this information...
One of my favourite ways in which to share information with a reader is to have Langdon give an "academic lecture" on the topic.
And that's where Shia comes in. Most were spoiled before viewing Crystal Skull, but the lectures hold up pretty well in retrospect or to the uninitiated.