Hi there Kaedo and welcome to the forum,
First: It's very cool that you chose the path of making games and
followed your dream, I hope you won't ever regret it.
Well it's a big advantage that you already know how to program.
And because your dream is to make 2D games, I won't suggest you
to go for Directx or any other big 3D engine like Unreal Engine 4, as they focus
more on 3D than they do on 2D.
I would suggest you to first choose a programming library. (Something that
has many programming classes and functions, etc. particulary for game development).
Two of those that are being used widely are:
-SFML(http://www.sfml-dev.org/)
-SDL/SDL2(https://www.libsdl.org/)
Personally I like SFML a bit more, but as the difference in use isn't
that big and as everyone has it's own preferences, I suggest you to take
a look to some documentation and tutorials and see if the library is compatible
with your favorite programming language (if you have one).
About engines: I don't know very much about 2D engines, because
I personally like it to build as much of a game by myself, but for what I know,
RPG maker (http://www.rpgmakerweb.com/) would suit you good, but I won't
suggest you to use it, as the scripting language is Ruby.
If you know which of the above things you want to use, you can start learning.
For now, put the whole Super Mario games thing aside for a while, as this
probably won't be the first game you make. In fact, it is. in my opinion, the best and
the most useful to start with small games. (for example, start with pong, then astroid, then
tetris, then breakout, then a small platformer, etc. Or something like that) and post the
source code here on GameDev.net, so that more experienced people can review it, if you want to.
Then, if you think you have made enough small games and gained enough experience, try something bigger.
(Maybe already your game idea, maybe something less hard for a while). Make it a little bigger everytime
and gain more and more experience every time, until you have your game.
I hope this helped you a bit, if you have any questions, you can ofcourse
always ask them here or in a PM.
Good Luck,
RaoulJWZ