Most Helpful Customer Reviews
|
|
29 of 34 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
|
|
|
9 of 9 people found the following review helpful:
4.0 out of 5 stars
Yeah I'm a kid, and I figured it out., June 26, 2006
A Kid's Review
Yes, this is a kid reveiw, and I figured it out. Acually I'm 13, but that is about the minimum age for intelect that you would need to get this book. You could try it if you where younger, but it would be harder for you. I got through it with minimum amount of strugle, but some parts of the book is hard to make the programs run...
The only thing holding me back from giving this book 5 stars is 2 things: (1) There are some obvious typos and mixups that should of been caought in the editing process, and(2) Some of the programs(acually alomost ALL the programs) require some tweaking to run. I wont elaborate on the first problem, but I will on the second. I would not advise you to buy this book if you are a beginner in programming(when I say beginner I mean NO experience in programming, and little experience with computers). If you try to read this book without some prior experience with programming, you have to realize that you will have dificulteis, and you will have problems. Read up on your C programming before you read this book. You could figure out this book if you read "Begginging C++ Game Programming", thats what I did. You will fare fine. But back to the matter at hand. The programs on the CD dont run fine without tweaking. Such as messing with the project options, doing some other includes, etc...
But, if you do have experience in any C programming, are a near expert in computers, love computers and video games, and have an uncontrolable urdge of wanting to see the final product of your game, this my freind is the book for you. With some sweat, twiching eyes, and un countable hours on the computer, you too will have a fun game that you can share with the world. Who knows, maybe your game will be the next "Super Mario Bros." or "Sim City", or even the next"Super Smash Bros.". Have fun with it. Dont be afraid to try this book if you have the urdge to make games. See ya.
|
|
|
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.
|
|
|
Most Recent Customer Reviews
|