Phrasewood: Embarking on the Journey

In which I embark on the journey to create a modern Python engine for text-based video games and reflect on my roots.

David Mays
3 min readAug 27, 2023
Phrasewood Game Engine Logo
Phrasewood Game Engine Logo

How It Started

In 2018, I found myself working as a server at a wine bar in Chicago. Eight years in the food service industry had defined my entire adult career, but change was looming on the horizon and becoming increasingly necessary. I felt the urge to pivot, to explore a different path, but I was uncertain about where to start. All I knew was that I craved something more mentally stimulating and less emotionally draining than the demanding world of hospitality.

That’s when my brother recommended “Learn Python the Hard Way” by Zed Shaw, and it served as the first catalyst in reshaping my career. Already blazing his own trail through the tech world, he inspired me with the sheer joy he found in programming and navigating the command line. A few months later, I secured a Customer Support role at Wisely — this marked my entry into the world of a thriving tech startup.

At Wisely, I explored my own path in data analysis, delving deep into SQL, Snowflake data warehousing, Tableau data visualization, and Python scripting. I mastered the fundamentals of data modeling, query optimization, ELT tools, and more — all while solving real-world business problems for our organization and our clients.

This experience was invaluable and deeply motivating, fueling my pursuit of my passion projects — mostly whimsical monolithic text-based games written in Python and playable in the terminal.

The Inspiration for Phrasewood

As my career progressed, I occasionally returned to “Learn Python the Hard Way.” Life, however, had its demands, and external stressors like COVID-19 prevented me from completing the book. I prematurely concluded my experience with it midway through Exercise 43: The Analysis of a Simple Game Engine.

This unfinished project always lingered in the back of my mind. Despite my practical day-to-day work quickly surpassing the skill level offered by completing this exercise, I couldn’t shake the feeling that I never truly finished learning Python (the hard way).

How It’s Going

So here I am, writing my first Medium article, currently aiming to up-skill and advance in my career once again by engaging in various side-projects like my VisualIChing Django app and my ChunkGPT Python library, both released earlier this year.

I feel the need to finally close this chapter and breathe life into the game engine I vaguely envisioned four years ago. Now, with significant progress in my development skills and unprecedented access to incredibly disruptive emerging technologies like LLMs, I am determined to make this the best-in-class text-based gaming engine available in 2023.

What Lies Ahead

In this Medium series, I intend to document each stage of the development process and invite you into my mission to see this unfinished project to completion. The ultimate goal is three-fold:

  1. Create and distribute Phrasewood, an open-source Python library that empowers anyone to craft incredible text-based gaming experiences.
  2. Develop a web app, featuring a powerful and user-friendly GUI built on top of the Phrasewood library, further democratizing its use.
  3. Establish a public repository and gameplay interface on the web app, enabling anyone to host, share, and play any game created with Phrasewood.

I hope you enjoy coming along on this journey with me!

Until next time,
David

--

--