Learning about game development, any books recommended? [closed]

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.


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 ...

    <li>Unity 3D</li> <li>Torque</li> <li>XNA</li> </ul>

    Here are some book samplings on all three of these tools...

      <li>Unity Game Development Essentials</li> <li>Bunch of Torque Books on Amazon</li> <li>Bunch of XNA Books on Amazon</li> </ul>

      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.


      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:

        <li>Beginning Game Programming (the collection made by GameDev)</li> <li>3D Math Primer for Graphics and Game Development</li> </ul>

        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.


        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.


  • Collider2D vs Collision2D
  • raycast wont hit collider after using NGUI?
  • Lucene.Net: Relevancy by distance between words
  • Why do DirectX fullscreen applications give black screenshots?
  • How to access span using beautifulSoup?
  • Painting on JFrame without extending
  • In C. the name of an array is an pointer to it's first element, isn't it?
  • How to solve Bad Request (#400) Unable to verify your data submission in yii2?
  • Bootstrap - Scrollspy scrolling skipping second to last section
  • Cannot convert (Timer!) -> Void to ((CFRunLoopTimer?) ->Void)! - Converting NSTimer extension
  • Draw Venn diagram using Java
  • Where to get free math libraries for C/C++
  • What does “+=” (plus equals) mean in Ruby? [closed]
  • How can I generate integers that satisfy some restrictions?
  • SQL Count. How can I count how many distinct values are in a table when an other two columns are mat
  • Why does the first run of “XCTestCase -measureBlock:” takes so much time?
  • Passing data from partial view inside a modal to the main view and then close the modal
  • Get rendered html code in Backing Component from Composite Component
  • 3D Math: Calculate Bank (Roll) angle from Look and Up orthogonal vectors
  • Correctly Importing Apache Commons Math Package
  • integration of function in modelica
  • Insertion large number of Entities into SQL Server 2012 [duplicate]
  • Selectively hide background elements when overlayed with transparent div
  • Watson Conversation - Why is the ANYTHING ELSE node not chosen
  • Local Development, Apache vs Developer - file permissions
  • Cut the background to expose the layer below
  • How to create a 2D image by rotating 1D vector of numbers around its center element?
  • C# fibonacci function returning errors
  • Row to Column conversion in Talend
  • Custom preprocessing in caret
  • calculate gradient output for Theta update rule
  • Is it possible to open regedit and navigate to straight to a specific key using process.start?
  • D3 get axis values on zoom event
  • How to use carriage return with multiple line?
  • Linq Objects Group By & Sum
  • CSS Linear-gradient formatting issue accross different browsers
  • Optimizing database types to compact database (SQLite)
  • Buffer size for converting unsigned long to string
  • Qt: Run a script BEFORE make
  • reshape alternating columns in less time and using less memory