Advice on Getting Advice & Mentorship (in the Game Industry)

TL;DR: If you’re about to DM or email a game development professional for advice, you can skip to the “what to ask” section. But I suggest reading the whole article too 😉

I was writing a shorter block of tips for seeking mentorship in a large post about breaking into the game industry when I realized I couldn’t condense this advice into bullet points while addressing all of the important nuances.

As a professional game developer who’s mentored through programs like the Glitch Power Leveling program at GDC in 2019 and the online bootcamp Code Coven; mentored and spoken at classes and events at universities including UCI and UCLA; and who’s been a mentee myself, I’d love to share some detailed advice about mentorship in the game industry. I can’t possibly cover every potential mentorship situation in one article, so this one is focused on guiding people new to the industry on how to approach industry professionals (online and in person) for 1-1 conversations for advice about the game industry and turning those relationships into longer-term, more formal mentorship relationships. I always recommend that you think critically about the advice I present, consider what does and doesn’t work for you, and don’t believe everything you read on the internet. 😉

I hope this article both sets you up with realistic expectations for what you can get out of mentorship and gives you practical advice to follow to seek it and benefit from it.

Continue reading Advice on Getting Advice & Mentorship (in the Game Industry)

Questions to ask game studios you’re interviewing with

When you get to the end of an on-site interview with a team and they ask you:

“Do you have any questions for us?”

The worst thing you could do is say “no”.

If that’s the case, then what DO you ask?

Remember that, if interviews are functioning correctly, you’re also assessing the company and team as much as they’re assessing you. You should ask questions that demonstrate that you’re carefully considering whether or not your career goals align with this team’s goals and the position’s responsibilities. This demonstrates that you’re somebody who takes their career seriously and can bring that focus to the team.

Having said that, I also know that sometimes you’re in a position where you’re almost certainly going to take the job if you get an offer regardless of what their answers to these questions are. Sometimes you’re new to the industry and you don’t know what your goals are yet. Or maybe it’s just because the job market and interview process just isn’t actually balanced or fair in many (..most?) situations. I’ve been in that position before. I still think you should ask these questions, even if you have to feign some confidence about your ability to be picky.

Both a disclaimer and a possible boon- I’m writing this from the perspective of somebody who is an individual contributor, not a hiring manager. Although I’ve never made a final call on hiring somebody before, I do participate in the interview process and have interviewed for jobs many times myself. I encourage you to think critically about what advice here applies to you, and don’t believe everything you read on the internet. 🙂

With all that in mind, here’s a list of questions that I think are good conversation starters, helpful insights into company culture, and will help you figure out if this company and role are actually a good fit for you. You don’t need to ask all of them; pick a few that you think will help you make the best decision in your job hunt and make the most sense for your role and experience level.

Good luck!

Continue reading Questions to ask game studios you’re interviewing with

Game Dev Portfolio Guide

Other than making games and networking, creating a quality portfolio to display your work is one of the most important steps of applying for jobs in the game industry. Luckily, it’s also pretty simple compared to the first two steps! XD

This guide should be helpful for a variety of asset creation jobs- mainly, coding, art, and sound design– as that’s my biggest area of experience and therefore what I can give the most accurate advice on.

Remember that your resume and portfolio are living documents; update them with new work you’ve done and remove old work as you advance in your career.

Good luck!

Continue reading Game Dev Portfolio Guide

Getting Started Learning Tech Art & Unity Shader Writing

(important disclaimer: this work represents me only & not the company I work for.)

I participated in the 2019 Global Game Jam at the University of California – Irvine, and I met a ton of students who were super interested in learning about what tech art is and how to get started learning tech art related skills.

UCI Global Game Jam participants, this one’s for you. This article will be geared pretty strongly towards college students who are interested in working in the game industry and already studying a relevant major, like computer science or art. If you’re looking for more general game industry career advice, try this article.

I hope that you and anybody else reading this feel a little less intimidated by tech art and graphics programming and find one of these resources useful or inspiring 😀

You can always reach me on Twitter at @so_good_lin – my DMs are open 🙂

Continue reading Getting Started Learning Tech Art & Unity Shader Writing

How to Be Successful at a Game Jam

The content of this article is guaranteed quality ™: I’ve participated in 4 game jams (all with a 48-hour time span), judged two, and ran one myself! I’ve also been working in the game industry for several years now, and I’m currently an Associate Tech Artist at Blizzard. You can see a couple of the games I’ve created during jams here.

I’m writing this the night before the 2019 Global Game jam, so I’m gonna cut to the chase.

Continue reading How to Be Successful at a Game Jam

Color Spread Post-Processing Effect Tutorial in Unity

(important disclaimer: this work represents me only & not the company I work for.)

I was inspired by an episode of the Powerpuff Girls for this effect. I wanted to create this effect of color spreading in a black and white world, but to do the effect in world space coordinates so that you can see the color crawling over objects instead of flatly spreading across the screen like in the show.


I created this effect in Unity’s new Lightweight Rendering Pipeline, a built-in example of a Scriptable Rendering Pipeline. All of the concepts still apply to other pipelines, but some of the built-in functions or matrices might have different names. I also used the new post-processing stack, but I omitted explaining how the basics of how to set it up, as I think other guides already cover this pretty well, such as this video.

For tutorial updates, follow me on Twitter. I also do Q&A coding streams on Twitch, and you can always DM me on Twitter or ask me questions in the Twitch chat about shader stuff 😀

Continue reading Color Spread Post-Processing Effect Tutorial in Unity

Foggy Window Shader in Unity

Hey y’all, this tutorial series is going to cover all of the techniques used to create the foggy window shader! There’s quite a bit going on, so we’re going to break it down into 3 parts:

  1. The Gaussian blur effect
  2. Writing & reading a texture
  3. Changing the blur based on the texture

At the end of each part, you’ll have a fully working shader, and you’ll learn techniques that you can reuse and adapt in other shaders!

A little disclaimer- this section does a really lazy application for the blur for the purposes of focusing on part 2 and 3. It’s most useful if you’ve never written a blur before and want to learn a really basic (but lazy) way of applying it in Unity. If you’re already a pro at writing a blur shader, then go ahead and move on to part 2!

Here’s the full code for the foggy window shader for you to reference. You’ll also need to look at the DrawOnTexture script for the C# part of this tutorial, and the blurring algorithm is in blur.cginc.

On with the tutorial 🙂

Continue reading Foggy Window Shader in Unity

Using Command Buffers in Unity: Selective Bloom

Disclaimer: This post is a bit outdated since Unity has introduced the Scriptable Render Pipeline, which Catlike Coding has a better guide on than I’ll ever put in the time to write, LOL. However, if you’re using a legacy version of Unity that doesn’t have the SRP, or you want to write a single custom pipeline effect instead of extending the SRP, then the topics covered in this post are your best bet.

What this tutorial will cover

This is a pretty hefty tutorial that covers how to use command buffers in Unity for graphical effects that require extending the graphics pipeline. I’m going to illustrate the concept of extending the graphics pipeline by explaining how I built the system that creates this selective bloom effect.

The glowing effect in this tutorial is pretty boring, since the glow is a single solid color. I challenge you to modify the glow buffer step to actually render the model or utilize a custom emission map per-object… the possibilities are endless! The possibilities of what could be contained in this tutorial, however, are finite, so that’s why we’re focusing on this solid color glow.

Credit goes to Unity’s example project for command buffers, especially the one on decals, for helping me figure out how to utilize command buffers.

What you need to start

You’ll need some basic knowledge about how Unity’s rendering pipeline works, and what rendering pipelines do in general. I also recommend you check out Unity’s basic overview of command buffers before reading this.

You definitely also need to have some experience writing basic shaders. This blog is full of tutorials on shader writing that I strongly recommend you check out before diving into this one ;0

I also strongly recommend that you reference the Unity project on GitHub for this tutorial, as it completely implements everything we’re about to cover!

Continue reading Using Command Buffers in Unity: Selective Bloom

Basic Math for Shaders

I never thought I was going to be able to do graphics programming because I believed I was bad at math. The only class I failed in college was a math course. And yet here I am, actually doing decently well at handling math subjects!!

Visualizing math has made all the difference. Abstract math means nothing to me, and I don’t expect it to mean anything to you either. But that doesn’t mean you’re not good at math- it might just mean you have untapped potential at geometry and visual-based math!

The best way to use this tutorial is probably to either a) reference it when you’re confused about or forget the meaning of a term used in another tutorial (for example, a tutorial says “get the surface normal” or “transform into X space” without explaining what that means) or b) reading it as a primer for more complex discussions of the subjects presented.

To really harness the math involved in this tutorial, you’ll need to do a combination of experimentation and research: start writing code to experiment with the terms you learn, and read books that go more in-depth explaining the math involved.

Or, you could do what I did, and use it as a brush-up on your graphics-related linear algebra skills before having a technical interview.¯\_(ツ)_/¯

This tutorial is going to cover how the following math topics apply to representing 3D geometry:

  • What vectors and matrices represent
  • Vector addition & subtraction
  • Vector cross products & surface normals
  • Vector normalization
  • Vector dot products
  • Matrix * vector multiplication

Continue reading Basic Math for Shaders