I'm relatively new to c++ programming, but I feel like I got the basics through various tutorials and practice. I've gotten to the point where console programming has become less interesting, and I've just started to scratch using OpenGL.
I'm using SDL as my base and OpenGL through that, to simplify the learning process somewhat. I've gotten started and things are working nicely, but I find that I continue to run into not coding questions but design questions. I'm purely focusing on 2D at the moment, simply building quads and texturing them.
The results are coming out as I had planned, which is good, but it has led me to question what the most efficient way( both in terms of performance and general code organization) of doing this might be.For instance, do I keep the drawing code in my game/graphics class and iterate through UIelements/gameobjects to get coordinates/textures and draw stuff that way, or do I add the actual drawing code to the gameobject classes themselves, then iterate through and call it in each of them? What about the textures? Do I keep them in a separate container in the main class, thus allowing me to use the same texture for several objects, or do I store each object's texture inside the object thus leading to duplication but no time spent searching for the texture? Maybe just store a pointer to a place in a container?
I'm also struggling with some more general stuff. For instance, what would be a good way of only calling the writing function for stuff that will actually be visible? I could just check the coordinates, but that would definitely add a lot of overhead every time I'm rewriting the screen.
As of right now, I haven't even started on the actual game. But in that regard, should I make a game class/object that is separate from my current main class which currently just contains SDLstuff/graphics/eventhandling and such?Or do I just keep it all inside one huge main class?
Anyway, I'm not necessarily looking for detailed answers to each and every question, but general advice and maybe some links. I've been through a few tutorials obviously, but they all seem to focus more on the code-typing part instead of code management and design. At least they don't seem to go very far in explaining why things should be as they have set them up. I know there's rarely a 'right answer', but any input from someone with actual experience would be good. Thanks!
RaapMember Since 26 Jan 2012
Offline Last Active Nov 20 2012 04:42 PM