I have spend a lot of time learning how to make games, I have made many mistakes, but I learned from them. So I might be able to help you, if you want to become a developer yourself.
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 is good or not. If it is good, you'll also have a better idea of how to get started.
You should realize that not every idea translates into an engaging game. Think of what the player will really be doing while playing your game. Would it be fun? Would they keep coming back for more?
Actually getting started
If you have no experience in game development whatsoever and you want to start out, here's what you should do.
Think about what skills you have, what skills you're willing to learn and what kind of games you'd like to make. Use that to decide which environment you'll use to make games. For most people, the best option would be a game engine. If you want to make games in 3D you can use Unity3D or Unreal_engine. If you prefer open source, there is also Godot_engine. If you don't want to do complex coding you can use GameMaker or RPGMaker. If you want to develop for mobile, get yourself familiar with their API and mayby find an engine that supports it. If you're good at programming and want to make a game with some very special requirements you can do it straight up in some programming language etc.
Once you've chosen an environment, get comfortable with it, follow some basic tutorials and start with some tiny week long projects. Afterwards, start a first big project. Aim for something you think you can finish in a month. It will probably take 3 months, but it shoudn't be any longer than that. You don't want to get stuck with a game that takes years to develop so soon.
Making a big project will give you a feeling for how long something takes to make, what problems you will typically encounter and how to plan for some of them. You'll also learn how to maintain a workflow.
If you haven't given up by now, you might have some game developer blood in you. It's time to make a serious project. I still woudn't advise you to go over a year worth of work, but if you have a fantastic idea that will take longer, it's now or never.
Some more tips
- Advertising your game is just as important as making it. Show people what you're working on early on, especially for long term projects. Still, be carefull not to ask for something in return until your game looks finished. This is something I learned the hard way trough my Greenlight campaign for Drop Out 0 on Steam.
- Most people tend to think too big. Keep your game simple and trim off what you don't need. Focus on getting your game working in stead of adding more and more detail.
- 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.
- Focus on what you can do to make your game stand out. Think from a potential player's point of view. Why would they want to play your game in stead of triple A stuff? What makes your game better than the thousands of indie titles out there? If you're an indie, the best approach is to have a few qualities (e.g. the story) stand out, so you can attract a niche audience.
- You'll be very 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 your gui and hud, or 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. In fact, you should avoid using art assets dsitributed in mass as central elements. Put them in the background, or customize them.
- If you need to make something, take a second and think if it already exists and if you can get it for free, or buy it cheaply. This is especially important for complicated, but common pieces of programming, like pathing AI.
- Spend money. Don't try to do everything for free, your time is worth money and there are many cases where you can save a lot of time by spending only a bit of money.
And to conclude...
The gaming industry is harsh, there is little demand for new games, and few people manage to make a living out of it. Developing games will teach you a lot though, if you manage to persist trough the hard parts. And who knows, mayby you really have a talent for it, or mayby you'll get really lucky. I wish you all the best!