When Bob Gale saw a picture of his dad as a teenager in an old yearbook and wondered if they would’ve been friends if they were in high school at the time, it led him to conceive the movie he’d be identified with for the rest of his career. With its unforgettable characters, airtight story structure, endlessly quotable dialogue, and use of foreshadowing, Back to the Future is one of the most perfectly crafted screenplays of all time.

RELATED: Great Scott!: 10 Behind-The-Scenes Facts About Back To The Future

Robert Zemeckis turned that script into a masterpiece. Part of the treacherous journey of bringing Gale’s story to the screen involved casting the perfect actors to play Doc Brown and Marty McFly.

Marty: Eric Stoltz

Lance the dealer in Pulp Fiction

Michael J. Fox was always the top choice to play Marty, but the producers of his sitcom Family Ties didn’t want him to be off the show while his co-star Meredith Baxter was pregnant, so they wouldn’t allow him to take the role and Eric Stoltz was cast instead.

The crew actually shot six whole weeks with Stoltz, but it became apparent that he was too dramatically tuned to work as a comedic lead, so he was fired. By this time, Baxter was back on Family Ties, so the producers allowed Fox to star in Back to the Future.

Doc: John Lithgow

John Lithgow in Interstellar

While Michael J. Fox was the producers’ first choice to play Marty, Christopher Lloyd wasn’t the first choice to play Doc. The top choice for the role was actually John Lithgow, who was initially offered the part.

However, Lithgow had to turn down the offer due to a scheduling clash with Twilight Zone: The Movie, in which he appears in the show-stopping “Nightmare at 20,000 Feet” segment.

Marty: Ralph Macchio

Daniel-San in The Karate Kid

Ralph Macchio was one of the actors who auditioned to play Marty McFly after the producers of Family Ties initially blocked Michael J. Fox’s casting, but it wasn’t meant to be.

Now, Macchio is instead remembered as the star of a different ‘80s franchise, The Karate Kid. It might not be quite as popular as the Back to the Future trilogy, but The Karate Kid franchise is still pretty darn popular.

Doc: Steve Martin

Inspector Clouseau pursing his lips in The Pink Panther

After John Lithgow turned down the producers’ initial offer to play Doc Brown and before Christopher Lloyd was eventually cast, comedy legend Steve Martin was considered for the role.

RELATED: Back To The Future Sequels: 5 Things They Got Right (& 5 That Missed The Mark)

Several of Martin’s contemporaries, like John Candy (with whom he starred in Planes, Trains & Automobiles) and Chevy Chase (with whom he starred in Three Amigos!), were also considered for the part.

Marty: John Cusack

John Cusack as Lloyd Dobler in Say Anything

To any fan of ‘80s movies, it should come as no surprise that John Cusack auditioned for the role of Marty McFly, because it seems that Marty is the only teenage role throughout the decade that Cusack didn’t play.

From Say Anything to Sixteen Candles to Better Off Dead, Cusack was one of the biggest stars in teen comedies throughout the ‘80s. He later satirized this reputation in Hot Tub Time Machine.

Doc: Gene Wilder

Gene Wilder as Willy Wonka

Gene Wilder was under consideration for the role of Doc Brown before Christopher Lloyd was cast. Having played Willy Wonka, Leo Bloom, and Dr. Frederick Frankenstein, an unabashedly zany role like Doc would’ve been right up Wilder’s alley.

Similarly wacky performers who could be credited as successors to Wilder’s groundbreaking style of comedy, like Robin Williams, were also considered for the role.

Marty: Johnny Depp

Johnny Depp as Edward Scissorhands

Johnny Depp reportedly auditioned for the role of Marty McFly in Back to the Future, which hit theaters a year after Depp’s big break in Wes Craven’s A Nightmare on Elm Street.

When asked about Depp’s audition, screenwriter Bob Gale said that he forgot that Depp had even read for the part. He joked, “So, whatever he did, it wasn’t all that memorable, I guess!

Doc: Eddie Murphy

Eddie Murphy in Beverly Hills Cop

Although Doc Brown is written to be much older than Marty and Eddie Murphy was relatively just starting out his career in 1985, the Beverly Hills Cop star was under consideration for the role.

RELATED: The 5 Best (& 5 Worst) '80s Comedies

He might’ve been a little young to play a mad scientist, but Murphy would’ve undoubtedly nailed Doc’s motormouth line delivery as he races through scientific jargon.

Marty: Charlie Sheen

Charlie Sheen in Two and a Half Men

Long before he would star in eight seasons of Two and a Half Men before getting fired for drug use and taking the whole fun of the show off the studio lot with him, Charlie Sheen auditioned to play Marty in Back to the Future.

Sheen ended up starring in a much different mid-‘80s hit instead: the harrowing Vietnam War epic Platoon. Before Michael J. Fox was cast as Marty, both C. Thomas Howell and George Newbern auditioned for the part.

Doc: Jeff Goldblum

Ian Malcolm lying shirtless in Jurassic Park

Jeff Goldblum was considered to play Doc Brown before the casting of Christopher Lloyd. Goldblum would go on to play a different eccentric scientist, Dr. Ian Malcolm, in Jurassic Park a little less than a decade later.

John Cleese, Gene Hackman, Michael Keaton, Randy Quaid, Dudley Moore, Joe Piscopo, Henry Winkler, and James Woods were all considered for the role, too, prior to Lloyd’s casting.

NEXT: 10 Sci-Fi Comedies To Watch If You Like Back To The Future