I would like to start developing games. I have tried before Game Maker 8, which was a very easy way to start creating games, if you were new in game development. Then, I tried Unity 3D, which was a much more serious and complete tool to create computer-games, and required some experience. And now, I would like to start creating games, and don't use any special environment or developer, but just code (in C++ preferably). So, here is my question: from where should I begin, if I would like to start programming games? Thanks in advance.
Note: I work in ubuntu 10.04, I can also use windows 7, but I prefer ubuntu.