views:

176

answers:

4

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.

+4  A: 

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.

DVK
Maybe there is some misunderstanding, I just want to know the fact to get well prepare. I know this is not an easy job on game developing.
Tattat
A: 

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.

jweyrich
+2  A: 

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.

Rob Segal
+1 for XNA, its a great place to start
cpalmer
OpenGL is high level of abstraction. I would suggest it because it is a wide used standard, highly portable and highly programmable.
Luca
OpenGL is certainly widely used and portable but it is specifically a graphics api. That's it. If you want to learn about graphics programming I would suggest it as well but if you want to learn how to make a game there is no need to go down to the level of OpenGL. Almost every game engine will hide this from the developer providing a higher level graphics API that can work across multiple graphics libraries (Opengl, Direct x, etc.)
Rob Segal
A: 

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.

Luca