This week, our Free Culture Book Club plays the Learn to Code RPG visual novel.

College kids waiting for a hackathon

To give this series some sense of organization, here are some basic facts without much in the way of context.

  • Full Title: Learn to Code RPG
  • Location:
  • Released: 2021, with updates still occurring
  • License: BSD
  • Creator: Free Code Camp , led by Lynn Zheng
  • Medium: Computer Role-Playing Game
  • Length: Several hours, depending on how you play
  • Content Advisories: Joke(?) about mild frustrations impacting “sanity,” some classist assumptions, anxiety

This should go without saying—even though I’m going to repeat it with every Book Club installment—but Content Advisories are not any sort of judgment on my part, just topics that come up in the work that I noticed and might benefit from a particular mood or head space for certain audiences. It’s to help you make a decision, rather than a decision in and of itself.

Learn to Code RPG

Here’s the game’s blurb.

Learn to Code RPG is a visual novel game developed by In this game, you will teach yourself to code, make friends in the tech industry, and pursue your dream of becoming a developer 🎯

In this game, your choices shape and drive the story forward: What will you do on a day-by-day basis? Learn to code? Work as a barista? Visit the Hacker Space? Or chill, relax in the park, or cuddle with a kitten over some video games?

Will you stick to your dream — getting a job in the tech industry — and more importantly, keep that job? The choice is in your hands.

Not everybody’s path to a career is the same, of course, so the story probably won’t resonate with everyone. So this game is probably not to be taken as career advice…

What Works Well?

The game’s art design is pleasant, and comes off as more consistent than it actually is. Overall, the game is charming. You might even notice that many of my complaints are arguably rooted in caring what happens to the protagonist, and that’s difficult to do.

Mint the cat, animated

Despite the mechanical way it’s portrayed being problematic, I know that the anxiety about where to start learning reflects the reality for many people who think about learning programming on their own. It’s not that hard—I wrote a post on quick rules to narrow the choices down—but it can feel that way when you don’t have guidelines and heuristics to help you choose, and this captures that well.

Mint the cat, hanging out over to the right of the post, is pretty great.

Like the anxiety being an unpleasant but real aspect, the game also ends with the unpleasant but real issue of terrible corporate onboarding. We see Lydia assigned a “buddy” to help her settle in socially, but when she specifically asks about where to start, the buddy deflects her question, leading to a panicked…well, it’s not really an ending, since the team plans to add more, but it is the final scene at the moment.

What Works…Less Well?

At the start of the game, there’s an option to rename the main character, but it’s always the same character with the same background and image, making that choice actively counter-productive. Maybe worse, since all characters are essentially Lydia with different names, Lydia is basically a cipher. Maybe the most jarring instance of this is, early on, a dinner with “all your favorites,” has nothing specific in it. It’s a weird situation for the character to not be customizable to any extent or given any real depth.

The story also hammers the “everyone is learning to code” message that, even as someone who already writes software, I now want to avoid jumping on the bandwagon. That’s especially true when days studying programming are the only action that takes a toll on Lydia; everything else in her life recharges her, so maybe writing software isn’t a great career choice for her. And so, pushing the character into it feels unpleasant.

Compounding this, Lydia seems to have no self-motivation. When digging through a list of starting topics, she responds to each by outright whining that she doesn’t already know that material and/or doesn’t know some imagined prerequisite, and so doesn’t want to learn it. When she asks for help (more on that next), she sometimes asks what something is and why she should care, as if it’s up to everyone else to excite her. And as I said earlier, the “sanity” rating—which feels awfully non-inclusive, by the way—seems to be saying that Lydia doesn’t really want to write software. And maybe directly related to this issue, the reduction of writing software to multiple-choice trivia questions is fairly dishonest; if knowing where the “Python” name came from—and I say this as someone who already knew—ever affected a job, I’d quit on the spot.

Given that this game is meant to be instructive, I’m not fond of the relationships with Annika and Marco, where Lydia calls her “friend” or “mentor” to ask her to define a bunch of terms that could have easily been looked up. I feel like a jerk playing along with the game, since it makes them feel like search engines, rather than people. Seriously, do not learn this lesson: Asking for help is fine, but respect people’s time, and treat personal relationships like they’re with people that you care about beyond what they can do for you.


From the page, you can rate the game and leave feedback or questions.

If you have more technical issues or solutions, you’ll be better off at the GitHub repository. If you’re more interested in the multiple-choice testing, DeveloperQuiz also has a repository.

Free Code Camp also hosts initiatives to translate the game to other languages.

What’s Adaptable?

Other than a handful of shallow characters who don’t even have family names—Lydia, Annika, Marco, and Layla—about the only thing that I can imagine extracting from the game is the software startup CupcakeCPU. However, we don’t know what kind of software they make, so even that might be dicey.


Next week, we’ll watch Your Face Is a Saxophone, a short-lived animated web series.

While we wait for that, what does everybody else think about The Learn to Code RPG?

Credits: The header image is a screenshot from the game, and so available under its license.