How Dungeons & Dragons Brought Us New Friends in a New City
Three years ago I moved to Greensboro, North Carolina, with my wife, Amanda. When we reflected on the previous years we'd spent "digital nomad-ing" across the US, we were sorry to see that we'd gained few new friends along the way. We were determined to change that here. To put down roots. To join the community.
But in your 30s and working remotely, making new friends is easier said than done.
During our ample road time - coast-to-coast twice - Amanda and I tore through dozens of audiobooks. One series in particular, Critical Failures, had us laughing out loud at the hijinks of a bunch of 30-somethings playing "Creatures and Caverns," a copyright-infringement-free riff on Dungeons & Dragons. While driving, we'd pause the audio and discuss what we'd have done differently in a given situation. The game sounded fun, and not as complicated as we expected.
Let's Try It
After our move, I posted in Greensboro's subreddit asking if any D&D group was looking for new players.
I learned months later that Hannah - our Dungeon Master (DM) - and Beckman, one of the players in her campaign, scoured through my Reddit history looking for red flags: xenophobia, homophobia, racism, aggressiveness. Finding mostly posts about software engineering and JavaScript, Hannah called, and we set up a date to meet and build our characters. Amanda became a flying gnome warlock; I entered the game as a pipe-smoking shaman.
Now, years later, Amanda and I both like Dungeons & Dragons, but we love the people that it's brought into our lives. D&D has become the backdrop for so much more: hiking, cook-outs, whiskey tastings, bar crawls, craft nights, house-warmings, birthdays, and weddings.
When Coronavirus struck and we all began sheltering in-place, one of the first things to be canceled was our group's new campaign.
Once we realized that this "new normal" was going to last a while, we all started experimenting with ways to take it online. Like many other groups, we ended up with a hodgepodge of Roll20, Discord, and Google Hangouts that sort-of-kind-of works, but is nowhere near the experience of playing at a table together.
So I started fantasizing about building a shared online table for our party. "How hard could it be?" I thought. I ran Heroku's Node.js platform for years. I advocate for blending game development with web-app development. I love writing graphics software and real-time distributed systems. Until my whole life became single-player, I was working on a single-player roguelike game that looks an awful lot like D&D.
How Hard Could It Be?
Like most things in software, the answer was pretty fucking hard. But over the past months, I've built the foundation: streaming audio and video, collaborative painting on a map, a shared real-time environment, and tokens for miniatures. It's the most-fun project I've ever worked on.
My goal is to bring the tabletop experience online, where you can:
- see and hear your friends at the table
- sketch out a map
- place minis
- and roll dice
Keeping it that simple and resisting the urge to add video game-like rules and features is the North Star of this project.
After just a couple of months, the Table of Sending is almost D&D-worthy. That's only been possible because of the incredible support from Amanda Loftis, Andrew & Ciera Beckman, Ben Czajkowski, Claire Bonin, Daniel Grasso, Hannah Kaye, Sean Snodgrass, and Will Peitzman. Having a group of friends willing to spend hours hopping between Google Hangouts and the fledgeling Table of Sending to debug WebRTC connectivity is like getting Bardic Inspiration on every roll. With both experienced DMs and casual players providing product feedback, I feel like a Divination Wizard figuring out the next feature to build. Okay, no more D&D puns, I'm out of actions this turn.
If you're interested in following along with the project, subscribe to the mailing list. I'm not sending out updates at every step, but I will use that list for invitations to major milestones like beta testing.
Stay safe, have fun! -- Hunter