Most Helpful Customer Reviews
|
|
30 of 35 people found the following review helpful:
5.0 out of 5 stars
A note from the author, January 12, 2005
Please note: Amazon combined all of the reviews from the 1st and 2nd editions of this book when the 1st edition went out of print. These are essentially two totally different books. The first was a tutorial on C++ and DirectX. The second covers C and Allegro and game development.
This book is the second edition to the bestselling Game Programming All In One. This new second edition is a complete rewrite of Game Programming All In One with a completely new direction, new goals, new assumptions, and new development tools. All In One 2E has done away with the C++ tutorials, Windows programming tutorials, and DirectX tutorials. In fact, this book does not cover Windows or DirectX at all. Instead this book focuses on game programming using a cross-platform game library called Allegro. This library is extremely powerful and versatile. Allegro opens up a world of possibilities that are ignored when focusing specifically on Windows and DirectX. A full quarter of the first edition was devoted to a C++ language primer, while another fourth of the book focused on Windows and DirectX basics. I decided that for this second edition we did not need to cover those subjects again, and thus this book uses the standard C language and the sample programs will compile on multiple platforms.
The Windows version of Allegro uses DirectX, as a matter of fact, but it is completely abstracted and hidden inside the internals of the Allegro Game Library. What we are provided instead is a basic C program that includes the Allegro library and is capable of running in fullscreen DirectDraw mode using any supported resolution and color depth.
Additionally, Allegro provides a uniform interface for sound effects, music, device input, which are implemented on the Windows platform with DirectSound, DirectMusic, and DirectInput. Specifically, Allegro supports DirectX 8. Imagine writing a high-speed arcade game using DirectX, and then being able to recompile that program (without changing a single line of code!) under Linux, Mac, Solaris, FreeBSD, Irix, and other operating systems? Allegro is a cross-platform game library that will double or triple the user base for your games with the help of this book.
This book will teach you to write complete games that will run on just about any operating system. Specifically, we focus on three compilers: Visual C++, Dev-C++, and KDevelop, and the sample programs will be written using both Windows and Linux, with screenshots taken from both operating systems.
You will have the opportunity to use your favorite development tool in all likelihood since Allegro supports several C compilers, including Borland C++, Borland C++Builder, Apple Development Tools 2002, and several other compilers on various platforms.
The target audience are beginning to intermediate programmers who already have some experience with C or C++, or someone who wants to learn to develop with a C or C++ compiler, and will use this book as an entry-level guide. The material is not for someone new to programming, but just to game programming. I must assume the reader has already learned C or C++, because there is too much to cover in the game libraries, interfaces, and so on, to focus on the basic syntax of the actual language. It was difficult enough to support three different compilers and integrated development environments without also explaining every line of code. Intermediate-level experience is assumed, while extreme beginners will definitely struggle.
This book is not extremely advanced--the source code is straightforward, with no difficult libraries to learn, per se, but I do not explain every detail. I do cover the entire function library built into Allegro, since that is the focus of this book, but do not explain any standard C functions. The goal is to get up and running as quickly as possible with some game code! In fact, you will be writing your first graphics programs in chapter 3, and your first game in chapter 4. You DO need a basic understanding of C or you will quickly get lost.
Someone who has done some programming in Visual C++, CodeWarrior, Watcom C, Borland C++, GNU C++, or even Java or C# will understand the programs in this book. Those with little or no coding experience will benefit from a C primer before delving into these chapters. The emphasis of this book is on a cross-platform, open-source compiler, integrated development environment, and game library. The reader will not need to learn Windows or DirectX programming, and these subjects are not covered.
The primary IDE is an open-source (freeware) program called Dev-C++, and is included on the CD-ROM. The game library is called Allegro; it is also freeware, open-source, and included on CD-ROM that accompanies this book. The reader has all the free tools needed to run the programs in the book. This book is highly accessible to all C programmers, regardless of their platform of choice.
This book's source code and sample programs will run, without modification, on all of the following systems: Windows 9x/2k/ME/XP/2003, Apple MacOS X, Linux (any version), BeOS, QNX, Unix (Irix, Solaris, Darwin, FreeBSD), and believe it or not, these programs will also run under MS-DOS (DJGPP, Watcom C). So, that is just about every computer system out there.
At the same time, the Windows version supports DirectX, so it is future-proof as well. The programs will run in fullscreen or windowed mode with full support for the latest video cards. As you can see from the table of contents below, this is a very 2D-oriented book, with many chapters devoted to sprite programming. There is no coverage of 3D--none. But these chapters are perhaps some of the best you will find on the subject of 2D sprite programming and background scrolling anywhere.
Part I: Introduction To Cross-Platform Game Programming
1: Demystifying Game Development
2: Getting Started with Dev-C++ and Allegro
3: Basic 2D Graphics Programming with Allegro
4: Writing Your First Allegro Game
5: Programming The Keyboard, Mouse, and Joystick
Part II: 2D Game Theory, Design, and Programming
6: Introduction To Game Design
7: Basic Bitmap Handling and Blitting
8: Basic Sprite Programming: Drawing Scaled, Flipped, Rotated, Pivoted, and Translucent Sprites
9: Advanced Sprite Programming: Compiled Sprites, Collision Detection, and Animation
10: Programming Tile-Based Backgrounds with Scrolling
11: Timers, Interrupt Handlers, and Multi-threading
12: Creating A Game World: Editing Tiles and Levels
13: Vertical Scrolling "Arcade Games"
14: Horizontal Scrolling "Platform Games"
Part III: Taking It To The Next Level
15: Mastering The Audible Realm: Allegro's Sound Support
16: Using Data Files To Store Game Resources
17: Playing FLIC Movies
18: Introduction to Artificial Intelligence
19: The Mathematical Side of Games
21: Publishing Your Game
Part IV: Appendices
Appendix A: Chapter Quiz Answers
Appendix B: Useful Tables
Appendix C: Numbering Systems: Binary and Hexadecimal
Appendix D: Recommended Books and Web Sites
Appendix E: Configuring Allegro for Visual C++ and Other Compilers
Appendix F: Compiling The Allegro Source Code
Appendix G: Using the CD-ROM
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
7 of 7 people found the following review helpful:
5.0 out of 5 stars
Covers 2D programming with Allegro library, July 2, 2004
I admit I am excited about this book, which covers game programming with the open source, multi-platform allegro library. Much easier to use than Direct X, Allegro and this book get you up and going pretty quick. Topics include sprites, sound and AI for your games. The code examples are written in C (not C++), and a copy of Dev-C++ and Allegro come on the enclosed CD.
My only complaint is no coverage of 1st person 3D topics, but as the author states, the reason is 3D engines and games built on that engine are difficult for a single programmer to create alone in a reasonable amount of time, if at all. The focus of the book is on a single developer creating quality 2D shareware and freeware games with good game play. Emphasis on incorporating other freely available tools and libraries to help an individual programmer or small team reduce the amount of coding and resources and to get the title completed is another theme, and he discusses the issues surrounding getting the game published in a small chapter at the end.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
26 of 33 people found the following review helpful:
4.0 out of 5 stars
Overall a good book with some mistakes, March 16, 2002
This book will be a good introduction for anyone who is interested in programming computer games and knows very basic C++. It does give you a tutorial on C++, but there are a fair amount of errors that would bewilder a complete newbie. One of the things I noticed right away was that many of the screenshots are in the wrong spots, and many times in different sections! This would definetely have confused me had I not had basic skills in C++.I also thought that it was strange that the author teaches about Direct3D BEFORE he teaches about DirectX. Another issue is that some of the programs on the CD from later chapters will not run, but rather will give you a run-time error. A few programs have syntax issues as well. The content of the book and the teaching style makes up for these errors however. The author writes with a style that explains the details, not giving you the "You don't need to know how it works, just that it does" line LaMothe is famous for. I found the "pointers" section to be very well-explained and it gave examples of situations where they would be useful, which is something I have not seen in other C++ books. The book also gives you complete game examples throughout the book, utilizing many of the covered topics, which I found to be a plus compared to other books which teach you the techniques, but leave you clueless as how to use them. The author also lists his e-mail address and invites you to contact him with any questions you may have, which I thought was a nice gesture. Overall, I would recommend that you get this book if you have competent enough computer skills to overlook these basic problems. I would also recommend that you have BASIC C++ skills, or that you at least be able to recognize where there is a mistake and be able to work through it.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
Most Recent Customer Reviews
|