The more I learn about OpenGLs 3D implementation, the more I can see it as a simple but combinable set of useful rendering functionalities. It's cool to see how quick you can get something visible on your screen and how actually simple the use of textures is. And I can use my toolset to load, draw and create textures without any trouble. Though I see what can be done with a better set of 3D-specific tools, I still don't believe in it's aesthetical value without heavy modifications. In several cases, I prefer orthogonal graphics over perspecive graphics. It's visually to look at and technically less demanding. A cool way to put the good old 2D RPG game perspective into new glamour with new interesting features. Plus, you can implement more and quality effects without so heavy calculation, since stuff like raytracing does fit very well into 3D grids. I don't think displaying a text game in perspective mode doesn't benefit from it, it rather destroys the unique and abstract representation. So I'll stick with SDL and create text-only special effects. Of course will I continue thinking about how this game could work in 3D, but this has to be another tale, another project. I simply don't think I want to sacrifice more performance by leaving out orthogonal optimization. But maybe I'll implement something limited reflection, so the lights do more interesting things... No idea. And maybe I should think about outsourcing some components into another thread. So I can keep rendering with know data but calculating physics on another. It's a good training for later and I'll be able to benefit from multicore CPUs if the underlying OS is able to run it on the second CPU. Cool thing that I do learn all these things at the moment (well, mostly the theory, which is fine since I often interpret in my own way and implementation) and that I can use it later or now. And I learned about Phong shading and how it handles specular lights, etc. I think it's time to rethink my rendering pipeline on paper and start implementing it during the next term break. I don't have the time to implement it during studies (also, other assignments need my attention), but I can pull out final, theoretically functional concepts more effective than simply starting to code like a conceptually blind. I simply CAN'T code without concept, so it makes no sense to makes something I actually won't be able to archieve. And once I had a little discussion with a narcissistic dude with doubtable attitude towards systematic design and he simply start to pump mathematical formulas like a madman without thinking about efficiency. Well, if he doesn't care, it's fine, but as he's normally not developing any stuff like that, I see how he never will.. He even suggest me to develop his game with me, but I can't develop with somebody who just implements stuff he can find on Wikipedia. Where's the creativity, the own thought? Nothing I'd like to guarantee for. Only thing I can guarantee is to have no or very few errors in very small and minimal components. Build from grain to castle and you'll know what's going on - not only in your case, but in most others, too. That might me not the case if they doing it differently, but you can always break down every alghorithm from major to minor to atomic steps and then you can compare them with yours and tell him he's doing the same (if it works) or what he did wrong (if it doesn't work). Assuming your version does work, of course.