Atlas · Stevey's Tech Talk · Stevey's Tech Talk
How writing a computer game got me jobs at Amazon and Google
Hey everyone, and welcome back to Stevey's Tech Talk. I want to extend my personal thank you to all six of the people watching this episode, because that's my prediction of how many people are going to watch it. I'm an old white dude who doesn't look anything like other YouTubers, and here I am blabbing on for 40, 45 minutes at a time about stuff. So I don't expect anybody to watch this show, to be honest. But if you're here, thanks.
So today I'm going to talk about my computer game, Wyvern, which I've been working on for 25 years. It's a huge topic. I'm not going to get through it all, so I'm just going to talk for 40 minutes and then cut it off, and we can continue in another episode. If you don't want to hear about my computer game, I don't blame you at all. But it is what got me my job at Amazon, and it's also what got me my job at Google. I didn't expect that in either case, and I'm going to share some of the details with you today.
I'll tell you the TLDR right now. The game made me what I am today. We're talking because of this game that I wrote — even though it's not really big or very successful — because of what I had to go through to create it. It put me through the fire.
If you try to make a game like mine, it'll make you learn a lot of stuff really fast. I've talked to a lot of people over the years who tried to make a game like mine and gave up, because it's harder than it looks. I've consistently been off by about 7X on my estimates for how long things would take. When I started, I thought I'd be done after a year and a half — I wound up being done after ten years.
It's a massive effort, because I spent so long fighting to do something that really should have been a whole team of people. I brought a lot of helpers in, but even together, it's such a gargantuan effort to make a massively multiplayer online game that I wound up hitting the limits of what you can actually do as a programmer. I was right up against the math. I could work 15 hours a day, I could code thousands of lines of code a week, I could just burn through stuff — and yet it wasn't fast enough.
And that led to this anger, frustration — anger born out of frustration that I couldn't go faster, that I couldn't take my ideas and put them into code and make them work as fast as I wanted. And that led me on a search for other programming languages, learning a whole bunch of esoteric, academic languages, just looking for a solution. That's how I became obsessed with productivity. And I wound up, at every company I worked at, eventually getting into developer tools because of that obsession — which stemmed from my game.
So let me talk for a couple of minutes about the game. It's a tile game — old-school 2D, top-down, where you're moving tiles around on a grid. There's a little adventure, role-playing RPG type game built on top, with lots of mini-games and anachronisms. It's not a strict medieval RPG — it's anything goes, you can have laser guns — but it's largely a swords-and-sorcery type of game. I started it in 1995. I'd been playing a bunch of games I thought were really cool — some multiplayer, some single player — and I wanted to play a game that was a combination of all of them. I kept waiting for somebody to write it and nobody did. And so I finally was like, ah, how hard can it be? And I wrote it myself. And boy, it turns out it can be real hard. But in a good way.
Before I went to Amazon, I took a year off and worked on it for a year, so I made a lot of progress. I got it launched in like 2000, and it started to take off in 2001. It's evolved a lot since then, but it's fundamentally still the same game.
And something happened. First of all, it won a competition — the Insignia Solutions worldwide Java mobile developers contest. My submission, which I very quickly, like in a month, wrote a mobile client for — because the game was designed for really low-end devices, since that's all they had back in 1996, 1997. It has a really lean client and protocol, so it's been able to run successfully on people's old phones in Europe on a train going through a tunnel. People told me cell networks would never get that fast and the latency would never be good enough, but I was optimistic, because I am an optimist.
So it won this competition. It was in Las Vegas — I didn't go, but they mailed me my stuff. I won not only best game, but the grand prize, overall best entry. They gave me a laptop and 10,000 bucks. And then some journalist for Game Informer magazine basically did free advertising for me — just a little column about this cool free 2D old-school game. It was already old-school back in 2000, because it's like the arcade games from the eighties, which is when I grew up.
So something weird happened. I designed the game for college students, because I was a college student — and it wound up being super popular with middle schoolers. It actually took over entire middle schools. Once I was over at my buddy Jeff's house — a good friend from this company we worked at, GeoWorks, back in the nineties — and he had kids that were middle-school age, and another couple was over with their kids from the same school. And at some point they're all kind of looking at me. And I'm like, hey, everyone, why are y'all looking at me? And Jeff said to the couple, this is Rhialto. And they looked at me and they were like, oh, oh my God. I was a star. They didn't know what to do. Because Rhialto is the alter ego I use as the administrator and creator of the game. And the kids were saying, oh yeah, everyone at school plays it.
To this day, I have hundreds of active players who are dumping money into the game, because they all got jobs and they all have this fond nostalgia for the game. Some of the players I'm interacting with right now started in 2001, 2002. They've been playing this game for 20 years. And they all started in middle school. It's crazy how much loyalty this game has engendered.
My boss at Grab wanted to hire an architect, and told us to put feelers into our networks. One guy who'd been playing my game for like 15 years is a senior principal engineer at Amazon, which is rarefied air. I didn't know him from tech — I knew him because he played my game. So I brought him in, and my boss was like, this is one of the five best engineers I've ever worked with in my life. And I'm like, yeah, he's a pretty good archer too.
It's a small community — maybe a thousand seven-day actives — but they pump a lot of money into the game to pay for the server costs and the artwork and the legal fees. It's kind of break-even right now. It's a labor of love. It's a hobby. But a successful one — Wyvern got picked as one of eight finalists for hobby game of the year, 2021, for the Game Developer World Championship. How cool is that?
Let me tell you about how it has created programmers, because that's one really cool aspect of the game. I built this game as a platform. I've really been into platforms for a long time — a platform being an extensible, programmable system, one that users can extend. A platform is like Facebook, where you can write plugins. There's lots of apps that are platforms, and I felt like most apps should be platforms.
The point is, my game was a platform from the beginning. It wasn't just a game — it was a game where you could make your own games. And that made it much harder, probably three to five times harder, because everything had to be set up like a workshop, where you could go get tools and start helping yourself. The way I did it was inspired by the way the worldwide web works: you can make a webpage without knowing how to be a programmer, using a drag-and-drop builder. Or you can learn HTML and position things more finely — it's not programming, anybody can do it. Then you can step up to CSS, and you have even more control. Or you can move to JavaScript, which is a great first programming language, and actually program your webpage. There's a gradual increase in sophistication you can work your way through.
My game had something similar. Other games have scripting languages too — World of Warcraft, correct me if I'm wrong, uses Lua. What does an extension language mean? It means if you want to make a new spell, or a new item, or a trap — you want to play Saw and put people into a series of mazes and deadly traps, all sequenced — you can use a programming language to write that, using the building blocks of the game. You can start small and work up.
So what happened was, all these middle schoolers playing my game — the very first customization they wanted was what we call hall-of-fame images. Because the graphics are so simple, you can make your own image for your character, your avatar, and send it to us, and we'll change your image out in the game. People love this feature. There are thousands and thousands of custom images in the game. They call it skinning in the industry.
One thing to be aware of: I invented the game long before the rest of the industry caught up, so I gave things names that were different from what the industry settled on. The same thing happened with my text editor, Emacs — they invented a bunch of things before the rest of the world caught up, so Emacs's names are different too. It's one of the dangers of being ahead of your time.
So why hasn't it grown in 21 years? I made some serious mistakes when I first designed it. I'd been playing games called MUDs — they were text-only and multiplayer, so the text would just scroll by really fast. I remember when I was able to upgrade to a 9,600-baud modem — you guys remember those? — and I was blown away by how fast the text could scroll by.
By the way, quick segue: the best teacher I ever had in my entire education — grade school, high school, college — was my typing class teacher at Olympia High School in 1983. We were on all the horse-drawn typewriters, and he was the football coach, and they had to teach a class, that was the rule. He was the best teacher ever. We played typing football, and he kept us engaged. They say coaches are the best teachers. So if you ever get a chance to get a teacher who's a coach, take that chance, because he taught us to type with no mistakes. I left that class typing 60 to 65 words a minute, and in college I bumped that up to 120-plus.
So these text games were just blowing by, and I designed Wyvern based in large part on MUDs. So you had to be able to read fast and type fast. Big mistake. A lot of players who would love the game can't read that fast, for whatever reason — dyslexia, or just not having practiced. And when you get on mobile, nobody can read or type that fast. So although the game is rich and deep and vast and fun, the learning curve is insane. It's going to take me years to get out of this technical debt.
Another problem with all that text is that text is dangerous. It's one of the learnings I found, and you should incorporate it if you're making a product where people can talk to each other: communication is very, very dangerous. I didn't know that. You think, well, freedom of speech, everybody should be able to communicate openly. But over the years I've learned — first of all, there's predators.
This is a real problem for my game, because it really does hit a magic spot with middle schoolers. There's something about it where their imaginations are just open enough that it feels real to them. It's like when I was a little kid watching Land of the Lost — the old claymation one — and I was terrified of the Sleestaks. My dad was watching it with me, and he goes, can you see the dinosaurs going like this? He made it clear they were stuttering, kind of. And I looked really closely and I said, nope — I couldn't see it. I think that phenomenon happens around 10, 11, 12 years old: you're more forgiving of that kind of raw animation, you're not bothered by it.
A player told me when he was about 15, "I think the graphics of this game have a magic property — they actually spur your imagination, they cause your brain to want to fill in the gaps, and everything feels more real." There was one 14-year-old girl who had a nightmare that there was a Shoggoth — a Lovecraftian monster in my game that looks a little bit like a Hefty garbage bag — and she dreamed that the garbage bags in her house were Shoggoths and started attacking her. She was terrified, and it was fun. Middle schoolers just love the game.
And why do they love the game? I found out one day when one of our contributors added a blood spatter — a red flash on the monster if you hit them extra hard, because we thought it would be a cool effect. And the players panicked. They freaked out: no, you can't add blood, my parents won't let me play it. And the lightbulb went off. So there's no blood in my game — just like there's no blood in Marvel. Marvel is a big pillow fight so it can appeal to 12-year-olds. My wife and I are horror buffs, so to us it's a little funny. Our game is cute. That's fine.
But it's a problem that middle schoolers really like it, because of COPPA — a very important act enacted to protect children online. There are predators who lurk on these things, look for kids, strike up conversations, and groom them, and then all sorts of horrible stuff can happen. So I have to put in a legal disclaimer that you're not allowed to play if you're under 13, because it takes a lot of work to set up the infrastructure and auditing and policing to make sure your game is COPPA-friendly, especially if anybody can type anything into that little text box. It's a shame, because I lose my opportunity to get new players through that magic time in your life when a game like this can make a big impression on you. But it's okay, because I don't want anybody to get harassed or stalked or worse online.
And you get all kinds of other people. The scum of the earth come out whenever you open up uncensored communication — trolls, scammers, spammers. So you have to start putting moderators in place to stop people from harassing each other. The bigger you get, the more censorship you need, and it becomes a really difficult, time-consuming, expensive problem, because you need people to do it — machines are still not that great at it.
We've been fortunate that we have a very strong community. I built controls in: you can block people, warn people, ignore people. They'll literally disappear from your view. And if enough people warn or block you, you get banned. It's an arms race, a continual war — there will always be scummy people that come in and try to do scummy things. But the game would not be the game that it is without communication. The community is super helpful.
A lot of high school students started learning how to make maps in my game — areas connected by portals and teleporters. There's a map editor, and tools for adding monsters and giving them spells and setting up experiences for players. It's a world-building game. People have built thousands of custom maps, some quite sophisticated, and we have competitions a couple of times a year where I take the winner and add them to the contributors team. If I ever nail the world-building part, I think this thing has the potential to be the next Minecraft — a 2D Minecraft. One contributor built an entire side-scroller engine on my game — Super Mario style, where you jump and fall and there's platforms and ice and jets of fire, because the way the top-down projection works, he made it so there's physics in these maps. It's nuts what you can accomplish.
There was one woman — Janica, if you are out there, I swear, please contact me, and we will make you king of this game, queen of the game, whatever you want. She joined in 2001 or 2002. She didn't know how to program. She just loved the game, and she taught herself to program. She became a wizard — one of the people who can officially add content to the game. And she built so much stuff, writing Python code, doing things I didn't even know were possible in the game, just through force of will.
She built our balloons — the game is filled with balloons that can take you over mountains and zoom you around. I didn't know things could go over the mountains, they're blocking, but she found a way around it through the APIs I had created. She created a fully functioning casino with slot machines, with actual Vegas odds — people still play the slots in our casino, for fake money. She created a law system where, if you killed certain NPCs like the bartender or the blacksmith, the guards would come after you and take you to jail, and you'd have to get bail, and the town crier shouts, so-and-so has been arrested for assault. She did live quests, where the clouds would part and big monsters would come out of the sky and everybody would have to defeat the giant demon. And that was just scratching the surface of what she did in a period of two years.
And in probably the biggest leadership mistake I have ever made — not in my career, but in my life — I got angry at her, and I drove her away. I have regretted it bitterly for the 18 years since. And there's your lesson. She had been naughty, and I didn't understand that this was just going to be human nature. She was making things that benefited her own character — there was an inherent conflict of interest. She was making special areas and special equipment for pixies and nagas, two of the characters you can play, and doubling down on doing things only she knew about, so her characters could be at the top of the leaderboards. She was totally addicted. And I got angry, because I thought it was common sense that she shouldn't have been helping herself. I told her to go away. I don't remember what I said — it was hurtful, and she went away.
And you know what, it's been like a knife in my stomach ever since. Like six months later I calmed down and realized what I had lost, and what she had lost — because she could have been on her way to a professional programming career, easy. So I'm sorry, Janica. I deeply apologize. If anybody knows Janica, or Sarysa — I know her real-life first name, but I'm not going to share it — please come talk to me, and we can reinstate you, and everybody will be so glad to have you back, because all of your stuff is still in use in the game. She did her own artwork, her own storyboarding. She was a tour de force, and I hope her career has been amazing.
There's another guy who was a wizard, started when he was 15 or so, and went on to be a computer programmer at JPL. And it's still happening. Another player came back — I told you they always come back — and said he'd become a programmer too, self-taught, didn't go to college. Maybe 10 years ago he taught himself a little Python, decided he hated being in biotech, and went out to see if he could get a job. He got two offers immediately — one for 40,000 a year, one for 68,000 — with no experience at all. They were just like, do you know any Python? Join on board. And his salary has continued to go up to the point where now he's just retired.
So if you learn how to make web pages, that's one way into the tech industry, because there's a gradual increase in sophistication you can work your way gently through until you're doing really complicated things. My game has the same model. You can make maps and upload them, then start wiring things together, then do a little XML, then learn some Python and write extensions for the game. And then all of a sudden you're a programmer, and it's qualifying you to go work at a company and make a ton of money. It's happening right now, as we speak.
I've only worked on the game on my own time, burning the midnight oil. There have been dry spells. I got really burned out after a difficult time at Google, and the game was becoming overwhelming — there was no cloud in 2011, I was running in a data center, and I had to go reboot the machine manually all the time. So I shut the game down in 2011, much to everyone's dismay, and it never has bounced back to the levels it was before. But starting in 2013 I started working on it again, converting it to cloud, learning how to program iPhones and Android, which is its own thing. So for those six years I worked on modernizing the codebase, bringing it up to speed with the latest IDEs and build systems — all invisible infrastructure, which was much easier to do while the game was down, because once the game is up, you're held hostage by your player base. You can't have extended outages.
The business model is whales. It's just like Vegas — a small number of players contribute the vast amount of revenue we make. I always joke that our top contributor is like Ed Harris from Westworld — the Man in Black, this mystery man who shows up and does weird stuff and nobody challenges him, and finally somebody in corporate says, who's that guy? And somebody else says, that gentleman gets whatever he wants. So I call our top contributor the Man in Black, and he's tickled — he wants a statue of himself in the game, and since that man gets whatever he wants, he's going to get a statue of himself.
So I mentioned the game to my Amazon interviewers in 1998. I thought my five years at GeoWorks — a really sophisticated mobile-devices and operating-systems company — was going to be the thing that got me the job. It certainly got me the interview. But they were more interested in my game. There was a VP and a director and a senior engineer among my interviewers who all just grilled me on it, even though it was my hobby project — admittedly, I had quit to work on it full-time for a year. And then they were like, hire this guy.
And then later I went to Google. Getting a job at Google is really hard. I'll tell the full story of my Google interview someday, because it's a fascinating study in how a tiny ant like me, intellectually, can get interviewed by giant cats and played with like a toy — and somehow I managed to get through. And that somehow is my game. One of my interviewers — one of the smartest people in the whole world, incredibly intimidating, terrifyingly so — failed me. But the other two interviewers liked me, and they were trying to decide whether to send me on to the second round.
What he told me later was that he spent half a day of his time — the recruiters were amazed he took the time, he's one of the top five most important engineers at Google — and he went to my website and read my API docs, which were published for the contributors, the programmers. He read all the programming guides, and he wrote a mail to the hiring committee and said: yeah, Steve didn't do that well in my interview, that's one signal, but we want to look at all the signals we can. I looked at his website and I got another signal, and I feel that was a stronger signal. Based on what he's accomplished on his own, on the side, I'm willing to let him go for another round. And I did well in my second round, and got into Google. I wouldn't have gotten the job at Google if I hadn't had that game. Isn't that nuts?
So what's the takeaway? Writing this game made me the programmer that I am today. Some of the interviewers at Google were grilling me on the deep, deep technical details of the rendering and the camera system and the timer system and the property system — and these are people who had built Internet Explorer. There's a parallel between my game and browsers architecturally, and they caught onto it immediately and grilled me like they were code-reviewing me, and they'd never seen my code before. It was quite insane. They were really, really good. And I was able to answer their questions to their satisfaction, because I tried to write a computer game that was too hard for me, and I pushed in and got it done anyway. And the rest is history.
So I hope this was a fun introduction to this game that's associated with me. If you're thinking about getting into the tech industry and you like games, find a game that's programmable or extensible, and learn how to program and extend the game. That can be your stepping stone to more and more ambitious attempts, until you finally get yourself that dream job, and you can fund whatever you want to do for the rest of your life. I hope it works out for you. All right, folks, that's it for this episode of Stevey's Tech Talk, and we will see you next time.