I don’t mean to be hyperbolic, or to suck up, but I genuinely think that CS 377G has been the most influential class I’ve taken at Stanford.
Before this class, I was planning on completing a coterm in the graphics class of computer science. Don’t get me wrong, I knew I wanted to work on video games, and already have a job for post graduation working on one, but I felt like HCI was a kind of waste of time. I took CS147 my junior year with the intention of taking CS247G in the spring, but I really just didn’t click with the class. I think between the accelerated timeline, and the theme of my section not being super interesting to me, made a lot of the work feel like busywork even though there was clear pedagogical value in it. I also felt like a lot of CS147 was just teaching me obvious things I already knew, and that HCI would be the same. I decided that instead of doing HCI for my masters, I’d do graphics (well really systems but that turned into graphics).
I took this class, not necessarily to make serious games, but just to have the opportunity to make games at all. I’ve worked on Pokémon Go on a large team where I got to do cool work, but I hadn’t ever gotten to make a game that felt like it was in a playable state, where someone could have actually gained something by playing it. Serious games felt like the perfect place to do that, and so I decided to take the class.
Going into this class, serious games, to me, were games where you did a level and then you did a math problem. I decided that the serious part would be annoying but at least I’d get to make some games, but I quickly realized how wrong this sentiment was. Once we split up into P1 groups, and we started on making our food based card game, it really hit home that a serious game can have the seriousness baked in by mechanics and dynamics, not just through putting fun facts on the cards. Once we came up with the general idea of Cook Off, the actual work on it didn’t feel like making some kind of educational game, it just felt like making a game, and by making the mechanics work well, we also increased the learning outcomes of the game, without having to think about it super explicitly. The other part of P1 that was so different from other classes at Stanford was the buy in from our entire group. We were working on the game constantly, meeting every couple of days, it felt like everyone genuinely cared about the game. This project really showed me a) that serious games are very much still GAMES, and b) HCI doesn’t have to be sitting through dSchool slides while your project partners don’t do any work.
I was really hooked to this class at this point, and when the opportunity presented itself to show off some of the Unity skills I’ve built up over the years for P2, I jumped at it. I talked about this a bunch in my P2 reflection, but tldr: I used a template I had made years ago thinking it would be sufficient, and it turns out that working in unity for two internships afterwards actually had increased my proficiency. I had a strong vision for what I wanted to do with this game, and I was really sure that I, a “professional” game engineer, could EASILY pull it off in time. I was really REALLY wrong here. I think that after a bunch of time in graphics classes, I let my ego get the best of me, and convinced myself that I was way more technically competent than was required for an HCI class. I was hard focused on the technical aspects of the project, and even though I _had_ a really strong vision for the narrative, I thought I could just improvise my way out of it. I cannot overstate how humbling P2 was for me, it is the lowest grade I’ve gotten on any project during my almost 5 years at Stanford, and honestly probably all the way back to middle school. When getting back my P2 grade, at first I was really upset, “how could they do this to me, I deserved better I made it in Unity, surely that counts for something.” And then I played more of my peers’ games. And quite frankly I was blown away, yeah I used Unity but the assignment was *not* to make a top down game with a dialogue system. It was to create compelling interactive fiction, and I had done a pretty terrible job at that. Yeah I stayed up late and worked hard, but at the end of the day I just _didn’t_ make a very good game.
After P2, I resolved to make a P3 I could feel proud of, and just like with P1, I had an amazing team to work with. I had never worked on a digital game in a small team before, and I wasn’t quite sure what to expect. After P2 I was definitely worried about doing badly, but more than that, I wanted to prove myself. I wanted to prove that I could do this, that I could help create compelling gameplay, not necessarily to my classmates but to myself. P3 showed me that if I tried, I could contribute design ideas and technical skill, and actually come out the other side with a good game. Unlike with P1, our roles for P3 were much more clearly delineated, we had dedicated people for visual art, audio, and even world space programming versus UI programming. We obviously crossed these lines a ton, working together, but working on P3 just felt so organized.
I found myself really absorbing the concepts of system games in lecture really compelled by how thin the line between a fun balanced game and an unbalanced mess really is. I realized that even though it wasn’t as computationally complex, making a game that’s fun, is infinitely more challenging than writing a mesh renderer or some kind of visual classifier. The challenge of making a fun game is not a balance of endurance and tweaking random variables until your output looks right, it’s actual creation. In this class we didn’t replicate some assignment spec like in a graphics class, we actually brought something new into the world that didn’t even exist before. When I first saw an autonomous worker rat get grass and put it back in the den for the player to eat, I felt an incredible sense of satisfaction. It really FELT like the system worked as intended, it FELT like the game actually was a system, and so of course I decided I wanted to keep working on _Stayin’ Alive_ for P4. Making a game that’s fun with awesome people, is an infinitely more rewarding challenge than learning about how CUDA manages memory.
In our last class, we started talking about what classes we wanted to take, and I kept remarking, “oh I’m so sad I can’t make games next quarter cause I need to take these graphics classes.” I realized in this moment that I was wasting the precious little time I have at Stanford sitting in my room learning how to code, when I could be creating things AND learning more about coding. I’ve spent every quarter at Stanford doing theater tech, so I know what making art feels like, but it always felt like computer science classes could never be that. To me before this class it was about the prestige of having done well in a tough systems class, or putting that you majored in AI on your resume. It never felt like what I was learning was ever important enough to warrant specializing in anything besides what would get me paid the most after school, because quite frankly, 90% of the classes were boring.
I’ve been talking a lot about just game design in general and not really the serious games component because 377G is the first serious game design class I’ve taken at Stanford, so I think to me, what I got out of it was not necessarily the serious part as much (though I learned a lot about that as well) but instead about the games part. After 147 I swore off HCI, because to me that class just felt like busy work on a project I didn’t feel very passionate about. I have next to no personal investment in the project I made there. I truthfully didn’t feel like I had learned anything either, our app worked really well in that class, and we got a good grade. It felt like I had HCI pegged and I should instead just work on the technical skills I’d need.
This class showed me how incredibly wrong I was. P2 showed me that all I really had was unearned confidence and a ton of room to grow. The fact of the matter is, I have an incredible amount to learn about making games, and for the first time in what feels like my academic career, I cannot wait to start my classes next quarter as an HCI coterm. Thank you Christina and Butch for making me realize I had a long way to go, I honestly cannot wait to learn more and make more.