1 minute read

Yet again, I pulled an all-nighter. This time, to get a project of mine ready for my university’s game programming competition. Unfortunately, it was a bust. I failed to fix all the bugs and rewrite all the code I needed to in time for the submission deadline. This got me in a funk over the past few days, and was a substantial blow to my confidence. Wallowing in self-loathing and shame didn’t help me feel any better about myself, however. So I’m trying something else that is.

When something bad happens to you (by your own fuckup or by sheer circumstance), there’s always something you can learn from it. To say that there’s a silver lining to every cloud is cliched and glib, but it’s true. I learned two things from this (and I’ll probably come up with a third after I publish this post):

  1. When you make a game with a serious release (i.e. not just some hobby project thrown onto GitHub–not that that’s a bad thing), don’t roll your own engine. 99% of the code I was writing frantically at three in the morning was last-minute refactoring of my game’s core architecture–in something like Unity or Unreal, this would not have been relevant.
  2. Pride is dangerously central to my identity.

This is one of my main faults as a person, as best as I understand myself. This isn’t about ignoring criticisms or suggestions. This isn’t about showing off my successes or hiding my failures. This isn’t even about blaming others for my mistakes. No, I can avoid all of that reasonably well (at least, I hope so). This is about me subconsciously doing the following:

  • Equating lack of success with failure.
  • Equating failed goals with failure as a person.
  • Equating lack of failure with success.
  • Thinking that other people see the above in the same way I do.

Essentially, I’m needlessly creating ways to disappoint myself.

So, what can I do? Well, redefining “failure” for myself ought to be a good start. It’s okay if I learn something, right? Even better, if I keep having different failures. When I help people troubleshoot code, I always tell them “well, different problems means progress.” Maybe I should practice what I preach.

Oh, and of course, I have to remember to act upon the lessons I learn from my mistakes. That’s kind of important, actually.

Updated: