Pre-production The film, initially titled
Half to Death, is based on an original story created by screenwriter
Scott Lobdell. It was first announced in June 2007, to be produced by
Michael Bay and
Rogue Pictures, and directed by
Antti Jokinen.
Christopher Landon was hired to rewrite Lobdell's original screenplay. Landon said, "The movie was in pre-production or soft production at the time, and I came on and I loved the concept of the movie. I loved the idea of a girl, trapped in a time loop who has to solve her own murder." The project was only revived years later, as original producer Angela Mancuso had lunch with Landon and remembered
Half to Death. Landon decided to send the script to
Jason Blum of
Blumhouse Productions, with whom he had worked in the
Paranormal Activity sequels, and he approved it, leading to a
green-light by
Universal Pictures. On November 8, 2016, it was announced that
Ruby Modine, Charles Aitken and Rachel Matthews had joined the cast, alongside Rothe and
Israel Broussard. The film got eventually retitled
Happy Death Day in June 2017. The baby mask was constructed by
Tony Gardner and chosen as one of two potential concepts. Landon explains, "During preproduction ... I was expecting my first son. I don't know if I just had babies on the brain, or if I was subconsciously scared to become a father, but that baby image was floating around in my head. Tony made us a pig mask, too, but when I wore the baby mask in the office, I scared a co-worker, and we thought ... yeah, this is it. This is the one."
Scream was listed among the influences Christopher Landon took for the film, along with
Halloween (1978),
Groundhog Day and comedies of the 1980s such as
Sixteen Candles and
Back to the Future, given he aimed to make a "fun, silly horror movie". He also aimed to emulate the protagonist's personal growth in
Groundhog Day to comment on "this age of social media and all the crappy things that kids do to each other". In the original draft, Lori and Dr. Butler were the killers together. Landon says, "They were a psycho couple murdering Tree together. That ultimately didn't work for me. I thought Gregory was a great opportunity to be a suspect. To make him a killer, it didn't help me. That was a change I really wanted to make." Also, in the original draft there was no birthday,
Filming Filming took place at and around
Loyola University in
New Orleans,
Louisiana, and it lasted five weeks. The scenes where Tree awakens in Carter's bed after her death were filmed back to back in a span of two days. The scene after Tree pushes Lori out of the window was supposed to take place at the sorority house, but the filming permit had ended before production was able to shoot there, forcing the location to be changed to a Los Angeles diner.
Legal issues The film, which is set in New Orleans (and was filmed on the campus of
Loyola University New Orleans), has the killer wearing a mask that is nearly identical to "King Cake Baby", the official mascot of the
New Orleans Pelicans basketball team. Johnson Berticelli, the mascot's creator, sued Universal Pictures and Blumhouse for copyright infringement, demanding half of the film's profits. A settlement was reached in 2021.
Music Bear McCreary composed the score of
Happy Death Day. Reflecting the film's blend of horror and comedy, McCreary stated that he wanted "a schizophrenic, dual personality, with light-hearted comedic scoring on one end, and genuinely terrifying soundscapes on the other." This approach is highlighted by the two main
leitmotifs, an energetic theme for Tree evoking contemporary pop music, and one for the killer that consists of distorted vocals provided by McCreary's young daughter Sonatine. The percussion in the score are mostly sampled from college
marching band drum lines to evoke the collegiate setting. While the film's trailer featured
50 Cent's "
In Da Club" as Tree's ringtone, Landon said the film could not afford to use the track, but still preferred the eventual song music supervisor Andrea von Foerster improvised, the comedic "Busy Day Birthday". == Reception ==