If you're looking to start developing indie games, or you're just looking for some tips and information, I have lots of wisdom to share. I've had many years of time to learn from my mistakes and talk to experts about the best practices, so take your time to read trough this page.
Use an engine
There's loads of tools to help you transform your vision into a working prototype fast so use them! For most people I recommend
If you prefer open source, there is also
If you don't want to do complex coding you can use
Once you've chosen an environment, get comfortable with it, follow some basic tutorials and start with some tiny week long projects.
Keep your scope small
Most people I've talked to who want to start out, have an amazing idea for a game that they want to make. Usually it's better to put that idea on hold, to start out with small simple games and to gather some experience. Once you have that, you'll be better equipped to judge if your idea will translate to an engaging game or not. I recommend in general to keep the scope of your games small. Make sure you still have room to deal with unexpected problems, marketing and a little bit of feature creep. If you start with a massive project chances are good you will get bogged down, lose your motivation and end up quitting.
Find out what sets you apart
If you want your games to stand out, the best strategy is to excel in one or 2 areas, to the point where that will make up for your flaws. Whether that be programming, visuals, design, music, sound, story, 2D art, 3D art... This is very important for another reason: you will be better able to find a job in a larger team, company or even outside of game development. More on that later.
Unless you're Toby Fox, your game will not make it if you don't advertise it. As a matter of fact, you should typically spend about as much time and effort on marketing as the development itself.
Build on an existing audience
This is the main reason why your game should have a clearly defined genre and a short elevator pitch. People will compare your game to what they know and what they know they want. In general your game should adapt to your marketing strategy and not the other way around!
Keep up to date
The indie market changes quickly, it definitely pays to have a network of experts to talk to and keep up with the latest developments. Attend local game dev meetups if they exist or at least keep up an online presence with some devs you can talk to in dm.
Talk about what you're doing
Keep people up to date about what you're doing, post to 1 social network or keep a blog somewhere. At least for your own sanity, let the world know about the mountains you're moving to make good products.
Do player testing early on
Do loads of player testing, as soon as possible. Take some time to have a friend play the game while you watch him/her, you will quickly notice common problems. When people are testing your game, ask them if they would recommend it to a friend. This is usually the only way to get honest feedback.
Remake your assets
As you build and refine the concept of your game, you will probably have to rebuild and improve your assets. This is not unusual, as a matter of fact you'll be lucky if there is an asset you only need to make once. Update, change and improve, over and over again. Don't forget the importance of little things like the UI and even the choice of font. If an asset is visible to the player, it should never be an engine default asset, people will recognize these and write off your game as lazy.
Or more to the point, do not try to do everything yourself and double don't do everything from scratch. Your time is valuable, it's up to you to judge when buying an asset or hiring some help is worth while. If you have nearly no money, I recommend spending it on professionaly made cover/icon art first. This is the one key asset that can make or break a game's success.
Make a mailing list
This is absolutely crucial to marketing PC and console games. The idea here is that you need a bridge for your customers to go from discovering your game to actually buying it. If you advertise and post about your game on social media, it should link back to this mailing list. Signing up should be as easy as possible.
You might be tempted to send people directly to the store page, but this rarely works. People are irrational and will fail to spend $2 on an unkown indie game, right after spending $8 on coffee with a fancy brand.
Every mail should have 1 easy to digest subject, at least one sent every 2 weeks. You can spice things up with digital gifts: backgrounds, audio or concept art.
If you want to go the extra mile, set up a system where new subscribers are greeted by a predefined sequence of mails over the first month. Sell your story and get them on board. Make sure to keep them warm! When your game releases, you of course send out mails before and after. Bonus points if you can launch with a sale and send one last mail an hour before it ends!
Examples of tools that let you set up mailing lists: Mailchimp, Convert kit, Awebber, Drip.
For mobile games...
Check out my survey data
Make lots of simple games
Invest in ads and marketing, use data to refine your games and ad strategy
Optimize your marketing images!
The best monetization strategy tends to be optional ads, ones the player can choose to watch in order to receive a bonus in game
Make your store page as soon as possible.
90% of your effort should go into the capsule image. A cute, pretty or eye-catching character from your game will work best here.
Your screenshots serve as a summary of what the gameplay is about, treat this like a short comic strip and don't forget to use actual in game screenshots that show the UI!
The description is not important, though it is helpful to refer to popular games of the same genre again to give your audience a clear picture of what your game is about.
People's attention mostly goes to negative reviews, to see if there are compelling reasons not to get your game. People will tend to treat these with a critical eye so poorly worded negative reviews will do wonders for your sales! Just don't get angry, in stead try to adress any real points being brought up in negative reviews.
And to conclude...
Yes, the indie world is harsh, indiepocalypse, blah blah, you get it. Take a second to think if your talent, skill and dedication wouldn't be better spent in a 9-5, perhaps working on non commercial games? Maybe even get a regular programming job and make way more money for way less stress. Perhaps that's a sad note to end on, but I have to make this clear: I don't recommend the indie developer life to anyone save the most passionate people. You will need to pull out all the stops and even then you might just not get lucky.
Good luck to you, brave digital creative. May the algorithms be forever in your favor.