Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

ibelimb

Good Book?

This topic is 5276 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey, I know this has probobly been asked a million times, but I''m going to buy some books to learn game programming. I currently have 2 books I''d like to get, Programming Role Playing Games with DirectX and Multiplayer Game Programming. I was wondering i anyone else had a good book that I should possibly get. I wanna go into DirectX programming. So if anyone has a book that they read that helped them get into game programming, please psot it here. Thanks, -Limb -Limb

Share this post


Link to post
Share on other sites
Advertisement
If you are planning on game programming, you should get a book on C++, because that is the language most games are programmed in. For game programming books, the books you are talking about are too advanced for a begginer, you should start with something like Trick of the windows game programming gurus or windows game programming for dumbies. Both books give you an excellent intro to game programming, and have many concepts usefull for any type of programming.

Start small, and go big later. Multiplayer and rpgs are for advanced programmers, so you should start smaller first.

Share this post


Link to post
Share on other sites
Here is a guide to books to get that was on Amazon.com, which did and is helping me right now. And it also cost me a bundle at Borders (which when I went to go purchase $300 worth of books, 10 in all, the cashier looked at me funny) but it''s worth it because in no time I''ll be making the next Halo (hopefully )

Here ya go:


"
Introduction
There are a lot a people that dream about becoming game programmers and making their own games. Making games is not something you will learn overnight but knowing what books to read will help you to get there much faster.

Before continuing I think I need to point out that this article is mainly about game *programming* not game design, about selling a game to a publisher, or about making levels or art for a game. It isn''t possible to be good at it all so you should focus on what you want to be good at. I do, however, introduce some introductory books on these subjects since it helps you to be a better programmer.

To learn game programming like the professionals you will need to know many things. The easiest way to get most of the this information is to take a degree in traditional Computer Science, but since that may not be an option for you the next best thing is to learn all you can from books and by programming games for fun.

I will focus mainly on making games for the PC since that is the largest platform that is easy to get access to. Some of the later titles I list will also be about console programming. The console market is currently where the money is, but since console development requires a developer license (virtually impossible to get for hobbyists) that will not be a focus area, but most of what you learn for the PC also applies to the consoles. (I should mention that I myself am a PlayStation 2 programmer)

The books are divided into categories. You should select the categories that interest you the most and begin there, but within each category you should read the books in the order they are listed. I have tried to list the most important categories first.

Step 1: Learn how to program C/C++

I assume that you have no previous programming experience, but a general flair for computers are assumed.

You will have to learn how to program C and C++. C and C++ are the de facto programming languages used in game programming. Both languages are important so don''t avoid C in favor of the more modern C++. I recommend learning C before C++.

So let''s start with C:

An excellent C tutorial: ''C Primer Plus (4th Edition)''
The definitive guide to C (You need this!): ''C Programming Language (2nd Edition)''

And then go on to C++:

An excellent C++ tutorial: ''C++ Primer Plus (4th Edition)''
An introduction and reference to C++ standard library: ''The C++ Standard Library: A Tutorial and Reference''
The definitive guide to C++: ''The C++ Programming Language (Special 3rd Edition)''

To actually make any use of these books you need a C++ compiler. Although many good ones are available I personally prefer Microsoft Visual C++. Both version 6 and the .NET version are good. If possible buy the Professional Edition.

Step 2: An introduction to game programming.

Then I would recommend a newbie book to get feel of what is to come. This is just intended to let you get a feel of what goes into a game, how it is structured, and lets you make some small games yourself. The book focuses on 2D games on Windows using DirectX and that is a perfect valid way to start: ''Tricks of the Windows Game Programming Gurus (2nd Edition)''. If you want to read one more book of this kind and have an interest in role playing games I can recommend: ''Programming Role Playing Games with DirectX w/CD''. These books don''t go into complete depth so think of them as beginner''s guides.

Step 3: Data structures and algorithms.

At this point I highly recommend that you learn something about data structures, algorithms and complexity analysis; all of which are vital to the game programmer. One good book are: ''Introduction to Algorithms, Second Edition''

Step 4: Graphics programming (2D and 3D)

Next you will need to learn more about graphics theory & programming:

First you will need some math skills: ''Discrete Mathematics: For New Technology''
A good book to give you a solid founding in graphics: ''Computer Graphics: Principles and Practice in C (2nd Edition)''
A book to teach more advanced things and about 3D engines: ''Real-Time Rendering (2nd Edition)''

You will also have to learn how to use at least one graphics library. You should learn either DirectX or OpenGL:

- For learning DirectX I recommend that you simply read the documentation that comes with the DirectX SDK. That is far better than the books written specifically about it.
- For OpenGL I recommend: ''OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL, Version 1.2 (3rd Edition)''

Step 5: Learn Windows Programming.

You should also learn how to program Windows. I assume you want to make PC games. If you are working on other platforms you can skip this category and read some book for that platform instead.

The definitive Windows programming guide: ''Programming Windows, The Definitive Guide to the Win32 API''
And to learn MFC: ''Programming Windows With MFC'' (However learning MFC is not vital to programming PC games and you can skip the subject if you like to)

Step 6: More on game programming.

For tricks using in game programming you should read: ''Game Programming Gems'', ''Game Programming Gems 2'' and ''Game Programming Gems 3''.

Only learning about programming doesn''t make a good game programmer. It is useful also to know a little about game design (''Game Design: Theory and Practice (With CD-ROM)''), and about the game industry and running a game team (''Game Architecture and Design: Learn the Best Practices for Game Design and Programming'' - please ignore the misleading title).

Other important stuff

You will also need to know some common computer science things to really be a good game developer.
Artificial intelligence: ''Artificial Intelligence: Modern Approach'' (and optionally: ''AI Game Programming Wisdom (with CD-ROM)'')
Creatings compilers and scripting languages: ''Compilers: Principles, Techniques, and Tools''
And optionally some basic physics for games: ''Physics for Game Developers''

Other good books you might want to take a look at:
Design Patterns: ''Design Patterns''
Processor architecture: ''Computer Organization and Design: The Hardware/Software Interface'' (essential for console programmers)
Networks: ''Computer Networks''

More about programming: ''Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition)'', ''More Effective C++: 35 New Ways to Improve Your Programs and Designs'', ''Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library'', and ''Refactoring: Improving the Design of Existing Code''.

Console programming

When you feel you are ready to learn something about console programming (except the X-box which is almost the same as a PC), you should read: ''Introduction to Risc Assembly Language Programming'', ''See MIPS Run'' (Playstation 2), ''ARM Architecture Reference Manual (2nd Edition)'' (Gamecube and Gameboy Advance). But it should be emphasized that programming for these machines requires a developer license - so don''t read them until you have to. And don''t try reading them until you have read at least one book about processor architecture.

Tips for buying computer books

Also, here is some tips for finding good computer books:
1. If the book contains many long code listings it is usually not good.
2. If the book comes with a CD-ROM it is usually not good. It is not that it is bad that the book comes with a CD-ROM - it is just that many books with a CD-ROM for some reason is not very good.
3. Stay clear of book titles containing words like "for dummies", "teach yourself XXX in XX days", etc. Those books are created to trick newcomers into buying them, but they are not as good as other books out there.
4. Look at the name of the publisher; this can tell you a lot about the quality of the book:
Publishers that make good computer books: IEEE, ACM, Springer-Verlag, Addison-Wesley, Prentice Hall, Morgan Kaufmann, MIT Press, Academic Press.
Average publishers (some good some bad books): Microsoft Press, O''Reilly, Premier Pr., Charles River Media, Wordware, SAMS.
Bad Publishers: M&T, Sybex, AP Professional, IDG.

Products mentioned include:

Introduction

Step 1: Learn how to program C/C++

(HAVE)1. C Primer Plus (4th Edition)
by Stephen Prata
Average Customer Rating: 4.5
List Price: $39.99
Buy new: $27.99
You Save: $12.00 (30%)

ISBN: 0672322226

(HAVE)2. C Programming Language (2nd Edition)
by Brian W. Kernighan, et al
Average Customer Rating: 5
List Price: $40.00
Buy new: $40.00

ISBN: 0131103628

(HAVE)3. C++ Primer Plus (4th Edition)
by Stephen Prata
Average Customer Rating: 4.5
List Price: $49.99
Buy new: $49.99

ISBN: 0672322234

(HAVE)4. The C++ Standard Library: A Tutorial and Reference
by Nicolai M. Josuttis
Average Customer Rating: 5
List Price: $57.99
Buy new: $57.99

ISBN: 0201379260

(HAVE)5. The C++ Programming Language (Special 3rd Edition)
by Bjarne Stroustrup
Average Customer Rating: 4
List Price: $64.99
Buy new: $64.99

ISBN: 0201700735

---TOTAL COST: $252.96---

Step 2: An introduction to game programming.

(HAVE)6. Tricks of the Windows Game Programming Gurus (2nd Edition)
by Andre LaMothe
Average Customer Rating: 4.5
List Price: $59.99
Buy new: $41.99
You Save: $18.00 (30%)

ISBN: 0672323699

(HAVE)7. Programming Role Playing Games with DirectX w/CD
by Jim Adams
Average Customer Rating: 4.5
List Price: $59.99
Buy new: $59.99

ISBN: 1931841098

---TOTAL COST: $119.98---

Step 3: Data structures and algorithms.

8. Introduction to Algorithms, Second Edition
by Thomas H. Cormen (Editor), et al
Average Customer Rating: 4
List Price: $75.00
Buy new: $75.00

ISBN: 0262032937

---TOTAl COST: $75---

Step 4: Graphics programming (2D and 3D)

9. Discrete Mathematics: For New Technology
by Rowan Garnier, John Taylor
Average Customer Rating: 5
List Price: $50.00
Buy new: $50.00

ISBN: 075030135X

10. Computer Graphics: Principles and Practice in C (2nd Edition)
by James D. Foley, et al
Average Customer Rating: 4.5
List Price: $74.99
Buy new: $74.99

ISBN: 0201848406

11. Real-Time Rendering (2nd Edition)
by Tomas Akenine-Moller, Eric Haines
Average Customer Rating: 4.5
List Price: $59.00
Buy new: $59.00

ISBN: 1568811829

12. OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL, Version 1.2 (3rd Edition)
by Mason Woo, et al
Average Customer Rating:
List Price: $59.99
Buy new: $59.99

ISBN: 0201604582

---TOTAL COST: $243.98---

Step 5: Learn Windows Programming.

13. Programming Windows, The Definitive Guide to the Win32 API
by Charles Petzold
Average Customer Rating: 4.5
List Price: $59.99
Buy new: $41.99
You Save: $18.00 (30%)

ISBN: 157231995X

14. Programming Windows With MFC
by Jeff Prosise
Average Customer Rating: 4.5
List Price: $59.99
Buy new: $41.99
You Save: $18.00 (30%)

ISBN: 1572316950 || 1556159021

---TOTAL COST: $119.98---

Step 6: More on game programming.

15. Game Programming Gems
by Mark DeLoura (Editor)
Average Customer Rating: 4.5
List Price: $69.95
Buy new: $69.95

ISBN: 1584500492

16. Game Programming Gems 2
by Mark DeLoura (Editor)
Average Customer Rating: 4.5
List Price: $69.95
Buy new: $55.96
You Save: $13.99 (20%)

ISBN: 1584500549

17. Game Programming Gems 3
by Dante Treglia (Editor), Mark Deloura
Average Customer Rating: 3.5
List Price: $69.95
Buy new: $55.96
You Save: $13.99 (20%)

ISBN: 1584502339

18. Game Design: Theory and Practice (With CD-ROM)
by Richard Rouse, et al
Average Customer Rating: 4
List Price: $48.94


ISBN: 1556227353

19. Game Architecture and Design: Learn the Best Practices for Game Design and Programming
by Andrew Rollings, Dave Morris
Average Customer Rating: 4.5
List Price: $21.02

ISBN: 1576104257

---TOTAL COST: $279.81---

Other important stuff

20. Artificial Intelligence: Modern Approach
by Stuart J. Russell, Peter Norvig
Average Customer Rating: 4
List Price: $81.00
Buy new: $81.00

ISBN: 0131038052

21. AI Game Programming Wisdom (with CD-ROM)
by Steve Rabin (Editor)
Average Customer Rating: 4.5
List Price: $69.95
Buy new: $55.96
You Save: $13.99 (20%)

ISBN: 1584500778

22. Compilers: Principles, Techniques, and Tools
by Alfred V. Aho, et al
Average Customer Rating: 4
List Price: $88.00
Buy new: $88.00

ISBN: 0201100886

23. Physics for Game Developers
by David M. Bourg
Average Customer Rating: 3.5
List Price: $39.95
Buy new: $27.97
You Save: $11.98 (30%)

ISBN: 0596000065

24. Design Patterns
by Erich Gamma, et al
Average Customer Rating: 4.5
List Price: $54.99
Buy new: $54.99

ISBN: 0201633612

25. Computer Organization and Design: The Hardware/Software Interface
by David A. Patterson, John L. Hennessy
Average Customer Rating: 3.5
List Price: $84.95
Buy new: $84.95

ISBN: 1558604286

26. Computer Networks
by Andrew S. Tanenbaum
Average Customer Rating: 4.5
List Price: $89.93
Buy new: $89.93

ISBN: 0133499456

27. Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition)
by Scott Meyers
Average Customer Rating: 5
List Price: $37.95
Buy new: $37.95

ISBN: 0201924889

28. More Effective C++: 35 New Ways to Improve Your Programs and Designs
by Scott Meyers
Average Customer Rating: 4.5
List Price: $42.99
Buy new: $42.99

ISBN: 020163371X

29. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
by Scott Meyers
Average Customer Rating: 4.5
List Price: $39.99
Buy new: $39.99

ISBN: 0201749629

30. Refactoring: Improving the Design of Existing Code
by Martin Fowler, et al
Average Customer Rating: 4.5
List Price: $49.99
Buy new: $49.99

ISBN: 0201485672

---TOTAL COST: $679.69---

Console programming

31. Introduction to Risc Assembly Language Programming
by John Waldron
Average Customer Rating: 3.5
List Price: $37.60
Buy new: $37.60

ISBN: 0201398281

32. See MIPS Run
by Dominic Sweetman
Average Customer Rating: 4.5
List Price: $52.95
Buy new: $52.95

ISBN: 1558604103

33. ARM Architecture Reference Manual (2nd Edition)
by Dave Jagger, David Seal (Editor)
Average Customer Rating: 4.5
List Price: $54.95
Buy new: $38.47
You Save: $16.48 (30%)

ISBN: 0201737191

---TOTAL COST: $145.5---"


Where beginning game developers go.

Share this post


Link to post
Share on other sites
dude he asked for a couple of good books, not a damn library!

------------------------------------------------------------
Hell is not a bad place to be
It has just been recently added to the attractions list

Share this post


Link to post
Share on other sites
"C Programming Language (2nd Edition)"

Probably the best programming book I''ve ever read. Worth every freak''n penny.

Share this post


Link to post
Share on other sites
quote:
Original post by micepick
Hopefully nobody read that and wasted hundreds of dollars on redundant books.


Redundant books? Did you even read it? I can''t help you are poor. And I know he only asked for a couple of books but why not give him all of them. Oh yeah and that guide is by a guy who makes games for the PS2 so I’ll take his advice or anybody else’s.



Where beginning game developers go.

Share this post


Link to post
Share on other sites
quote:
Original post by DIRECTXMEN
Redundant books? Did you even read it? I can't help you are poor. And I know he only asked for a couple of books but why not give him all of them. Oh yeah and that guide is by a guy who makes games for the PS2 so I’ll take his advice or anybody else’s.


Don't believe everything you read on the internet. And if you were to ask any three professional developers for a list of well written books you'd probably get 3 very different lists with maybe 2-3 books appearing in all three. Cheers.

EDIT: and why did you bother buying 10 books at once? By the time you get throught the first two or so I'll bet that a good portion of the remainder will have been surpassed by an edition or two, and effectively obsolete in some cases.

[edited by - kordova on April 20, 2003 8:00:38 PM]

Share this post


Link to post
Share on other sites
Hey, I was just searching the forums for advice on books, then I found this thread and your post. It was EXTREMELY helpful since you posted so many books and the ''path'' to game programming. Instead of saying ''Get the tricks book and start programming'' , you listed a whole lots of book as a choice to other readers. All in all - thx.

Share this post


Link to post
Share on other sites
A lot of those books are great but you have the WORST C++ book ever written listed up there!

C++ Primer Plus by Stephen Prata is NOT a book on Standard C++, it is a book on how to compile C code in a C++ compiler using a couple of the features in C++.

I HIGHLY recommend starting out with a GOOD book on C++ such as Accelerated C++ or C++ Primer (not Plus, just Primer by Stanley Lippman) if you really want to learn the language well and not learn any bad practices you''ll have to unlearn =]

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!