I want to write some games, but I don't have any game development experience. Any books are recommended? Is this necessary to have a good Maths skill when taking about some physical actions? Also, is it complex to do some AI design? thz a lot.
Please have a look at http://www.gamedev.net/, especially "Books" and "For Beginners" section.
Also, not disrespect intended, but your question to me sounded like "I think writing games is kewl but I don't want to do any hard work" - which is not a good attitude to take since writing games is among the hardest programming tasks, especially these days.
And yes, you can't survive without knowing a good deal of math/physics to write action stuff for a good game, and writing a decent AI is a pretty complicated thing.
There may be off-the shelf components (game engines, AI engines) already available as an example, look at "Unreal" engine.
I support the DVK suggestion. GameDev is the best place to start. And NeHe (nehe.gamedev.net) has dozens of tutorials ranging from basic to advanced OpenGL.
My advice to you is to focus primarily on OpenGL, and learning how the 3D world works. At this point, you'll probably need a math book, specially for linear algebra and trigonometry. It may take a month, at least, to understand the camera, the coordinates, and to get familiarized with terms and concepts.
A good math background would be helpful to play with physics, however, you can learn as you go. The same is valid for AI, but you'll need more complex algorithms and statistics than math itself.
As for the books, I recommend the following:
- Beginning Game Programming (the collection made by GameDev)
- 3D Math Primer for Graphics and Game Development
The OpenGL redbook is a good reference too.
There are many others I'd suggest, but these will give you a good start. I'm also not suggesting any book on AI or Physics because it would be, at most, a guess.
I would HIGHLY avoid OpenGL, DirectX and other lower level APIs unless you are interested in the inner workings of such APIs. If you are just starting out there are a great number of game development libraries tools you should look into ...
Here are some book samplings on all three of these tools...
Unfortunately I can't comment specifically on any of these books as I have not read them but I have worked with all the frameworks I mentioned. Pursuing any of them will put you on the road you are interested in, which is learning about game development.
Yes you should have a good grasp on linear algebra, physics, etc. I'm not sure of your education level but high school math should give you a grasp of most of what you need.
There are tons of sites on game development with tutorials, discussions, etc. Gamedev.net is a great place to start looking as has already been mentioned. Start participating in their communites, asking questions, etc. Try out the various libraries I've mentioned and see if you find them difficult, easy, etc. One may suit you more than the others.
Game programming gems (Book series). They could be hard to read, but many chapters are enlightening...
A good game framework could be found on many projects, if you want starts quickly.