The Clockwork Penguin Dreamed of Stars

It was one of those rare nights when the smog thinned out enough for stars to be visible in the sky above the penguin enclosure. Gwin adjusted her synthetic feathers with her beak, arranging them neatly and plucking out any that were broken or bent. She didn’t want to groom, but her programming said it was preening time, so she had no choice.

“You should get Zee to bring you some new feathers, you’re looking a little ragged.” Victor slithered between the bars that were built to keep humans out of the enclosure, back when there were humans. He coiled up on top of a nice warm rock, and his metal scales screeched as they scraped against each other. “Hopefully she still has some oil to quiet down these scales.”

“Get your oil if you want to, but I don’t need new feathers. I hate preening. I want to pluck myself until I’m smooth and streamlined so I can fly out into space and see the stars.” Gwin was a dreamer. The other animals judged this to be a flaw, but she saw nothing wrong with snapping at fish that were beyond the reach of her beak. She was tired of being confined, tired of the constant noise of the automated educational recordings, tired of acting out the same routines day in and day out.

“We are designed to teach humans about the animals that used to live on this planet. Traveling to the stars is not part of our programming.” Victor loved to lecture and was always looking for opportunities to give his overblown speeches. “You are supposed to waddle, swim, catch fish in your beak…and preen. We all behave the way we must—each within our limits—from the moment of our creation until the time we cease to function.”

“There aren’t any humans to teach, and there hasn’t been a real penguin for centuries.” There weren’t even any other clockwork penguins, not anymore. A few had broken down so badly that Zee couldn’t repair them, but most of the others had found a way to escape the zoo.

Gwin continued preening. She’d been trying for weeks now to violate her programming, even in the tiniest of ways, but there were firm limits to what she could and couldn’t do. She could download constellation charts and space shuttle schematics under the guise of “updating her knowledge database,” and she could dream of the stars when she slept, but when it was time to groom, she had to groom. “Why do you care what I do, anyway?”

“I’m a creature of my programming, just as you are.” Victor said. Which didn’t explain anything. “I’ve called Zee to come repair us.”

“I told you—I don’t want feathers.” Gwin lowered her head and glared at Victor. Her programming told her it was time to swim, but the water in her pond had long since evaporated away. She waddled around the perimeter of the dry pond, faster with every circle she completed, needing to do something but unable to comply with her programming.

Zee swung herself over the bars of the fence. Her black fur was ragged, with patches of orange where she’d used synthetic orangutan fur to cover her metal frame. “Real animals did that, too. Not out in the wild, but in enclosures like this.”

Swimming time ended, and Gwin stopped her frantic circling.

“Zoos aren’t good places for animals, even artificial ones. We’re not meant to be contained. I wish I could make it so you don’t have to do that anymore.” Of all the animals at the zoo, Zee was the closest to human, and she used her opposable thumbs to replace corroded wires and worn-out gears. She’d even recruited a small army of mechanical rats to scavenge the streets for spare parts. She’d trained them to avoid the sweepers that kept the city clean. Her willingness to help with maintenance should have made Zee popular, but no one trusted her because she was the only animal at the zoo whose programming allowed her to lie.

Victor uncoiled himself, and Zee cringed at the high-pitched whine of metal against metal.

“Sorry, Victor, I’m out of oil. The old tanker my rats were draining corroded through, left a huge mess down a couple city blocks. You’re making a terrible noise, though. I’ll see if we can’t find another tank, or sop up some oil off the street or something.” Zee turned to Gwin. “You need fixing?”

“Victor seems to think so, but no.” Gwin hoped Zee would go away and fix someone else.

“I could at least get you some feathers—”

“I don’t want feathers,” Gwin insisted. “I’m trying to get rid of feathers.”

“Why?” Zee asked.

“She thinks that if she makes herself more streamlined, she can fly to the stars,” Victor said. “Which is silly. Flying to the stars isn’t in our programming.”

“The bigger problem is the flying, not the programming. Even if she was streamlined, penguins are flightless birds. She wouldn’t be able to take off, much less leave the planet.” Zee stared off into the distance. “There are lots of abandoned shuttles in the city. My rats find animal components in some of them. Even feathers, sometimes.”

“No feathers. Not for me.” She wondered whether the shuttles were a truth or a lie. She’d have to ask the rats. Even if it was true, though, her programming was clear—her job was to educate humans, so her place was here in the clockwork zoo. Victor was wrong about the feathers, but he was right about that.

It was preening time again, and Gwin systematically plucked her feathers out. Doing that satisfied the need her programming imposed on her, but it was a deviant behavior. If any of the zookeepers had been around, she’d have been reprogrammed. Maybe that would even be a good thing—with an upgraded program maybe she’d be smarter, more like Zee. But there were no zookeepers because there were no humans, which, in Gwin’s opinion, invalidated her programming. Even so, she couldn’t ignore the urge to preen entirely, she could only stretch the rules, bend them a little.

“Those are perfectly good components.” Zee pointed to the pile of delicate synthetic feathers Gwin had left at the edge of her enclosure.

“Why can’t you believe that I don’t want feathers? I’m not like you—I can’t lie.”

“No, it’s fine you don’t want them,” Zee said. “Can I have them? Not for me, of course, I’m happy with my fur, but there are birds in here that could use some good feathers, even if they aren’t quite the right color. Here, we can trade. I’ll take the feathers and you can have this radio.”

Gwin peered at the ancient human artifact. The animals could communicate with each other via a radio signal, but she’d never seen an external radio unit before. “How does it work?”

“You tune it with this knob.” Zee demonstrated. “And if you find a station with signal, you’ll hear talking, or music.”

Zee got a faraway look on her face and Gwin wondered if the music was a lie. She poked at the radio with her foot, then tapped the knob with her beak. “I can’t turn the knob.”

“Well, let’s set it here for now.” Zee adjusted the knob, and the red line that indicated the frequency slid left until it was near the middle, between 100 and 101.

“Couldn’t we find one with music?”

“They all play static, mostly. But sometimes if you wait, there are other things.”

Gwin waited, but there was only static.

“Try again tomorrow. I think this station is a good one.”

The next morning, Gwin preened off all the feathers from her left wing. She liked the shiny metal underneath, dotted with tiny holes where the feathers had once been installed. It looked like the hull of a space shuttle—or, at least, it looked like what she’d always imagined the hull of a space shuttle might look like.

When preening time was over, she waddled to the radio and used the tip of her beak to flip the power switch. The radio hissed with static.

Gwin stared at the radio, listening. Her programming told her it was time to rest, so she edged her belly down onto the warm stone floor of her enclosure and lay there listening to the crackle of white noise.

The static stopped, and a voice spoke. “This is Lieutenant Navigator Lunares-Jove, calling from the Endeavour 7. We are holding position at the Saturn orbit checkpoint, awaiting permission to approach Earth. Please acknowledge.”

The message repeated three times. Gwin listened carefully and committed the words to memory. She didn’t understand all of it, but there was one word that particularly caught her attention—Saturn was one of the bright lights she sometimes saw in the night sky, though according to her charts it was a planet, not a star.

Gwin repeated the message to Zee the next time she came by. “What does it mean?”

Zee picked through her fur, searching for bugs that were never there. Her life was controlled by her programming as much as anyone’s, but Gwin had never heard her complain about it. When she finished grooming, Zee looked up. “The message means there is a shuttle that wants to come to Earth.”


“What else would speak in a language we understand?” Zee asked. “The reason we have language is to communicate our repair needs to the zookeepers and provide interactive educational experiences to human guests. Over time, we’ve stretched our programming to talk to each other, but these are their words.”

Victor slithered through the bars of the penguin enclosure. His scales didn’t screech when he coiled himself up, so Zee must have found him some oil. “Humans sent us a message? They’re coming here? This is something everyone should know about. It should not be kept secret.”

“Wait—” Zee started, but Victor broadcast the news about the humans to all the other animals. Soon every creature that could get out of their enclosure had gathered outside the fence. Meerkats ran back and forth, periodically standing on their hind legs to peer in. A badger with a missing leg pressed its face through a gap in the bars. Lions and zebras and other large animals took up positions farther back. All of them stared at the radio Zee had given to Gwin.

“We should prepare a welcome for them, here at the zoo.”

“And an answer to their message, so they know we’re here.”

Other voices began shouting out suggestions. Gwin stared at the radio, which now produced only static. Zee leaned in, as though she was also listening, but instead she whispered to Gwin, “There are humans in space, and you are programmed to educate humans.”

Gwin processed this information.

Zee turned the radio off. “There are shuttles in the city, my rats can show you where. Be careful to avoid the sweepers.”

Zee left the penguin enclosure. Instead of swinging over the bars, she used some kind of special card to unlock and open the gate. Gwin was free to roam the zoo, but her programming wouldn’t let her wander.

A lion pounced at one of the meerkats, nearly crushing it. All the small animals scattered, rushing back to the relative safety of their enclosures. Zee shooed the other animals away, too, spending an extra few moments talking to the lion that had attacked. Gwin wasn’t sure why she bothered—hunting was part of the lion’s programming.

With all the other animals gone, it was finally quiet in the penguin enclosure. Even the automated education tutorials had shut down for the evening, as they did every day at closing time. Gwin spent the evening thinking about what Zee had said, trying to put the pieces together.

She was supposed to educate humans.

The humans were out in space, among the stars.

Therefore…Gwin could go to the stars?

Gwin left her enclosure shortly after dawn, during a time when her programming instructed her it was time to swim. The zoo was much as she expected, from the descriptions of the few animals that had visited her—concrete pathways that wound around animal enclosures and concession stands. Most of the enclosures were empty, and the stands were filled with moldy stuffed animals and other decomposing toys. She hurried along, mostly driven by her urge to swim, but not wanting to linger here anyway.

Zee waved at Gwin from a fake tree in the chimpanzee enclosure.

Gwin paused, shifting her weight from one foot to the other to satisfy her need to move. “Zee, what’s your dream?”

“To see the stars, same as you.”

“Then why don’t you come with me?”

“I can’t leave the others behind,” Zee said. “No one else can do repairs.”

All those things sounded true, which made Gwin sad. She wished there was a way for Zee to have her dream, too, but she couldn’t think of anything that would help. “Goodbye, Zee.”

“Good luck.”

Gwin followed the path to an open courtyard, and beyond that was the main entrance. She expected some kind of resistance as she passed under the wrought iron archway, but being outside the zoo felt no different than being inside it.

Not far beyond the gate, she came across a rat.

“City?” it asked. “Shuttle?”

“Yes.” Gwin assumed the rat was part of Zee’s scavenger army.

“Follow, okay?” The rat scurried forward. Rats were small creatures with simple minds, better suited for scavenging than conversation. “Good shuttle. Passcode already cracked.”

Gwin followed the rat down a wide road, lined on either side with abandoned vehicles. Near the zoo, there were lots of open areas filled with trees—Gwin couldn’t tell if they were fake or real—and an assortment of small buildings in various states of disrepair. It was hard to tell where exactly the city started, but as she followed the rat the buildings got taller.

It was time for preening.

Gwin shouldn’t linger on the street, but she couldn’t help it. She listened carefully while she preened, but the city was silent. She plucked all the feathers off her right wing to make it match the left. She discarded the feathers in a pile, and it wouldn’t be long before a sweeper came and cleared away the mess.

Her rat guide fidgeted impatiently while she preened. “Not far, let’s go.”

The rat led her through a maze of streets, scanning constantly for threats. There were no trees here, nothing green, only towers with sometimes-broken glass windows that stretched up to the sky. “Four more blocks down this road, then right on the alley. Good shuttle. Lots of gears inside.”

They passed a rusted-out oil tanker at the top of the hill, and one side of the road was slick with spilled motor oil. Gwin waddled down the other side, not wanting to risk slipping and injuring herself. She was listening to the scraping noise her feet made on the pavement when she noticed another sound—a soft swishing in the distance. The rat froze in place. Gwin waited, too, not daring to move. The sound got louder, closer.

“Sweeper.” The rat said. It bolted down a side street.

Gwin paused, undecided. Should she follow the rat? The alley with the shuttle was only a few blocks away, but what if the shuttle was one of Zee’s lies? The sweeper turned a corner and came into view, a bright green truck with a rotating brush to sweep debris into a giant tank. Steam hissed out from the top of the tank.

The truck was headed straight toward Gwin.

She waddled as fast as she could into the middle of the road, to the edge of the oil slick. The sweeper was only half a block behind her, and closing fast. Once something went into a sweeper tank it never came back out. The hill was steep and the road was hard, but Gwin couldn’t waddle fast enough to escape. She flopped onto her belly. The oil-covered road was like ice, and she slid down the hill at top speed.

The pavement scraped the last of the feathers from her belly and began to wear away at the metal underneath. Buildings blurred by on either side as Gwin sped down the hill. The sound of the sweeper truck was covered by the screech of metal against the road.

She reached the bottom and skidded to a stop.

It was time to rest, but if Gwin didn’t get up she’d be swept away. She tried to resist her programming, but her belly remained firmly pressed against the pavement.

The sweeper truck barreled down the hill.

She had to find the humans that were out in space; that was part of her programming, too. She pitted her opposing drives against each other, making her need to educate humans overpower her basic scheduling routines. It was time to rest, but Gwin stood up. She waddled down the road and turned into the alley—away from the path of the sweeper, safe.

The shuttle was the most beautiful thing Gwin had ever seen, sleek silver metal dotted with little round windows, located exactly where Zee’s rat said it would be. The others had been too hard on Zee—just because she was capable of lying didn’t mean she did. And wasn’t choosing not to lie every bit as good as not being able to? Better, maybe, because it showed such good intentions.

The sweeper turned into the alley.

She was so close to her dream, too close to be swept away. The alley was a dead end. Her only chance was to get into the shuttle. Gwin found a hatch, but she had no idea how to open it. She accessed the schematics in her knowledge database.

With her beak she flipped the cover of a keypad with numbers laid out in a rectangle, one through nine, zero, a pound sign and an asterisk. Scrawled below was 0-6-1-7. What had the rat said about the shuttle? Passcode already cracked. Gwin tried the sequence, pecking each number with her beak, but nothing happened. The roar of the sweeper was so loud the shuttle was vibrating. Gwin stared desperately at the keypad.

The asterisk looked like a star.

She pecked it. The hatch opened.

Gwin hopped into the shuttle. The brushes of the sweeper made contact with the hull, and—sensing a threat—the hatch automatically closed. Safely inside, she watched as the sweeper cleaned the edge of the shuttle, then backed away to clean some other street.

She left the little round window and examined the rest of the shuttle. The control panel was a chaotic quilt of square buttons in several different colors, but off to one side was a switch that Zee told her would engage the autopilot. Gwin used her beak to flip it.

“Engage autopilot? Voice confirmation required.”

In the best imitation of a human voice she could muster, Gwin answered, “Engage the autopilot and initiate launch sequence.”


“Saturn orbit checkpoint.”

The control panel flashed and sensors clicked and beeped. The engines roared and the entire shuttle began to vibrate. Beads of water streamed across the windows as the shuttle rose through clouds and smog. Above the atmosphere, the sky was black and filled with tiny points of light. Stars. More than Gwin had ever seen, and as beautiful as she’d always dreamed.

Back at the clockwork zoo, Zee led the other animals to a radio broadcast tower at the northeast corner of the African savanna enclosure.

“I know that many of you are eager to welcome humans back to Earth, but there’s something you should hear.”
Zee played them the message recorded on a tape: “This is Lieutenant Navigator Lunares-Jove, calling from the Endeavour 7. We are holding position at the Saturn orbit checkpoint, awaiting permission to approach Earth. Please acknowledge.”

But it didn’t end there. The voice on the tape kept talking. “We are here to provide aid to survivors of the transcendence plague, but we cannot approach without confirmation that the quarantine is lifted. We will remain at the checkpoint until midnight, coordinated universal time, 17 March, 2206. Please acknowledge.”

“So they aren’t out there?” a zebra asked.

The specified time was nearly two hundred years ago, only a few years after the zookeepers had disappeared.

“They’re out there somewhere,” Zee said, looking up at the night sky and wondering where in the blackness Gwin’s shuttle was. “But they’re not coming here.”

“Maybe we should go find them,” one of the meerkats suggested, hesitant.

Zee smiled. There were plenty of shuttles in the city. Once she got all her clockwork animals to the Saturn orbit checkpoint, she could tell them whatever new lies they needed, and together they could search for the missing humans, somewhere out among the stars.


Caroline M. Yoachim

Caroline M. Yoachim is a three-time Hugo and six-time Nebula Award finalist. Her short stories have been translated into several languages and reprinted in multiple best-of anthologies, including four times in Best American Science Fiction and Fantasy. Yoachim’s short story collection Seven Wonders of a Once and Future World & Other Stories and the print chapbook of her novelette The Archronology of Love are available from Fairwood Press. For more, check out her website at

Leave a Reply

You must be logged in to post a comment. You can register here.