Fans of Sin City will find much to admire in 300, a faithful adaptation of a Frank Miller graphic novel from 1999. Sporting more color than the previous film, 300 sticks closely to the content and style of Miller's book. Undeniably impressive on a visual level, the film is considerably more prosaic in terms of plotting and acting.

The screenwriters assume that viewers already know the historical context for the Battle of Thermopylae in 480 B.C., when a small number of Greeks held off a much larger force led by Xerxes of Persia. In contrast to the book, the film is narrated by Dilios (David Wenham), who explains in flashbacks how the Spartan king Leonidas (Gerard Butler) defied both his government and the Oracle at Delphi to confront the massive army of King Xerxes (Rodrigo Santoro). Leonidas and his 300 troops make their stand at a "hot gate," a narrow pass leading from the sea through mountains to the interior of Greece. The king's plan is to hold off the Persians long enough for other Greeks to come to his aid.

Leonidas is counting on his queen Gorgo (Lena Headey) to arrange for reinforcements, but she must overcome the duplicitous politician Theron (Dominic West), whose true motives are revealed well after most viewers will have guessed them. Subtlety is not one of the script's strong points, as can be seen by the traitor Ephialtes (Andrew Tiernan), depicted here as a groveling, hunchbacked orc.

It takes some 45 minutes before the actual battle commences, but the last half of the film is essentially nonstop fighting. At one point director Zack Snyder (who also helmed the 2004 remake of Dawn of the Dead) gives Leonidas a magnificent tracking shot in which he hews his way with shield, spear and sword through an seemingly endless supply of Persian foes, beheading, impaling, and hacking off limbs. Unfortunately, the shot occurs early on in the first of three days of battle, forcing Snyder to play "Can you top this?" for close to an hour.

Armored rhinos and elephants join "Immortals" (masked Ninja look-alikes) in the onslaught against the Spartans, making the film seem at times like a very elaborate and expensive video game. In all the mayhem it's difficult for actors to have much of an impact. Butler has the physical presence, and the physique, of a Spartan king, and Vincent Regan conveys some emotional complexity as a captain who loses his son in battle. The other actors are defined mostly by their costumes, and by their obvious devotion to working out.

Miller has acknowledged that his book was inspired by The 300 Spartans, a 1962 film, and certain elements of 300 evoke the old sword-and-sandal genre--the wide array of accents on display, for example, or the weirdly underpopulated city scenes. New to the formula is the suggestion that the Spartans were battling the Persians for the right to a free, democratic government. Forcing a connection between the events at Thermopylae and the current war in Iraq may be the least appealing aspect of 300.