What all tools are needed?is OpenGL+ C++ enough?
I am currently developing a game (and game engine in tandem) in C++. I too like the feeling of having my own code doing a lot of the heavy lifting. I have chosen to do the rendering and physics code myself and to unload the other tasks to libraries. The following is my current setup. Perhaps this can give you a rough idea of what libraries you may need to use as well.
OpenAL (for audio)
- Ogg/Vorbis (for loading .ogg files)
GLEW (for grabbing OpenGL extensions/version info)
GLFW (window management and user input)
stb_image (image loading)
RapidXML (XML parsing)