Фрэнк Миллер прежде писал сценарии для нескольких блокбастеров (например, "Робокоп-2" и "Робокоп-3") и был крайне расстроен тем, с какими искажениями его сценарии воплощались на экране. Поэтому он довольно долго был против того, чтобы уступать продюсерам права на экранизацию своих графических романов. Его скептицизм сумел поколебать только Роберт Родригес, который предложил Миллеру сделать не экранизацию, а максимально точный перевод графического романа на экран. Чтобы показать, как будет выглядеть такой перевод, он снял короткометражную новеллу "Клиент всегда прав" (она затем вошла в фильм "Город грехов" как пролог). Миллеру результат понравился и он согласился на экранизацию при условии, что будет режиссером фильма наравне с Родригесом. Успех проекта сделал Миллера значительно меньшим скептиком и в дальнейшем он разрешил Заку Снайдеру экранизацию комикса "300", оставив за собой право творческого контроля (в этом проекте Миллер выполнял функции консультанта и одного из исполнительных продюсеров).