Rakiayn wrote:no real friction in this engine
Box2D is more of a physics engine than a game engine. With that said, of course it has friction! Friction between bodies is automatic. For "zones" like water, you can do an ApplyForce() to simulate frictional forces.
But again Box2D is just a physics engine. It might be a
component in your game.
Really, when starting off, you don't wan't to start with an "Engine." They are really convoluted things, and might cause confusion if your unfamiliar with C++.
The best way to start off IMHO is to create your own engine. That way you get rid of the clutter. Now wait! I'm not telling you to create everything from scratch. Game engines are made up of components. For example, rendering component, physics component, etc. The process of creating an engine is putting them together. Here are some ready made libraries that should help you:
SFML is a great engine. It uses OpenGL for it's 2D rendering.
Box2D as mentioned is a great physics engine.
OpenAL is good for sound.
But more importantly! You need to know where to start. Try reading and asking questions on these sites (number one place IMHO):
http://stackoverflow.com/ // General programming questions
http://gamedev.stackexchange.com/ // Game design and specific questions.
You don't even have to create an account to ask.
Just my 2 cents.
Tell me if you have any other questions.

P.S. I'm in the middle of creating my own game in C++. It's similar to Minecraft.