I'm in the middle of developing my first Tile-Based game (Just finished Breakout !) and I can say nothing is as simple as it seems. I've been able to work through a lot of problems by thinking extensively about my code before and while programming, however there's always trouble spots. It's good to have trouble spots though, because with every one you learn new things. That's the point of starting with Tic-Tac-Toe and making ever more complex games. With every one there is something new involved that you'll probably use later, and running into a problem in the middle of developing an actual game is far worse than running into a problem in the learning stage. If your dreams are actually a passion and it's not something you'll give up on, then go through the development ladder and see if it's something you like.
I'm still a beginner, working my way up from pong clones, tic-tac-toe and the like. I'm currently doing a simple mario style platformer. I've run into a fair amount of problems, asked on the forums, read articles etc. and played around with the code until I can solve them. In my personal experience, things are never as simple as they initially might seem.
Unless you are a god-tier programmer, there are two commonly suggested routes to take:
1. Take your current idea, and simplify it to the point where you can accomplish it with your current skills (or those not far out of your reach.)
2. Start smaller, with something like SFML (I find this a lot nicer to use than SDL), and create classic arcade game clones. Working from extremely simple - like tic-tac-toe, through pong, tetris, pacman, mario etc. until you have the understanding required to create the games you actually want to make.
Are you new to game development or programming?
For example, file input and output. This is a large part of a Tile-Based game and I had no idea how it worked or what it's uses are. I can now successfully say I fully understand how it works and how to create my own maps. My hope is to eventually create a level editor for my game using my knowledge, however you must take it one step at a time (Despite how annoying it is !). There's an insane amount of knowledge that you're going to to need to make your dream game, and if you go through the steps of development chances are that won't be your only dream game, you'll have many!