Preface

Computer owners, who view stunning graphic effects or play visually exciting games, rarely consider the effort or techniques required to achieve those images. They don't realize that a programmer's ability to create Atari graphics can be compared to an artist's ability using a sketchpad or an animator's skill using animation techniques. In fact, an arcade game is basically an interactive cartoon in which the player controls a character or object that influences the action of the remaining computer-controlled objects on the screen. This action, like in a movie, consists of individual frames viewed at high speed to produce fluid motion. The objects in a game can be animated by either moving them from one screen position to another without changing their shape, or by changing their shapes between frames. In either case, the effect is the same -- a feeling of motion.

Atari computers are wonderful graphics machines capable of extraordinary visual effects. Unfortunately, few of these can be implemented directly from Atari BASIC without a thorough knowledge of Machine language and the architecture of the machine. Those who understand the techniques and have mastered them are mostly too busy writing programs to share their knowledge.

This book will allow you to enter the world of Atari graphics in which your most imaginative ideas can be animated. The various chapters will present a comprehensive course in both Atari graphics and high-speed arcade animation techniques. While at least half of the book requires the ability to program in Assembly language, we were careful to bigin the book with the simplest graphics concepts 'in Atari BASIC. The book alms to increase the novice programmer's skill. It assumes no prior knowledge of either Atari graphics or Assembly language. Since we know that many of our readers will be young teenagers, we made every attempt to include BASIC program examples, some with Machine language subroutines, in most of the chapters. We felt that concepts like custom display lists, color indirection, scrolling, character set animation, and player-missile graphics can be learned by beginners, but we didn't neglect the advanced programmer either. We cover the most advanced topics possible on a Machine language level. We discuss vertical blank and display list interrupts, kernals, bit-mapped graphics, sound, scrolling, and player-missile graphics, and use these techniques to develop four complete Assembly language games.

The only requirements for this book are an inquisitive mind, perseverance, and a good Assembler. Although prior Assembly language programming experience isn't necessary, you won't be able to write code without an Assembler.

We will attempt to explain the ideas in this book through a combination of text, drawings, flow charts, and working code. The concepts in this book may seem easy at times, and somewhat difficult at other times. The Atari is a complex machine with many idiosyncrasies. The hardware sometimes makes game design relatively easy, yet the concept of an interrupt-driven machine with its timing problems can make advanced programming frustrating. Out advice is to read the book in stages and try the examples. Learn how they work.

While our goal for presenting the material was to educate a new generation of arcade game designers, I dread the proliferation of copy cat games. The world doesn't need an eighth Pac-Man or a tenth Q*Bert. They have been done. We hope that programmers both young and old will use their imaginations to create something novel and exciting.

Jeffrey Stanton

JEFFREY STANTON
VENICE, CALIFORNIA
JULY 14,1984

PROGRAM LISTINGS AVAILABLE ON DISK
Note: program listings are no longer available on disk from this address. You can download them from this Web site.

All of the code listed in this book is available on diskette to readers who disdain typing long computer programs. We barely managed to cram all of the listings without DOS on three disk sides, one side BASIC and two sides assembly language. These disks and files are unprotected. We decided to offer readers a choice of buying all three sides, just the BASIC programs, just the Assembly language source code and game object files, or a disk containing all of the games for those who only wish to play them.

The cost of these disks is nominal and can be ordered using the card in the back of the book from Stanton Products, 3710 Pacific Avenue #16, Marina del Rey, California 90292. The prices are as follows:

1) BASIC program listings only $10.00
2) Assembly language listings only $15.00
3) All program listings (2 disks) $20.00
4) Playable games only $12.50

Include $1.50 postage. California residents add 6 1/2% sales tax.

The F-S Macro Assembler 40/80, a completely compatible upgrade to SYNASSEMBLER, is also available from Stanton Products under a licensing agreement with Funsoft and S-C Software. It is a disk based co-resident assembler, well suited to both beginners and professional programmers. It comes in two versions on the disk; 40 and 80 column achieved entirely through software. Its powerful macro and conditional assembly features makes it one of the most powerful assemblers available for both the newer XL series of Atari computers and the older 400/800 computers. There are 25 pseudo-ops and 31 commands, designed to make life easier for the programmer. With the ability to chain source files and assemble object code to disk, the programmer is only limited by the amount of online disk storage. It is available, as all development tools should be, on an unprotected disk. A 45-page manual is included. It sells for $50.00 plus $1.50 postage and any applicable sales tax. It can also be ordered using the coupon in the back of this book.


Return to Table of Contents | Previous Chapter | Next Chapter