Emma Stone miała zagrać Amber, ale porzuciła projekt na rzecz roli w "Łatwej dziewczynie" i zastąpiła ją Jamie Chung. Pod uwagę była brana również Freida Pinto.
Evan Rachel Wood miała zagrać Rocket, ale odrzuciła rolę i zastąpiła ją Jena Malone.
Olivia Thirlby była brana pod uwagę do zagrania głównej roli. Następnie Amanda Seyfriend miała zagrać Babydoll, ale musiała odmówić z powodu konfliktu z harmonogramem czwartego sezonu "Trzy na jednego". Ostatecznie główna bohaterkę zagrała Emily Browning.
Eric Dane i Tim McGraw byli brani pod uwagę przy obsadzaniu roli High Rollera.
Angelina Jolie była brana pod uwagę do roli Dr Very Gorski.
Mia Wasikowska została zaangażowana do roli Babydoll, ale później z niej zrezygnowała.
Rufus Sewell był według plotek jednym z kandydatów do roli Blue Jonesa.
Film kręcono w Vancouver w Kanadzie.
Film był kręcony od 10 września 2009 roku do 29 stycznia 2010 roku.