Black Art of 3D Game Programming, Foreward
From Dpfileswiki
In the '50s and '60s computer were so expensive that only the largest coporations owned them...so expensive that computers gave corporations invincibility. Computers occupied gigantic lairs requiring dozens of Superman technicians. This kept computers shrouded in mystery from the rest of us. But advnaces in photographic reduction have reduced the cost of computers hundreds of times during my life. Each year, computer hcips cost less and less, and this phenomenon will continue until we reach atomic limits. In 1969, Apple was just a glimmer in my eye. I told my father someday I'd own a computer. he pointed out that they cost as much as a house, so I told him that I'd live in an apartment! However, by 1975 it was feasible to build or by a tiny computer for roughtly the cost of a good electric typewriter. The first small computers could do nothing more than blink a few lights by the were in fact computers...mostly kits containing LEDs and switches that made little sense to most people. But to me a computer was complete when it could be programmed with a set of logical decisions in order to play a game. once that was possible, every conceivable application involving procedures, inputs, responses and Decision-making was possible. Hence, if a computer could be used to write a game, then any other application could be written.
In the early days of arcade video games (shortly before Apple), I had designed the game Breakout for Atari. Games then were not computers; they were made purely of hardwired logic built from TTL and CMOS chips with a single task of generating simple graphics on a TV display. When I designed the Apple, I wanted it to be able to play games. Most computer games in 1975 were written in BASIC. The Apple II was the first computer ever to come with a programming language in ROM, which I called GAME BASIC. The Apple II was also the first with sound, paddles, high-resolution color graphics, and extensions to the ROM BASIC to utilize these capabilities. Having the Apple II in hand, I set out for the ultimate test. My test was to write Breakout as a software program instead of a collection of hard-wired logic, as I had done for Atari. In less than an hour, I had a working version of Breakout and within the next couple hours I was able to try a multitude of options that would be virtually impossible if the game were based on pure hardware. At that instant I realized that game design would chagne forever--that games would be software programs and not made of hard-wired logic designs.
Today, game programming is much more difficult than it was in the '70s and '80s. For a game to be popular, it must strive for levels of graphics, sound, and response that are common for the day--in 1995, this means digital sound and full 3D graphics. So how did game programming evolve from the 8-bit days of Apple? Well, we started with a low resolution breakout game. Soon a few programmers used high-res graphics for finer detail. They developed techniques to play sound simultaneously. Very often they were able to accomplish what even I felt the computer was too slow to do. Each game took a single programmer a month or more to write.
Then something happened: games became valuable and a multimillion dollar industry overnight! Soon more effort went into them. Programmers found it useful to construct reusable "parts" that coule be pieced together to make a game. One of the experiments in this reusable-parts technology was a game called the Pinball Construction Set. It allowed the player to build his or her own pinball game by adding bouncers, gadgets, and various other pinball-related components until the desired custom game was complete. This open-ended technology was complex and took more time that usual for software engineers to implement, but once it was complete, new pinball games could be constructed in a matter of minutes to hours!
This was the beginning of the age of "tools." Various individuals realized that there are many aspects to a game that the game programmer shouldn't have to worry about--such as paint and sound programs--so many manufacturers started supplying these tools to the game programmers. Then something else happened. Game programmers realized that for each game they were reweiting many low-level functions for pixel plotting, sound, and so on, so graphci and sound software tool-boxes full of useful and expertly prewritten programs emerged. The world advanced and 2D games improved. By the mid-'80s, game creation typically involved up to a dozen key parties. But now in the '90s, 3D games are by far the most exciting and popular, and unfortunately can be created by only a handful of individuals. moreover, almost no serious business program can compete with a game when it comes to complexity and speed.
Writing a good game today requires more computer knowledge than was available in all the college courses offered when I attended school. There are literally hundreds of different topics that cover programming alone, and hundreds more topics for writing games. It's an amazing feat that anyone has been able to collect all this knowledge and focus it in one place at one time for others. I've never met a programmer as impressive as Andre LaMothe. He writes book after book explaining the tricks of the trade to everyone from young beginners on. So many youngsters find a calling for the rest of their lives when they read on of his books. There's so much contained in Black Art of 3D Game Programming--from 3D grpahics, systems programming, and toolboxes to examples and demos--that it is certainly the most complete book ever on 3D game programming. To young enthusiastic programmers, every topic is a fantastic treasure of techniques, tips, and tricks.
I feel a huge sadness when I meet someone like Andre and see how much he cares about a program feeling right to the final user, and when I see such a wonderful book. Sadness because I am frustrated by most programs written today (not games!) being so slow, full of bugs, not doing what's expected, giving misleading or incorrect messages, etc. Sadness because I'm not 10 years old, with all the greatest treasures of the world awaiting me in Black Art of 3D Game Programming, a book written with the single goal of helping others begin a fantastic journey.
Sincerely,
Steve Wozniak
(Inventor of the Apple Computer)
Continue
- Black Art of 3D Game Programming: Writing Your Own High-Speed 3D Polygon Video Games in C Table of Contents
- Black Art of 3D Game Programming, Preface
| Copyright 2006 Andre LaMothe |
|
