Amit Patel on making things — Digital Seams
Open Menu<br>Close Menu
Digital Seams
Open Menu<br>Close Menu
Amit Patel on making things
Jun 15
Written By Bobbie Chen
For decades, Amit Patel’s interactive explainers have been reference points for programmers, game developers, and curious people on the internet. Red Blob Games is one of my personal favorites.<br>As part of the Making things project (intro here), I asked Amit how someone starts and sustains that kind of work: how he chooses projects, makes them great, and sets them free. We got to dive deep over a long email chain.<br>(This transcript has been edited for clarity.)<br>Bobbie Chen (BC): When anything is possible, how do you decide what to create?<br>Amit Patel (AP) : Honestly, the biggest factor is whatever I'm interested in at the time. But the style of project depends on my goal.<br>In the trading card game Magic: The Gathering, there’s a "deck building" part where you expand your capabilities. Then there's a "battle" part of the game where you put those capabilities to good use.<br>I try to model my projects the same way. Some projects are "deck building", to learn new things. Some projects are "battle", to use the things I've learned. Not everything I learned will get used, but it's important to spend time learning new things so that I have more skills for future projects. This is the exploration-exploitation tradeoff.<br>I distinguish these on my site. My learning projects are in the /x/ folder on my site, and these are usually time limited to 1 or 2 weeks ("timeboxing") but scope unlimited. The non-/x/ folders on my site are usually scope limited but time unlimited. Those are where I put to use the things I've learned.<br>I maintain a list of possible projects to choose from. When deciding, I'm usually combining an emotional aspect (what topic makes me most excited to work on) and economic aspect (what are the costs and benefits). I think of "economics" broadly, not specifically about money:<br>Pick projects that have a high benefit.<br>If it's a learning project, pick things that let me learn a lot.
If it's a tutorial project, then pick something that many people are interested in.<br>For tutorials, I also try to think of the"marginal" benefit. I generally prefer to write about things that haven't been explained yet, or write about a different aspect of them.
Pick projects that have a low cost to me.<br>If two projects have the same value but one is much easier to implement, then I tend to pick that one.
For example I have a lot of code sitting around for hexagons, so projects involving hexagons are often quick for me to make.
I ended up picking topics that are visual, but small enough to fit on a web page. A downside of this strategy is that I can end up in a local maximum. And sadly, I think I am already in a local maximum. I keep revisiting map projects and making interactive web pages instead of trying something completely different. So it may be time to try a different approach.<br>BC: If someone else can create it, why should you?<br>AP: I've been trying to think less about "should". Especially for creative works, I find that when I think about what I "should" do, it often makes the results worse. "Should" is an external motivation, but I want to move to internal motivations. I've been asking myself these questions:<br>Is it that I want it to be done? Would it have been done if I didn't? (Additionality)
Is it that I want to have done it? Would I be happy if someone else did it? (credit)
Is it that I want to be doing it? (achievement/process)
I want to have a mix. I want to do some things for the experience and some things for the accomplishment. I want to do some easy things and some hard things. Some fun things and some unfun things. Some things just for me and some things for others.<br>Once I wanted to make a game based on conveyor belts, and then I learned about another game that did something similar. I had to ask myself: if I want there to exist a game about conveyor belts, then I should be happy that someone else did the work. But if I want to have made that gamemyself, then I would want to continue my project.<br>There are often times I want to have done something, but when I sit down to do it, I don't actually want to do it. That's ok.<br>And sometimes the problem is that I don't know how to do it. That's ok too.<br>But when I tell myself I "should" do something, and I don't, I end up feeling guilt. I'm trying to get better at letting go of that guilt.<br>A downside of this strategy is that sometimes you have to actually do the hard thing before you can get to the fun thing. Without any external pressure on me, I haven't been doing some of the hard things when there are so many easy things I could be doing instead.<br>BC: I see a lot of ambition in what you're saying: the desire to learn new skills, reach many people, do "hard things", and not limit yourself in a local maximum. Do you ever feel like you'll have "enough" (skills, people reached, hard things accomplished,...