I pretty regularly get asked for general game development advice. Usually from students, sometimes from older people considering a career change. So here’s my best advice in a single blog post.
How Do I Learn To Make Games?
There’s no single answer to this question. People learn in different ways. Some can only learn if they’re taught and lectured. Personally I only learn if I can see why I need to know something, so modding was the ideal way to learn for me. To download someones code and see it working, change stuff, see what changes.
The good news is that it’s never been more accessible. Engines like Unity has made what used to be 6 months work take less than 6 minutes.
Should I make my own engine?
The short answer is no.
The long answer is.. it’s a waste of your time and energy. Your engine won’t be as efficient or compatible as the preexisting engines. Engine development isn’t game development, so you don’t need to, but never let that stop you from experimenting.
The Game Idea
The initial game idea doesn’t matter. My general rules are to make something you want to play. If you’re making a game because you think it’s going to be financially successful you’re doomed to fail. Making a game for other people doesn’t work.
Fuck design documents.
Fuck concept art.
You’re not going to spend months making design documents and drawings, laying out your vision. Games are games, you play them. Your first step is to make prototypes.
- Don’t make any art, use blocks or asset store placeholders
- Spend up to a month making a prototype
- Get people to play your prototype
- Decide if it works
- Either abandon the project or pivot to something that does work
This is where a lot of people fall down. They don’t put gameplay first.
If your game looks great but plays shit you end up in a media loop. You get feedback from fans on your screenshots and movies. You get scared to release because the gameplay is shit. But you’ve invested so much in the art that you end up releasing and everyone hates it.
If your game looks like shit and plays great no-one minds, and art is easy to improve after everything else is done. It’s the pudding. You don’t eat your pudding if you haven’t eaten your dinner.
Websites, screenshots, trailers, media. Don’t worry until you’re going to release. As much as building up a community for 2 years before you release your game is fun, this kind of release schedule is always going to lead to them being disappointed when you actually release. Until your game is ready it’s a waste of time and energy that is better focused on the game.
How many games a day have you got to sell to be self sufficient? What’s the bare minimum you need to do to live? That’s your aim.
When working this value out you need to keep all the cuts in mind. If you’re selling on Steam expect them to take 30%. Then on that you’ll need to pay income tax, or corporation tax. The tax situation all depends on what country you’re living in. If I was in the UK now selling a game for $10 on Steam, I’d rough sum that I’d end up with $4 of that in my pocket after Valve’s fees and income tax.
If you’re in the UK and it’s your first year self employed then you need to keep in mind that you pay your taxes on account. Which kind of means that you pay next years taxes as well. So keep twice as much back.
All the obvious things should be obvious. Don’t piss all your money on fast cars and big houses. Try to think of yourself in 6 months as a different person, a person that you might be fucking over with every decision you make. Imagine the worst situation he might be in. If you games stopped selling tomorrow, what would he do? Start a rainy day fund so you can keep working for 1 year+ without any income. Enough time to make a game or two to get you back on your feet if it all goes tits up.
Release as early as you can. This can be for free at first, to a small group of friends. If that goes well start looking at Steam.
You might feel like with Steam there’s a lot of pressure. What if your game fails and you want to stop developing it? What about the greenlight process?
You have options. We felt like this with Rust. We didn’t know if we were going to carry on with it. We didn’t want too many people buying it and swamping our servers. So we started selling a limited amount of keys using Paypal, and made the game web-based so we didn’t have to worry about distribution. This brings up its own problems. You need to collect the right amount of tax from everyone. The issue is that every country has their own tax laws, so you need to code a system to collect the right amount. Then you need to put these thousands of entries on your tax return.
With something like Steam things are a lot easier. You set your prices and your royalties get wired to you every month. Twelve transactions a month to add up. Easy.
There is a new alternative distribution system. Itch.io refinery aims to work like a detached Steam, with the emphasis on developer control. It’s what Steam aims to be. So it’s well worth consideration, at least before adding your game to Steam.
Something that is often overlooked is Support. Do you set up a forum and let users talk to each other? How do people report bugs?
Hiring people to do this for you is a really good idea. Having someone else look into reported bugs, reproducing, and then confirming fixes is a real time saver during development.
In a lot of ways this is a sign of success, so by the time this becomes a problem you should be able to afford to hire someone to do this. Hiring and Firing is probably worthy of its whole own blog, especially if you’re doing it over the internet, with people in different countries.
A lot of the time it’s not about who likes you, it’s about who hates you. This defines what you’re about. Don’t be afraid to take a stand against stuff. If you try to please everyone you end up with the blandest, characterless boring crap. I’d rather something that I do is loved by 3 people and hated by 7 than have 100 people be completely indifferent.
Feel free to be treat people who they’re treating you. You’re making games. People who are abusive deserve abuse back – they don’t deserve help. They can suck our cocks until they learn how to be civil.
No advertising works. Don’t waste your money on advertising. Don’t waste your money on booths at conventions.
Advertising and marketing are different things. You can make your game immediately interesting to stand out visually, or give it a surprising name, or have it cover a controversial subject. Give interviews where you say dumb stuff that gives them a dumb clickbait headline and makes people hate you. People don’t have to like you to like your game, and rather that hate you than don’t know who you are.
That’s marketing, that works.
Steam refunds is a concern to a lot of people. When you get your royalty report and you see that you’ve had 20% of your sales refunded you’re going to feel like this is a shitty system and people are robbing you.
It’s important to keep a balanced view of this. If the refund system didn’t exist and they’d emailed you asking for a refund because they didn’t enjoy it, it wasn’t what they thought, it doesn’t work, would you have told them to fuck off, it’s your money now?
Also consider the psychology behind it. How many people bought your game to try, purely because they knew they could get a refund if they didn’t like it? Without the refund system would your sales have just been 20% lower anyway? Did the safety net convince people to buy it, and they didn’t refund?
My opinion is that it reduces support requests, and makes customers happier. So fuck it.
When we release a game our long term plan is to update it and improve it. This works because our games are all multiplayer or sandbox games. And so far it’s turned out to be a financially sound strategy, with our games eventually selling more and more each year.
I don’t know if this would work for, for instance, a single player linear mission based game. I don’t know how you early access something like that, or whether you should. It is something that I think I would enjoy to do. To work on a game for 6 months in secret, have a few months of limited testing, then release and pretty much forget it, get working on the next game.
Either way you should consider what your exit plan is.
I don’t know anything
If you’ve never made games before you have a huge advantage. If I’d have had any industry experience before making GMod I probably would have never made it. Your naivety is a huge advantage, it’s your edge.
Don’t try to emulate people who are in the industry – do your own thing, make your own mistakes, find your own way. It’ll lead you down a bunch of paths that no-one will ever take because they know the ‘right way’. The world needs those paths explored.