Learning To Program Python By Building Video Games With Arcade


Video games have been a vehicle for learning to program since the early days of computing. Continuing in that tradition, Paul Craven created the Arcade library as a modern alternative to PyGame for use in his classroom. In this episode he explains his motivations for starting a new framework for video game development, his view on the benefits of games in computer education, and how his students and the broader community are using it to build interesting and creative projects. If you are looking for a way to get new programmers engaged, or just want to experiment with building your own games, then this is the conversation for you. Give it a listen and then give Arcade a try for yourself.


  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don’t want to miss out on this year’s conference season. We have partnered with organizations such as O’Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to pythonpodcast.com/conferences to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.
  • Your host as usual is Tobias Macey and today I’m interviewing Paul Craven about Arcade, an easy-to-learn Python library for creating 2D video games


  • Introductions
  • How did you get introduced to Python?
  • Can you start by describing what Arcade is?
    • What inspired you to begin working on it?
  • Who is your primary audience?
  • As an educator, what have you found to be most effective about using games as a vehicle for teaching programming?
    • What elements of programming or computer science do you have difficulty in addressing within the context of a video game?
    • For someone who wants to move on from working on games to something like web development or data analytics, what elements of software design and structure are easily translated to other domains?
  • Can you describe how Arcade is implemented and how the architecture has evolved since you first began working on it?
    • If you were to start over today, what would you do differently?
  • What have you found to be the most interesting/unexpected/challenging aspects of building and maintaining Arcade?
  • What are some of the most interesting/innovative/unexpected ways that you have seen Arcade used?
  • When is Arcade the wrong platform, or at what point does someone need to move on from Arcade?
  • What do you have planned for the future of Arcade?

Keep In Touch


  • Tobias
  • Paul
    • Fahrenheit 451 by Ray Bradbury
      • “Mistakes can be profited by Man, when i was young I showed my ignorance in people’s faces. They beat me with sticks. By the time I was forty my blunt instrument had been honed to a fine cutting point for me. If you hide your ignorance, no one will hit you and you’ll never learn.”

Closing Announcements

  • Thank you for listening! Don’t forget to check out our other show, the Data Engineering Podcast for the latest on modern data management.
  • Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes.
  • If you’ve learned something or tried out a project from the show then tell us about it! Email hosts@podcastinit.com) with your story.
  • To help other people find the show please leave a review on iTunes and tell your friends and co-workers
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat


The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

More episodes
Clear search
Close search
Google apps
Main menu