Hi As-12 !
I'm really a noob in 3D, but what I can tell you is that heightmap has nothing in common with normal map (except that this is a "texture").
The heightmap is generally used to create outdoor levels (it creates holes or mountains, depending on the color of each pixel).
The whiter, the higher (black means lowest altitude, and white means highest altitude... other values are between).
You can get a greyscale heightmap from a coloured image by turning it to greyscale (with any image editor like The Gimp, Photoshop, Pain Shop Pro, etc.), thats all.
The normal map is a texture that is added to a low poly object. Thanks to the normal map, it adds details to the model (it is commonly used in games).
To create a normal map for a model, you can for exemple use ZBrush, or MudBox, or SharpConstruct (or Sharp3D ??), the latter is totally FREE (but ZBrush and Mudbox are NOT free).
With these tools, you can directly "draw in 3D" on your model, for example you can add details on a shirt, or far more impressive : draw patterns to decorate a sword, for example (if you do it with mesh modeling, your polycount would drastically increase !! but NOT with the normal map, thats the idea)
Hope this helps,
Do not hesitate to google for the things I told you in that post, or/and wait for more experienced coders/designers advices.
Good day !
