Best Book 4 Newbies

Started by
78 comments, last by the_serp 20 years, 11 months ago
Here is another question. If I''m using C++ Primer Plus what is a good followup book after finishing that one?
Well, R2D22U2..
Advertisement
Sorry mate can''t tell you you are going to have to ask zer0wolf about that he should know.
I think "Sams Teach yourself C++ in 21 days" is probably the best book for beginners.

After you''ve done your basic primer, "C++ Unleashed" is a great book expand upon your knowledge. Only then after you''re extremely comfortable with C++ programming should you move on Tricks.
"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---"

This helped me. Have fun, mate.
Are these prices American or Australian?
quote:Original post by the_serp
Are these prices American or Australian?


They are American - It''s the "So, you wanna be a game programmer" list from Amazon.com.

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.
"We confess our little faults to persuade people that we have no large ones." -Francois de La Rochefoucauld (1613 - 1680). | My blog
If anyone were to actually sit down and read all of those books they''d never get any programming done, lol.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter
lol.
quote:Original post by zer0wolf
If anyone were to actually sit down and read all of those books they''d never get any programming done, lol.


How is that, the books are about programming. So that is what you would be doing the whole time reading these books.
Lets see here, any book regarding computers, algorithms, mathematics, etc is going to take a reasonable amount of time to absorb, lets say its 3 weeks average per book. You listed off 33 titles. If you worked through 33 titles at 3 weeks a piece, it would take you a month shy of two years to get through them all. Would you learn a lot through this process, yes. Would this process really be all that enjoyable? no. Reading the basics, running with the basics on your own, and then reading some more is a much more enjoyable process. In the time it would take one to get through all of those books, one could have read 3 good primer books and have spent over a year enjoyably programming little demos.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter

This topic is closed to new replies.

Advertisement