So here is my question:
I want to make a 3rd person RPG game. So my problem is actually not very specific, I know how to use C++, OpenGL, GLSL. I can render objects and load Wavefront .obj files. I know how to render lights etc. But I can't manage all those little pieces properly. So I'm currently looking for a nice way to manage my game objects. My first idea was a deep inheritance hierarchy. But that didn't work well, I had to use multiple virtual inheritance everywhere and the code seemed just bloated. Then I read about this "component based game design". Ok, that sounded really neat, but I'm not really sure how to implement it. My first intention was a entity class with a std::map<ComponentType, std::unique_ptr<Component>>. But that seems to slow down the creation of entities with a short lifetime. On top of that I'm not sure how to manage the communication between the components. I've searched a lot about this component model, but I couldn't find any neat implementation of this. Now I'm stuck here, I don't really know how to continue, but I also don't want to go back to a deep object hierarchy. Does anyone know a nice open source implementation of a component based entity model? Or did anyone solve this problem in a completely different manner? I'm currently open for more or less any new idea / impulse on this. ^^
One more question, I don't want to open another thread: How are bounding boxes / spheres / whatever (for collision detection) usually implemented in a game? Does the game generate that or is that loaded from the model file and the artists make them manually?)
Many questions in my first post, but I'm hoping for good answers, thanks a lot for any advices.