Rick Riordan‘s beloved Percy Jackson and the Olympians series has many characters, ranging from the ancient Greek gods of Olympus to their many half-blood children.

But as longtime readers and fans of Riordan know, the series really has a primary trio of characters that stand above the rest: Percy Jackson himself, Annabeth Chase, and the satyr Grover Underwood.

Now we know who will be playing those primary roles in the upcoming Disney+ series adaptation of Percy Jackson and the Olympians.

After previously confirming that Walker Scobell (The Adam Project) will play Percy, Disney announced this week that Leah Sava Jeffries (Empire) will play Annabeth, and Aryan Simhadri (Spin) will play Grover.

When the Percy Jackson books were previously adapted into movies (2010’s The Lightning Thief and 2013’s Sea of Monsters), these three roles were played by Logan Lerman, Alexandra Daddario, and Brandon T. Jackson, respectively.

Like Percy, Annabeth is the “half-blood” child of a god. In her case, she’s the daughter of Athena, goddess of wisdom, and as such is a brilliant strategist and clever thinker.

While Percy only becomes aware of his divine heritage at the start of the series, Annabeth has already been training at Camp Half-Blood for years. So she helps Percy learn to survive the world of monsters and myths, while he teaches her to connect with humanity.

Grover is a satyr (i.e. half-boy, half-goat) who disguises himself as a human boy. He is Percy’s best friend, and is always willing to help others — even at his own expense.

No release date has yet been announced for Percy Jackson and the Olympians. The pilot will be written by Riordan himself and Jon Steinberg (Black Sails), and directed by James Bobin (The Muppets). Steinberg will also oversee the series with his producing partner Dan Shotz.



NULL Invalid API key or channelobject(stdClass)#8604 (1) { ["error"]=> object(stdClass)#8590 (3) { ["code"]=> int(403) ["message"]=> string(117) "The request cannot be completed because you have exceeded your quota." ["errors"]=> array(1) { [0]=> object(stdClass)#8586 (3) { ["message"]=> string(117) "The request cannot be completed because you have exceeded your quota." ["domain"]=> string(13) "youtube.quota" ["reason"]=> string(13) "quotaExceeded" } } } }