It's your game so you should know what you need. Have you planned how you want the game to be? It's much easier if you have a plan. What is missing so that the game can do the things you want it to do?
2D? 3D? Will have collisions and physics, besides the "Is that cube of the map solid?" part ?
Also you need to gather all the needed images if you want to use them, like, every back/front picture of every monster you are going to use, then you'll need a picture reader (Importer) and handle drawing.
Or you can simply use a external library that handles most of it by itself.
There are countless books, tutorials, blogs and sites dedicated to your required information. Plan your game, read a couple of books on game engine design, find a good site with alot of relevant info (like gamedev.net) and follow your heart
About movement, you should handle your WM_KEYDOWN and WM_KEYUP messages. You will get a Capital Letter or a Virtual Key ID.
Like, you press WSAD to move, you will have to handle 'W', 'S', 'A', 'D'. You use arrow keys? You will have to handle VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT.
You also need to store every player's position, so you can move it.
To move it linearly, fps-indipendently, you will have to multiply the movement speed for the delta time, recovered by checking the difference in time between a frame and another.
About leveling, again, you simply have to store each player's level, and also check for level to be high enough to evolve a monster.
EDIT: If it's going to be 3d, you must also handle WM_MOUSEMOVE, to get the mouse position, and rotate the screen as needed.