Indie game development tips:

#1) Be ready to fail. Most indie games do not break even. Studios close all over the place. Work hours are insane and crunch seems to be the norm in the games
industry. Expect insane stress and massive delays because things are not working. As in, 87% of indie games lose money. There are success stories, of course, but they're rare - only a dozen indies per year become legitimate hits. That's out of the thousands now released per year. You will NOT be the next Angry Birds.
Angry Birds IS NOT indie and I'm really, REALLY tired of idiots who don't know a thing about games, much less the games industry, telling me that it is. Angry Birds was Rovio's 52nd mobile game and the studio had a lot of experience, and a fairly large budget / ad campaign going into it. Meanwhile I'm sitting here making a game that will in the end cost less than 4% of what they spent, and yet will in many ways be far more ambitious, mainly due to thousands of entirely unpaid hours of labor.
I would not do any of this if I were aiming to 'strike it rich' - I am well aware my
game will [statistically] almost surely fail, and I'm fine with that because I loved much of the process of making it and there's a lot in it I feel strongly about, I sort of had to
make this game, even if I knew I'd never make a single sale, I'd still make it.
If you feel that way about your projects you are meant to do this. If not, find another career.

#2) Keep expectations low in terms of your game's scope. Don't make an MMO, that's an exercise in futility for an indie dev. I'm personally seeing a lot of [indie] hits are happening in 'adventure/puzzle' or 'platformer' categories or a mix of the two
[puzzle-platformers] and it's not an accident. These are genres which have been widespread since the '80s, when all game studios basically were small. They won't
ever make GTA V levels of cash but if you handle them well and give them a bit of a creative twist, they're well within reach for a solo indie dev. A smaller game you can
finish and release is better than a giant one you can't.

#3) Choose a game engine you are sure will be viable for the next 5 years. I learned this the hard way with Adventure Maker - I tried making a big game with it once [Traveler's Enigma] and by the time I was nearing some sort of finished thing, the engine was no longer supported by the developer or modern versions of Windows.
That was a foolish time sink. So try to future-proof your software/engine by opting for a modern engine like Unity or Unreal - one with a sizable community built around it and active updates on a regular basis. I now use Unity, along with a visual scripting tool called Playmaker, and couldn't be happier with all of it.

#4) Playing games is not equal to developing them, it is incredibly difficult at times and once in a while you'll get intensely frustrated doing it. Programming and interactions can go wrong in so, so many ways. So if you are doing this, figure it'll take way longer than it 'should', and focus on the hardest aspects of your project first.
If you can prototype those weak spots and show they're doable, then you'll more or less know the project as a whole can be completed. In my case I'm a decent artist and a sucky programmer. So I have tended to play to my strengths and am making
games with immersive visual environment art but relatively limited interactions. But testing the hard parts comes first.

#5) Teams work, but bring production value to the team, not just a concept. If you're good at some parts of development but not others, fine, you can always exchange work with another indie dev. But without some skill in some technical area you'll never make it.
'Idea Guys' are despised in this industry - because ideas have no value unless they're executed well. Ideas with a technically skilled person backing them up? Those go somewhere.
0.1% of the work is the concept. 99.9% is making it into a finished project. You can't only contribute 0.1% of the work. Everybody on your team will hate you for it and then bail,
unless you're the CEO paying them, which is just about the only way you can get away with not working meaningfully on a project.

#6) Test, test, test. Not by yourself. Give your game to players before releasing it and check what confuses them or where they do things you didn't think of that break the game. Testing often is critical to refining a game and making it better.

#7) Promote your game once you know you have the ability to finish it. It is not likely people will just 'find' it without you telling them it exists. In fact, it's likely good to build up excitement well before the game is even ready to launch. If you truly believe your work has merit, and you've put your heart into it, this will probably come naturally anyway. Find the relevant communities of people online and let them know your game exists. [No spamming irrelvant groups though, it's a waste of everyone's time and is likely to just annoy people!] But if you fail to promote your work and put yourself out there, your odds of failing at launch go from 87% to essentially 100%.

If you're curious about my gamedev stuff, please check Itch.IO - and note my last bit of advice.

#8) Diversify. Don't pour your entire life into just one project. Granted, too many projects running in parallel can be a massive mistake as well, but banking everything on a single effort with no fallback plan is foolish. Note how I'm not only working on a few indie games, I've got a TON of stock media asset packs for other game developers. Sometimes the asset-creation path (making 3d models, plugins, shaders, texture packs, etc) is a good way to use code or graphics skills to create a secondary or tertiary product line in addition to actual game development. Also, when a developer makes multiple games, the odds of any one game succeeding goes up. That's statistically one of the biggest predictors of a developer's success on a project - the number of games released before the one they're releasing now. An indie's second title is more likely to hit it big than their first, and the third more so than the second. This may be due to the community built over time and it may be due to experience, but know that a first failure or even a second, does not mean something won't succeed eventually.
Ads on and other websites run by Matthew Hornbostel, include banner ads from Comic Ad Network [top ad - an unfiltered banner rotation system predominantly used by web comics, art sites, but occasionally some questionable items.] and my own banner rotation system [bottom - anything here is either my own stuff like websites, online shops, or social media profiles, or has been vetted by me and found to be generally legit. I have several cashback sites [all of them are ones I've used and cashed out tens of $ from successfully already] and major online retail stores [Sony, Microsoft, Amazon...] in that mix. Usually they give me some sort of small compensation if you buy from them through the link, which I'm disclosing right now. They're all legit spots, but if skeptical do your own research before committing to anything.]