Cool Jams Inc – Making a Pokémon Clone with Crayon Language


Earlier this month, I attended a local game jam called Cool Jams, Inc., which was inspired by (and not necessarily affiliated with) Polygon’s CoolGames, Inc. podcast. The premise of the podcast is to take terrible game ideas from Twitter and flesh them out into a playable game design. The jam’s premise was for people to take random ideas from the show and actually build them, while often adding their own spin to them. The event was hosted at Seattle’s own Indies Workshop, with an page for submissions.

I was really looking forward to this jam, mostly because I knew a lot of people who’d be there and I was looking forward to hanging out with everyone. I’ve participated in tons of game jams before, so I was excited by this jam’s change of pace. In that spirit, I decided ahead of time that I wouldn’t use Unity for this project. I was originally thinking of using Flash and ActionScript 3.0 just for nostalgia’s sake. But then my friend Blake O’Hare jokingly suggested that I use his Crayon programming language, and I thought, “sure, why not?”

Crayon is literally a programming language that Blake made. It’s not a library. It’s not a translated language. Crayon projects run on their own VM which can be exported to a variety of platforms including Web (JS & HTML5), C#, Java, Python (PyGame), and Android (still experimental). I’ve seen Blake make some pretty cool games using Crayon, and the idea of trying it out sounded pretty fun.

Continue reading

Seattle VR Hackathon Project: Disaster Recovery Training Simulator


It’s time for another mini-postmortem! Last weekend I attended the Seattle VR Hackathon, and we ended up making a VR crane simulator. I worked on this project with Sean Siem, Staishy Siem, Maggie Lu, Jae Nwawe, and Matthew Chan.

Download: Disaster Recovery Training Simulator
Minimum Requirements: Windows, Vive, VR-ready specs

The VR Hackathon group has organized several hackathons around the world. This was their fourth time hosting a Seattle event, as well as my second time attending their event. As someone who attends almost every hackathon and game jam that he sees, I can confidently say that the Seattle VR Hackathon is one of my favorites. Few events are this well-run, but there’s also just something about the Seattle VR community and the organizers that gives this event an insanely good vibe. If you get a chance to attend one of these hackathons in the future, I highly recommend it.
Continue reading

TankXP VR: Drive a tank to fight aliens


This weekend I spent 48 hours making a VR game for Ludum Dare #36 called TankXP VR. The theme for this competition was “ancient technology.”

“Oh no! An alien invasion! Time to strap on your Vive and show them who’s boss using your awesome tank. Unfortunately, your tank’s operating system seems to be a little out of date….”

Download TankXP VR for Windows & HTC Vive
*Requires at least the smallest Play Area size (Standing VR not supported)

Continue reading

Implementing Racing Games: An intro to different approaches and their game design trade-offs


If you search online for “how to make a racing game,” you get a bunch of tutorials teaching you one very specific (and very hardcore) way of implementing vehicle/driving mechanics. These tutorials are great if you’re making a realistic driving simulator or racing sim, but chances are they won’t even get you started in the right direction for implementing something that actually fits the constraints of your particular game project.

This article will introduce you to different approaches for implementing racing mechanics, while discussing how these implementation strategies may either complement or clash with your game’s core design. Continue reading

Seattle Public Library Has Free Access to and Safari Books Online


Almost no one knows this, but the Seattle Public Library offers free access to two incredibly useful websites that normally cost a lot of money:

  1. — offers thousands of online video courses on a wide range of topics. They are particularly well-known for their expert courses on creative professions such as 3D modelling, animation, graphic design, audio design, etc. They also offer courses on programming, professional development, and more.
  2. Proquest: Safari Books Online — offers tens of thousands of e-books on a wide range of technical topics, including programming, game development, engineering, IT, etc. They even have non-technical topics like business, creativity, personal development, and more.

I’ve written before about how the best way to “teach yourself” anything really comes down to finding good teachers and good resources to learn from. No one’s path to mastery can consist only of Google searches to hyper-specific StackOverflow questions. Oftentimes you just need a good book or a course to introduce you to all of the fundamentals and all of the jargon of a particular field or tool.

How to Access These Resources

  1. Get a library card.
    1. This requires proof that you live in either Seattle or live in one of the accepted areas in King County.
    2. If you don’t live here, you can also buy a three-month visitor card or a one-year non-resident card.
    3. Make sure to save the PIN that’s associated with your library card.
  2. How to sign in from your computer:
    1. —
    2. Safari Books —
    3. Bookmark the above links. Then use your library card number as your username and your PIN as the password.
  3. How to sign in on mobile:
    1. — Download the Lynda mobile app for your phone, then on the login screen, navigate to the Organization tab, scroll down to the Web Portal section, and type in as the organization URL. Then login as usual with your library card number and PIN.
    2. Safari Books — You can’t sign in using their mobile app, so you’ll have to visit their website from your phone’s web browser using the same link in step #2.

Have fun learning!

Six Month’s Worth of Updates, News, and Games


It’s been six months since I’ve updated this blog, so I thought I’d make a mini-post about my decision to leave Microsoft, plus a bunch of updates on the major things that I’ve been up to lately:

1) Leaving Microsoft, Freelancing as a Unity developer

A few weeks ago I left my job at Microsoft to focus on game development full time. Lots of people who make this jump go “full indie” by starting their own studio, but I decided to freelance instead, which frees me up to work on a per-project basis. Specifically, I’m specializing in gameplay programming, which is more focused on implementing mechanics, prototyping ideas rapidly, and iterating on current implementations to make sure they actually feel right when played. It really seems like the most natural role for someone like me who is both super technical and super design-oriented. You can check out my full portfolio at:

So why did I leave Microsoft? Whenever I tell other game developers that I worked as a program manager for an enterprise IT product called Azure Active Directory, they tend to assume that I was miserable there. According to stereotypes, people who make this kind of career jump usually hate their current jobs, or their passion for games is so extreme that it becomes a reason to hate their current jobs. However, I actually really enjoyed my years at Microsoft. I got to work with and learn from some awesomely smart people who are super passionate about what they do. Of course, my main career goals are in the games industry, but I’m not the kind of person who indulges in self-inflicted misery just because “it’s not games!”

I initially applied for the program manager role (which kinda resembles the “product manager” role in other companies) because the list of required skills had a ton of overlap with those for a game designer, skills that I wanted to learn. It also just looked like it’d be really fun since it was a technical, producer-like, entrepreneurial kind of job that had me designing features, talking to customers, prioritizing requirements, communicating and coordinating efforts across the team, studying the market and competitors, landing on implementation details with devs, and generally doing whatever it takes to make our product better. It was pretty awesome.

I pretty much got exactly what I was looking for. I was super motivated to learn and grow, and my understanding of the “manager” skill set changed dramatically. However, I eventually realized that my pursuit towards mastery was driven more by professionalism than actual passion for the skill set itself. I didn’t really want to specialize in program management, and I had a super strong itch to get back into programming full time. This realization was when I realized that it was time for me to move on, and now here I am trying to make a living out of making games. 🙂

Continue reading

#LDJAM Game: Interstate 34


Hey guys, I made a game for Ludum Dare #34 this weekend, and it won the 2nd place prize for single-person entries at the Seattle Indies LD34 event! Here’s the link to the submission, and below is a brief description of the game. The rest of this post has some fun facts on how this game got made.

Beat up cars smaller than you to get points!
Don’t get hit by bigger cars or you lose your combo!

Download & play “Interstate 34” (PC, Mac, Linux)
Download the source code (Unity Engine)

Continue reading

Almost No One Sided with #GamerGate: A Research Paper on the Internet’s Reaction to Last Year’s Mob



Lately I’ve been troubled by the fact that GamerGate’s supporters and I seem to have completely opposite perceptions about what most people think of their movement. I’ve had GamerGaters tell me that most people don’t equate GamerGate with online harassment and that most people (or at least, most gamers) are actually on GamerGate’s side. How is it that our perceptions of “what most people think” are so different? Could it be that we all live inside some social-media echo chamber that makes us oblivious to other points of view?

So I decided to start a little research project to settle the question: What did most people think about GamerGate?

The results of this project suggest that the vast majority of people do in fact equate GamerGate with online harassment, sexism, and/or misogyny. More people see GamerGate as a toxic mob rather than a legitimate movement worthy of respect.

The following paper goes into great detail about how I conducted this research and why I reached those conclusions. This paper also reads like a historical analysis of the previous year by uncovering patterns in the ways that different people reacted to GamerGate.

There’s a strong TRIGGER WARNING for anyone who was deeply affected by last year’s events and similar forms of harassment. Things get particularly heavy in the section titled Patterns in How People Reacted to GamerGate.

Table of Contents

  1. Abstract
  2. Methodology
  3. The Data
    1. Link to the Full Data Set
  4. Observations & Analysis
    1. A Look at the Pro-GamerGate Sources
    2. Comparing Estimates of Population Size
    3. Patterns in How Publications Started Covering GamerGate
      1. Intel and its Advertisements
      2. What Exactly is All of this GamerGate Stuff?
      3. Harassment and Death Threats
    4. Patterns in How People Reacted to GamerGate
      1. Revulsion
      2. Fear and Terror
      3. Sadness, Anger, and Outrage
      4. Analyzing and Fighting GamerGate
      5. Mockery
    5. Why Does GamerGate Think Everyone Likes Them?
    6. Patterns in How People Remember GamerGate
  5. Conclusion, and GamerGate’s Legacy

Continue reading

Stop Acting So Surprised: How Microaggressions Enforce Stereotypes in Tech


I recently wrote a new article that was published today on Model View Culture. This was my first exposure to the world of professional writing, which means that I had to pitch my piece to them, have multiple drafts reviewed by their editor, and get paid for my work.

Read the Full Article on Model View Culture

Over the past eight months or so, I’ve become a huge fan of this publication, and I’m super honored to have my work published by them. I love how their essays look at the tech industry from an angle that you don’t really see on typical industry publications. They often discuss the industry’s culture and social problems while promoting interesting and diverse voices, opinions, and projects.

They are an independent publication with zero ad revenue, which means they only make money when you buy things from them. In particular, I love their printed quarterly subscriptions, which are also available digitally. There’s something really fun about getting a little journal in the mail that’s filled with super fascinating thoughts from awesome people who are actively working to improve the tech industry. After reading my piece, feel free to look around their site, follow them on social media, and if you end up liking them as much as I do, please consider supporting their work.

Let’s Actually Do Something about Internet Hate


Anyone who follows tech/game industry news has probably noticed a deeply disturbing pattern by now, as outlined by the following examples:

  1. Co-creator of the innovative Head First programming books has been facing years of online harassment and real-world threats.
  2. Pop culture media critic who makes academic video-essays has been facing years of online harassment and real-world threats.
  3. Game developer who raises awareness of mental illness has been facing years of online harassment and real-world threats.
  4. Software engineer who made an anti-harassment tool will almost definitely face years of online harassment and real-world threats.
  5. Game development studio founder will almost definitely have to endure years of online harassment and real-world threats.
  6. …and many other developers, writers, and critics have been putting up with years of online harassment and real-world threats.
  7. [EDIT] Over the course of the few days that it took me to write this post, the founder and editor of a progressive tech publication has started receiving several vicious attacks. Everything about the situation is consistent with other cases that have resulted in years of online harassment and real-world threats.

Perhaps you’ve heard of some of these stories, but most don’t realize that the hate campaigns against these people still aren’t over. Part of what makes this pattern so upsetting is the public’s infuriating habit of stopping to notice what’s happening, being horrified for a moment, and then moving on and forgetting all about it. We almost always leave the victims to fend for themselves against these hate mobs while we happily move on in blissful ignorance.

This is clearly a huge problem, not just in terms of urgency but also in terms of how difficult it is to solve. Most of us don’t even know what we can do to help, and so we usually don’t do much at all. Even when we do try to help, it can often feel like our contributions are just a drop in the bucket, like we’re essentially doing nothing.

And frankly, I’m super tired of doing nothing, especially when there are such few people who are actually working on this problem. Earlier this month I tried to cope with this frustration by trying to convince myself to be more satisfied with the effort that I put in so far. But my conscience has been killing me ever since, because this attempt at complacency felt as though I was turning my back on these people whom I really respect. I realize now that I won’t be comfortable with myself unless I’m actually serious about making a difference here. And to me, taking something seriously means being satisfied only by results, not by effort.

Continue reading