So, Code Stuffs first!!
The shader loading function is just a simple OpenGL Shader loading function, nothing too spectacular, open the file, while there's still a character to read, read it into a string, compile that string, etc etc.
You can learn about it at http://www.opengl-tutorial.org/
The interesting bit was limiting the rotations, as I'm using quaternions instead of Euler Angles/Axis-Aligned. So here's the summary:
First, I need to know where I'm looking, for that I did this (Camera Rotation = c, Congruent of c = c', and unit vector with a +Z direction = z) :
[font='courier new']d = c * z * c' ;[/font]
This gives me the direction I'm looking, as a vector (actually it's still a quaternion*). Now I use the Dot Product of d (direction) and of the +- Y Axis to see how close I am to going vertical, and therefore doing some bad things (like reversing the mouse movement). If it's really close ( d o y > 0.95) then don't allow it to continue tilting upwards.
Now, the research stuffs
For the first planned game for Unnamed Engine (Might become the official name xD) will be a very simple one, but it may need some complex AI to be able to do right. So currently I'm doing some AI research in my spare time, thinking about things and how to make an AI that feels "real" enough to the player.