I may not be the most successful developer around, but 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 really a good idea, if it is viable and if so how to get started. You should also realize that not every idea translates into an engaging game. Think of what the player will be doing most of the time, what will make them come back for more and not what would be cool to make.
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 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.
- Think from a potential player's point of view. Why would they want to play your game? What keeps them interested?
- 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 this and write off your game as lazy. In fact, you should avoid using assets sold in mass, unless it's not directly visible or can be customized.
- 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. But if you truly have a passion for it, that won't deter you. Good luck!