What did I do?
For the past month, I’ve been working on my capstone project for the certificate program I’m taking through MIT. I am honestly very proud of the work that I did, and I can’t wait to work on it more while I try to find a job making someone else’s games. You can find the game here, and you can watch a video where I play the game and talk about it here.
What is the game about?
It’s called Dan Never Leaves, and it is a simulation of what it is like to work as a waiter in a restaurant. The title is a silly inside joke that my friend/former roommate/former coworker, Dan, used to make when we worked at a dingy Irish pub/college bar. It always seemed like whenever Dan had been given an early cut, something dumb would come up that would keep him at work far longer than he had any business being there. To vent his frustration, he would throw his hands in the air and decry, “Let’s play a game! It’s called ‘Dan Never Leaves’!” Everyone would laugh, and he would feel a little better about being stuck at work.
What’s still missing/needed?
I want to begin with things that aren’t in the game to highlight how much more difficult/complex the game is going to become the more realistic it gets. Here is the current list of missing features/components (it’s also my to-do list):
-There is no veteran server training the player;
-Customers only order a single entrée (instead of multiple courses);
-The player can only carry a single plate or a single check;
-Customers are not affected by long wait times or incorrect bills;
-Drinks come out of the kitchen1;
-The player is the only employee in the building;
-The game ends at 11:30pm, regardless of seated/open tables;
-There is no side work for the player to do during or after the shift;
-The player is tipping out bussers/runners, even though they don’t exist2;
-The player does not need to log-in to the POS (point of sale);
-Customers only pay with credit cards;
-Players don’t have to enter the tips from closed tables into the POS manually;
-Players don’t have to do an end-of-shift report/print-out;
-Players cannot talk to or “schmooze” tables;
-Customers are never hostile3;
-Nobody ever asks you where the bathroom is;
I’m definitely forgetting some things, but this list is a good place to start.
Playtesting Observations
I had two different groups of people playtest DNL: industry veterans and industry virgins.
People that have never worked in the industry found the process of taking and entering orders convoluted and confusing. It was hard to figure out where menu items were on the POS, or what to do with the POS at all. The steps of service were hard to remember. In a game that is supposed to be fun, this would all be such an enormous failure, to the point that the game belongs in the garbage. But in a simulation meant to encapsulate the difficulty/complexity of a “simple” job, I found this to be a huge confidence boost. Much of a what a server does is inconvenient or redundant. I’m on the right track.
Meanwhile, my industry veteran playtesters found issues with completely different pain points. Instead of being confused about what to do, they wanted to do more. Things like carrying multiple plates, or having an apron/pockets to hold multiple checks. The game was not efficient enough for them, so they felt like they were falling behind because they couldn’t operate the way they normally would. I understood where they were coming from, and knew most of their complaints were due to the short development schedule and my lack of experience. That they felt at all like the game was simulating their job was also a huge confidence boost.
Based on the feedback I received, I know that the game was on the right track for what I want it to be. From the non-industry players, I deciphered a number of usability issues resulting from translating the job from the real world to a virtual one4. Much of the iteration I did in the last week of the project was focused on improving that translation usability, because my advisor and classmates were in this camp. From my industry veterans, I gained a better prioritized roadmap of features to implement down the line.
Building the prototype, learning C#, rebuilding the prototype, repeat…
Having said all that, my largest roadblock was not learning what I needed to do, but learning how to do it. This is essentially my first game without any guardrails. I had to learn a lot of C# and scripting fast and on the fly. My advisor very directly told me not to worry about building certain systems from scratch (like the first person camera controller), but I just had too much fun trying to build it all myself. As I figured out how things worked, the game not only got better, but easier to develop and build upon.
I think the foremost example of this was when I learned about the existence of Dictionaries, in case you didn’t realize how little I knew about C# going into this project. I was having a bear of a time creating the customer ordering system, because I needed to track that information in numerous different places and systems. At first, I was just creating a thousand lists. Lists of lists. Lists of lists of lists. It was a preposterously tangled spider web. Every time I needed the information in a new system, I had to relearn how I got that information in the first place. Once I learned about Dictionaries (and how to actually use them), I was able to completely redesign the ordering system from the ground up, drastically simplifying my scripts.
Another notable example was how the player interacts with things. Coming into this project, the only way I knew how to do things like this was via Colliders and Triggers, having worked almost exclusively in Unity2D. At a certain point, I was starting to look at my PlayerInteraction script like it was written in Ancient Sumarian. That was when I learned about raycasts. Instead of multiple colliders on every object, and innumerable variables to track, I just had to create tags for the objects the player could interact with, set a basic interactable distance for the raycast, and create easy-to-follow variables based on what step of service a table was on.
What is the point of it all?
My first industry job was “appetizer chef” at Maggiano’s (I was a fry cook, think Spongebob but making chicken parm and calamari instead of Krabby Patties). I have worked as a waiter, back-server, bar-back, bartender, keyholder (fake manager), floor manager, bar manager, beverage manager, and AGM. I filled in shifts as a dishwasher, busser, runner, and host. I have worked at an Irish pub, a neighborhood dive bar, a family restaurant, a semi-casual eatery, and a fine-dining restaurant aiming for Michelin recognition. I have helped open new restaurants, and closed more than one permanently.
What I am trying to convey is, I know how the job works from almost every angle. I know how annoying it is to have servers hovering over the bar waiting for drinks while the bar is slammed, and I know how annoying it is to wait 10 minutes for the bar to make a simple ticket of beer and wine. I know how enraging it is as a manager to watch staff sit around doing fuckall while you’re dripping in sweat from bussing dishes and running food to their tables, and I know how enraging it is to be in the weeds as a server while the floor manager is nowhere to be found for hours. I know how shitty customers can be, and I know how shitty servers can be.
I really, really, want to make a game that encapsulates what all of that feels like. There’s a sense of camaraderie, romanticism, and complexity about the job that I think is sorely underestimated, especially in America. I think too many people look down on servers and treat them like garbage because they think it’s a brain-dead job. And I think there are too many people in the service industry who are assholes and treat the job like a joke, perpetuating what those customers think.
I want people who play this game to appreciate what good service looks like, how much pressure goes along with doing the job well, and how challenging it is to perform every task you need to while also being personable and appearing happy when all you want to do is go into the walk-in and scream. I hope that it illustrates how shitty it is to bust your ass on a huge check, only to get a shitty tip, or no tip at all. I hope it shows people how viable working in the service industry can be as a career, and leads to a new generation of service industry pros who approach the job as a career instead of a temporary blowoff job (a pipedream, I know, and more than a little hypocritical coming from someone who left the industry).
Mostly, I want to make a game that feels true to the experience I had with my friends. I want them to play it and feel seen. Like with much of the dumb shit that happens in a restaurant, this is for us.
Moving forward
While this particular prototype was made specifically for a course that is now finished, I have been making this game in my head for almost as long as I was working in the service industry. I’m going to keep working on DNL whenever I have the time. This is a passion project for me. I know that this will reek of hubris, but I feel like I already know most of what I need to do, it’s just a matter of learning to do it. I can clearly picture the finished game in my head. Well, except for the art, but that’s a problem for future Sean.
- Not that customers will actually order them, but the player can send through an order for them as well as other non-kitchen items like gift cards or t-shirts ↩︎
- Actually, that’s kind of accurate depending on the restaurant you work at. I started a real hullabaloo when I complained about it once, but in my defense, the busser was getting high in the alley (before weed was legal in Chicago) and I bussed every single one of my own tables, so why would I tip him out? ↩︎
- I’ve said it before, I’ll say it again: some people walk into a restaurant looking for any excuse to start a fight with a server, treat them like shit, and not tip them ↩︎
- Based on feedback, I realized that it’s much, much easier to learn things when you are physically in a restaurant versus when you are moving a virtual avatar through one (which is obvious in retrospect). There are some experiences that I was not yet (or would ever be) able to translate to the game, like the smell of the kitchen, the muscle memory of walking from a table to the POS or kitchen, etc. ↩︎

Leave a comment