Those can be fun, but most pro-level game developers lean more toward using a "framework" rather than software that holds your hand the entire way.
You can think of a framework as a kit.
If you run down to your local Radio Shack you can buy an electronics kit that has transistors, capacitors, resistors, and so on.
If you put those together correctly, you end up with a radio, or a burglar alarm, or whatever it is you've chosen to build with those parts.
A game development framework is much the same, but instead of pieces of hardware, you have software functions that handle different parts of your game.
One will places images on the screen, another will move it when it's touched, another plays sound effects, and so on.
By using the pieces of that framework you end up with a space shooter, a puzzle game, or whatever type of game you've decided to create.
There are several great frameworks available to help make 2D games and one of the best, in my opinion, is Corona SDK.
While the Pro version costs several hundred dollars, the Starter Edition is completely free and allows you to create and even sell mobile games on iOS and Android.
That means creating and profiting from your games costs nothing.
That's one of the reasons I suggest Corona SDK.
The other reason is that it's one of the easiest frameworks to use.
While some people like to dive into something new and figure it all out on their own, for most people a video tutorial course will get them up and running (and productive) much faster.
When looking for tutorial videos to help you learn Corona SDK, keep these three things in mind:
- The teacher should have actual experience in game development.
You don't want someone teaching you who's all theory. - It's easy to find tutorial videos that are a snoozefest! Make sure you can sample some of the videos and find one where the teacher keeps your interest.
- The sample code you write should be usable.
There's nothing worse than working on something and then finding out it's just an exercise.
Find a course where the code you write while you're learning can be used again for a real game.
Using a proven 2D mobile framework like Corona SDK, and finding a great video tutorial course to guide you will make your game designing and programming a lot of fun.