10 Mostly Easy Steps To Become An Indie Dev
Of Game Dev and Ukuleles
I saw this post and as much as I disagree with it, I wanted to reflect on what I think would be the 'right' set of steps.
Like the author, I too am often “asked about starting to work on a indie game project by non game-devs“!
I would have very different advice from the author, whose advice seems to be predicated on the question-asker's desire to make the next high-end tactical combat game. That may be true of you (even if so, I think he’s setting you on a road of pain, but that’s another story)
So here are my proposed alternate Easy Steps for People Who Kinda Wanna Make a Game, Maybe?
1. Accept that you probably won’t make money at this, and that’s ok! Indie development is a job where you work really hard and unpaid for years, then ship your game, and .... still don’t get paid.
Yep, even if you buy a really really expensive setup. Indie game development is like going into music. You probably won’t make money with your band, but its a great way to have fun with your friends, and maybe some strangers online will dig your cool niche tracks ("zydeco-flavored jazz dubstep!") and tell you that you make good stuff that makes them happy. They might give you the occasional fiver, and that feels pretty good, too. The alternative is going to work for a "major label" like EA. You get a steady paycheck, but aren't working on your own stuff. Many pro developers still get together with their friends to jam on go-nowhere weekend projects, just like the indies!
2. Equipment This isn't an "investment", kid. Buying a fancy rig is about as well correlated with success as buying the fanciest guitar in the shop. Much great music has been made on a toy piano or a beater ukelele from the dime store, and many a fine game was made on someone's cheapo ancient laptop.
On the other hand, this is your fun, so buy whatever you want. If money's no object, drop a few grand on whatever the computational equivalent of Sir Paul's original Gibson is. ("My indie game was developed on Will Wright's original Amiga!") Otherwise, borrow your Nan's old ThinkPad, and move on. As my dad says, only upgrade once your equipment is the only thing holding you back. Don't buy tutorials and assets yet, wait until you know what you want to know.
3. Pick a starting song to learn: Never coded before? Coded, but never games? There are lots of great free tools. Pick one that's good for simple games that you could imagine yourself having fun making. Emphatically do not start with the tool you think you need to make your magnum opus. We aren't at magnum opus territory yet. Find the "Hot Cross Buns" or opening licks of Smoke on the Water, something you'd have fun making, but think might even be too easy for you (tip: it's not). Don't make World of Warcraft, make the "click-to-fish" fishing minigame of World of Warcraft.
You ain't gonna ship this to Steam, any more than you're gonna play Hot Cross Buns at Woodstock, so don't worry that your idea is tiny and silly. That's a good thing.
4. Learn! Find a "Hello "World" tutorial for the platform you've chosen as your "first song". Is it more than a page long? No time for that, find a new one. Smaaaaaalllest tutorial you can find. Really tiny and stupid. Great. That one looks good, so read it. OK, STOP, LEARNING TIME IS OVER, NO MORE READING FOR NOW This is not the time to read music theory, don't get lost in "hot tips for pros", this is the time to program.
5. Make! Then discover failure! Then overcome failure! Follow the tutorial. You goal here is to have something on screen that you can interact with. Along the way, you'll discover all the things that the tutorial is missing, like installing the program or getting it to run on your machine, or which syntax errors will cause it to fail.
Practice having a problem, panicking, stopping panicking, trying out solutions, being patient and forgiving of yourself, and feeling successful when it works We're learning to get past these annoying technical issues when making a tiny stupid program, that way they won't get in your way when you make something bigger.
You may find that you just need to pick a different tool for technical reasons. I've discovered I can't get my hands to do an barred F-chord, now I sometimes use Irish guitar tuning because it's easier on my soft and stumpy fingers, but a ukulele is even easier for me so I've mostly switched to that.
6. Customize and explore You have a small interactive thing, now, right? Make it do something very slightly different. Change the texture. Put your name on the screen somehow. Add some music (just some dreadful looping mp3). Don't try to make any tiny feature very complex of very good, just get it working.
Get each small thing working before starting the next change. It doesn't even really matter what you're changing, as long as you are practicing of wanting a feature and making that feature real. After a while of this, go back and redo the first few features you've implemented. Did you already forget how? Is it easier this time? Did you figure out a better way to do it? You'll find yourself improving a little bit each time, getting more familiar with your platform and how it "thinks".
7. First audience Pick an easy audience. Your supportive grandpa, or your 3-year-old niece, or a cat. Your goal is to make them delighted. Got it? They'll probably be happy if you just make some color and noise, but this is practice playing to an audience and getting feedback. The best ever advice I got in the games industry is to make your small games "love letters" to a single person that you know and love. This gets you out of the feature-creep mode of trying to guess at the desires of the masses, and it helps you be specific.
Grandad likes fishing and WWII, but can't move fast and doesn't play games. Make him something with very simple, very easy mechanics (maybe a tap on an ipad?) and positive feedback (you want him to feel like he's 'good at games'), and give it a theme that makes it clear that you respect his interests and were thinking fondly of him when making this game.
Your niece likes pink, and seeing her name on a screen, and is still learning cause-and-effect. Maybe make something that does something for everything she does, make it really customized for her with her name splashed over everything. You don't like pink, yourself, but can you make a pink game that you still feel good about it? This is a challenge, but remember that her smiles make you happy, and pink makes her smile.
I don't know what your cat wants. That's your problem, but if you can design for a cat, you're doin' pretty good. Watch them happily interacting with it. You did this: you helped them be happy. Feel good feelings. If they give you feedback or don't like it, listen and be glad that you're learning more about them and what they like. You can make more games later.
8. Get the band together, or go solo Do you need a team? From your previous game-making mini experiments, you've run into things that you aren't good at doing. For many of these, you've learned to work around them. Maybe you all your 3D models look like badly-melted G.I.Joes, but you always find ones you like on the asset store, or in Creative Commons collections.
Maybe you have a grand vision that no one else shares ("a game of thousands of scientifically-accurate semi-pixellated mollusks and clams!"), and so you want to find someone else to help. There are a few options: recruit a friend who has that skill, and hope that their affection for you will make them happy to share your goal ("pixel clams just make him so happy..."). They may have their own ideas they want to add, so you can't treat them as your underling, you may have to be flexible with your ideas, too. You might also find an online collaborator who is excited about seeing their strange interest shared by someone else ("NautilusJane: just made these new pixelated geoducks gifs, someone anyone plz retweet"). Respect and celebrate their expertise, and use your work to showcase theirs, and they may return the favor.
You can also just go solo. Make do with what you have, and learn to leverage what you can find. There's no shame in being a collage artist or a remixer.
9. Let's have a party Did you know that games can be a social activity? And that your friends support you and like to see what you've been making? Invite a few of them over to play your game, and have some tacos and other activities for if they want a break from your game. They may have all sorts of features that they think you should add, and changes you should make. They might be quite bad at your game. They may say it sucks. They may PLAY IT WRONG. What is wrong with these stupid jerks? Why did we ever give these losers our tacos and affection? Hold it.
Resist the urge to lecture them about their wrongness. Playtesting is hard, and one of the hardest parts of game development. Let's practice what we're going to say instead: "Thanks, that's very interesting". "Oh, that's very good information". In a playtest, there is no right or wrong, only interesting. You may totally disagree with what they say, but try believing that it's a real and true picture of how they feel. You now have information that this piece of the game makes this person feel like this. You don't have to change anything, it's just information to add to your information pile. Maybe no-one ever notices that switch over there in the corner, but you think it looks cooler in the dark shadow. You can keep it the way you want, but know that many users will still miss it. You can't argue people into having a different experience. Make choices accordingly, find your own balance between self-expression and user experience.
At this point, you can try shipping your game. This is "hard mode". Now you have no tacos or social bonds to tempt users to your game, and its even harder to argue them into having fun. But you can choose where to release it, to find the people that your game will most delight ("Bivalve Retro Gamers Forum: the place for people who love pixels and pteriomorpha!") and who will make you happiest to have as users. Maybe this is just your twitter followers, maybe you think the big crowds at Steam will like it. It's just a bigger version of the game party you hosted, warts and complaints and all.
10. Make yourself happy This is the big one. There are no right answers here. There is no official recipe for being an indie dev, any more than there is the right way to make music, no matter what any Gamasutra article or GDC talk will tell you.
If you've gone through these steps, you've discovered some parts that you love, and some parts that made you feel terrible. Some people genuinely like doing playtesting (those are strange people). Some like the nervous thrill of releasing to a giant crowd, others like the patient craft of slowly getting better and better at their skills. Find the part that makes you happy and fulfilled, and build your practice around that. Game Dev Bob Ross has some great advice, but this is a good one:"Remember that with every game you make, you have the power to bring joy and positivity into the world. Let this be your guide."
Bring joy to yourself, maybe bring some joy to others, and jam out with your own beautiful and unique music.