Archived

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

the_serp

Best Book 4 Newbies

Recommended Posts

zer0wolf    1022
I found that Accelerated C++ is a good book for getting ya up to speed on C++ quickly and easily.

I''ve two game programming books, Tricks of the Windows Game Programming Gurus and the Zen of Direct3D. TotGPG covers alot of topics regarding game programming in general while Zen of Direct3D covers mostly 3D graphics programming with a little bit of other gaming stuff. Both are good books, but make sure you''ve got C++ down and know your compiler well before diving into them. And you''ve definately got to take your time, even on the stuff thats boring.

I''ve heard that the Programming Roleplaying Games book is excellent, but I haven''t checked it out myself.

Share this post


Link to post
Share on other sites
zer0wolf    1022
Code Complete is a reference for improving your coding technique, not really learning how to program with... its for refining your skills.

Share this post


Link to post
Share on other sites
zer0wolf    1022
Tricks of the Windows Game Programming Gurus is a good book to get you into game programming because it covers nearly every aspect of game programming, except 3d graphics or online capabilities.

You haven''t made it clear on how much you know about programming in general though, you need a solid foundation in C++ before touching these books, otherwise you''ll get really lost really fast.

Share this post


Link to post
Share on other sites
the_serp    122
I know absolutely nothing about C++ or any game development software. You mentioned earlier a book called programming a roleplaying game is that a book to learn from or would i best stick to totgpg book.

Share this post


Link to post
Share on other sites
zer0wolf    1022
if you don''t know anything about programming at all then you can''t even begin to look at those books yet, no joking. You absolutely have to know C++ before you can even think of peeking at one of those game programming books.

get yourself a good C++ compiler and purchase the book Accelerated C++... and learn it like the back of your hand then you can get into those other books, but this''ll keep you occupied for at least a few months by itself.

Share this post


Link to post
Share on other sites
zer0wolf    1022
I haven't used it, but I've heard decent things about Dev-C++ that you can download at bloodshed.net for free.

[edited by - zer0wolf on April 30, 2003 3:05:42 AM]

Share this post


Link to post
Share on other sites
zer0wolf    1022
eh?

you talking about books or compilers?

the book I mentioned is Accelerated C++, which is simplistic and to the point

the compiler is Dev-C++ located at www.bloodshed.net/devcpp.html

Share this post


Link to post
Share on other sites
zer0wolf    1022
I think you're referring to C++ Primer Plus, which is I've heard a good book.

Accelerated C++ will get you working with language quicker and teaches you stuff you'll use regularly. C++ Primer Plus is more extensive, it'll teach ya more but you won't be as productive with it.

Accelerated C++: 336 pgs
C++ Primer Plus: 1098 pgs

[edited by - zer0wolf on April 30, 2003 3:38:06 AM]

Share this post


Link to post
Share on other sites
Nervo    344
Here is another question. If I''m using C++ Primer Plus what is a good followup book after finishing that one?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
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.

Share this post


Link to post
Share on other sites
IPKnightly    101
"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.

Share this post


Link to post
Share on other sites