This is the first edition of a weekly newsletter on the development process for TwilioQuest, an upcoming PC game for Mac, Windows, and Linux. Sign up for early access to the game here, and the Operator’s Manual will be conveniently delivered to your inbox every week! You should also join us for the world premiere of TwilioQuest 3 during Superclass at SIGNAL, Twilio’s annual developer conference.
What’s up Operators!
Welcome to the first edition of the Operator’s Manual, a weekly newsletter intended to keep you all in the loop on the development process for TwilioQuest. Currently in a private preview, the next version of TwilioQuest will debut later this summer. You can sign up for early access right here.
My name is Kevin Whinnery, and I'm the creator and lead developer of TwilioQuest. Very pleased to meet you! What I hope to do in the Manual is provide a bit of insight into how we’re building TwilioQuest. For me, making TwilioQuest is a dream come true – like many developers, I’ve wanted to make games since I was a little kid who built a PC so I could play TIE Fighter. Today, I get to combine this lifelong goal with a more important one - making technical learning fun, inclusive, and approachable. As the team and I continue down the path of building TwilioQuest, I’ll try to share stories and learnings we collect along the way in the Manual.
TwilioQuest.next() - Design and Tech Decisions
In our inaugural Operator’s Manual, I’ll start by breaking down some decisions we made early on in the dev process about the design, tech stack, and tools we’re using to build the game. The next version of TwilioQuest is a radical departure from the current version on the web – why would we make such major changes? What do we hope to gain? I’ll try to provide some insight below.
Game versus “gamification”
I hate both the word and the concept behind “gamification” – it describes a process where you take something that isn’t supposed to be fun, and trick people into thinking it is. When I built the first (super crappy) version of TwilioQuest back in 2013, “gamification” wasn’t my goal – I thought the metaphor of “leveling up” was appropriate for learning technical skills. Everyone starts at different places on their developer journey, and acquires the skills they need along the way. I tried to use the metaphor of a role-playing game (RPG) to provide direction on a journey of learning new skills, and that is what TwilioQuest does today.
What I didn’t predict is how useful this metaphor would prove to be for technical learners! Providing a path for learning complex topics at your own pace really seems to help people focus on concepts instead of figuring out what they should be doing first, next, and last. The next version of TwilioQuest doubles down on that discovery by going from a game-themed tutorial website to a full-on video game. Players will move a character through a 2D environment in a top-down RPG inspired by some of my favorite games of all time. I believe based on what we’ve observed with TwilioQuest so far that the narrative structure, feedback loop, and opportunity for exploration offered by video games (specifically those in the RPG genre) will help more people be successful in learning code.
From the browser to the desktop
The biggest technical and user experience change to TwilioQuest will be moving from a browser-based web application to a downloadable desktop application. There are many reasons we made this decision, but the most important one is the opportunity to tightly integrate with the player’s development environment. In the next version of TwilioQuest, we can create auto-validated code challenges that teach a huge variety of concepts from PowerShell commands to Elixir macros. By using developer tools installed on a player’s computer, we can rapidly create lessons that would be difficult or impossible to implement in a cloud-based environment. The idea of leaving the browser behind scares me for many reasons, but I believe the kind of experiences we can create for players will be worth it.
A new tech stack
A project like TwilioQuest forced me (and those I have dragged into this fool’s errand) to navigate a new world of tools and technologies not typically used by web developers. How we use these tools and technologies will be the focus of many future newsletters, but here are a few key ingredients of the TwilioQuest cocktail:
- Electron - A cross-platform framework for building desktop apps with web technologies – used in the likes of Visual Studio Code and Slack. It was a natural fit for a body of contributors that are mostly web developers, and for an application that will be heavily dependent on displaying structured text and rich media (a major reason for not using something like Unity to build TwilioQuest). It also enables us to use the huge universe of packages available to Node.js applications.
- React - UI-heavy games like TwilioQuest benefit from having a robust rich client application framework like React.
- Phaser - A mature framework for building 2D games that run in the browser. TwilioQuest’s graphical requirements are not intense, but thus far I’ve been quite pleased with the game’s performance on the WebGL canvas in Electron’s Chromium browser. Join Twilio in supporting Phaser on Patreon here!
- Tiled - An open source map editor, this is the key tool we use to design environments in the next version of TwilioQuest.
I look forward to diving into more technical details on how we use these and other tools in future installments!
What’s next for TwilioQuest?
Last week, we launched a preview website for the next version of TwilioQuest with some teaser-level information about the game. This week, we are preparing our infrastructure and update mechanisms to onboard a new group of early access players. Friends and family have been playing the game for a while now, but we’re excited to start sharing the very early build of the game with a wider audience.
If you’re interested in helping us test things out and getting an early look at our work, you need to get signed up for our newsletter! Signing up puts you in the running for an invitation to try TwilioQuest during this early stage of development. We’d also love it if you could join us in person for the game’s world premiere at Superclass, our live training day at SIGNAL.
When the first chapter of TwilioQuest goes live this summer, it will represent only a tiny fraction of the experience we plan to create. These are the first steps of a journey that will be measured in years as we learn what works (and what’s fun!) together. In the lore of the TwilioQuest universe, Operators are explorers and mentors that share a common goal of building and safeguarding a virtual universe that works for every kind of person. I hope that all of you, as you become Operators in the TwilioQuest program, will continue to support and mentor us as we build a learning tool that works for you.
Wave if you see me in The Cloud, will you?
Director, TwilioQuest Program