I would to try my hand at making video games. I'm mainly interested in the physics and AI. I don't mind if my games have horrible programmer art. I already know some C++ and I would like to stick to that language. Where should I start? Any books or website I should take a look at?
that's a very open ended question and the first answer, without being trite, is really "google it". Game programming, particular in c++, covers a lot of areas and what information you need will depend on quite a few factors.
- do you want to write the graphics engine yourself? in which case you'll need to learn openGL or DirectX. For openGL i've used the lighthouse3d GLSL tutorials but they might be a bit advanced for starting. i learnt the basics via googling, and reading the OpenGL Red Book. There's a lot more to this than just putting pixels on a screen also - there's spatial culling, for instance, which means managing data in such a way that you can easily determine what needs to be drawn at all and not calling things that don't fall into view. scene management can get quite complicated, as can the render/update loop design.
- if you don't want to do that you'll have to look at available engines which range in complexity. some of them are "complete" engines that generally provide graphics, physics, audio etc. but don't expose a C++ api, instead using a scripting language like Lua (cryengine) or C# (unity). At the other end you have things like Ogre3D that manage a lot of the graphics stuff but little else and do provide a C++ interface, so you might want to look at that.
- general game programming tips can be found all over the place from game dev forums to stack overflow. one site i like is gameprogrammingpatterns.com which is a general overview of applying object-oriented design principles to game programming. if you have some experience with these (like from the gang of four book "design patterns") this can be a good resource. it's probably a good resource regardless tbh.
books i feel i've gotten good stuff from:
C++ for game programmers - good overview of game programming using C++ and the STL, more generic knowledge than specifics ie doesn't cover graphics/audio etc.
Physics for Game Developers - as the title says, physics and collision for games with examples in c++.
Game Engine Architecture - a great overview of what goes into a game engine, by Jason Gregory (Naughty Dog)
otherwise i'd say start small, you should be able to find tutorials by googling something like "space invaders c++" that should take you through creating a simple game. given you say you know some c++ (how much is some?) i've say look at Ogre or similar (i actually have no experience with it myself, as i've either rolled my own engines in C/C++ or used higher level tools like Unity). You can get started by going to
www.ogre3d.org/tikiwiki/tiki-index.php?page=Tutorials
if anyone has any better middle-level suggestions (irrlicht?) please offer as like i say I don't have much experience in that area.
anyway the most important thing is to have fun! and try to finish what you start.. (that's a whole other kettle of fish and my main problem at the moment)
edit: for AI the one book i've used is Artificial Intelligence for Games, Millington/Funge. It's not bad, but I'd probably start with looking for online tutorials as books can get expensive.