Hello,
I want to be a game programmer. I want to work in game company as Ubisoft, Naughty Dog..
It's my dream and I do for it everything.
It's about one year, when I start programming. I understood concept OOP, and C++ too. I've created 8 2D Games as Super Mario, Snake, Pong ...
But now, I don't know what I do next. I can go on 3D programming? If yes, which library a should use? Or I can go on Engines? Or I can stayed in 2D Game?
Moving on to 3D sounds like a good idea at this stage. I'd suggest you get a good book on OpenGL or DirectX and work through that. Then make a game using what you've learned and writing your own simple engine.
Then depending on which areas of game development interest you (graphics, physics, gameplay, engine architecture, tools, etc) you can continue to build on and improve your engine and go on to another more ambitious project. Do a couple of those and you might be good enough to be considered for a junior position at a game studio... assuming they hire junior people in the first place. Studios like Naughty Dog might only hire mid to senior-level programmers.
Other things you can do while working on that 3D game that will give you useful experience:
-integrate a 3rd-party physics engine like Bullet into your game
-write your own tool for something like object/level/material editing. You can use something like wxWidgets or Win32 or whatever you like
-multi-thread part of your code
-implement some post-effects using shaders (glow, DoF, motion blur, toon shader,.... whatever)
-learn to use a modelling program
-write an exporter for that modelling program
-integrate a scripting language into your engine and write some game code with it (triggers, UI flow, AI,... whatever)
-write a particle system
-write a UI system
-write a font rendering system
Anyway... there's much more you can think of, but those are ideas that you can integrate into a fairly simple 3D game and gain experience in lots of stuff that will be helpful when you're applying for a job at a big game studio.
Other than that, the things that will help you get a good job are solid knowledge of C++ and 3D math.