Design Arcade Comp Game Graphics 00
Design Arcade Comp Game Graphics 00
Computer Game
Graphics
Ari Feldman
Wordware Publishing, Inc.
Library of Congress Cataloging-in-Publication Data
Feldman, Ari.
Designing arcade computer game graphics / by Ari Feldman.
p. cm.
ISBN 1-55622-755-8 (pb)
1. Computer graphics. 2. Computer games. I. Title.
T385.F447 2000
794.8'166--dc21 00-047319
CIP
2001, Wordware Publishing, Inc.
All Rights Reserved
2320 Los Rios Boulevard
Plano, Texas 75074
No part of this book may be reproduced in any form or by
any means without permission in writing from
Wordware Publishing, Inc.
Printed in the United States of America
ISBN 1-55622-755-8
10 9 8 7 6 5 4 3 2 1
0010
Product names mentioned are used for identification purposes only and may be trademarks of their respective companies.
All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc., at the above
address. Telephone inquiries may be made by calling:
(972) 423-0090
Dedication
This book is dedicated to my friends Dina Willensky, Stephanie Worley, Jennifer
Higbee, Faye Horwitz, Sonya Donaldson, Karen Wasserman, and Howard
Offenhutter, and to my parents, Dr. Bernard Feldman and Gail Feldman. These
people stood by me during this project, always offering me encouragement and
support when I needed it most. Thanks everyone!
I would also like to dedicate this book to my eclectic CD collection, for without
the soothing sounds from the likes of Lush, Ride, The Clash, The English Beat,
and The Creation this book would have never been completed.
iii
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Chapter 1 Arcade Games and Computer Arcade Game Platforms . . . . 1
Whats an Arcade Game? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Arcade Game Sub-Genres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Maze/Chase Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Pong Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Shooters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Puzzlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Platformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
This Book and Arcade Games . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Computer Arcade Game Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
DOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Video Game Consoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 2 Designing for Different Display Modes . . . . . . . . . . . . 17
A Summary of Video Hardware Standards . . . . . . . . . . . . . . . . . . . . . . . 18
Color Graphics Adapter (CGA) . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Enhanced Graphics Adapter (EGA). . . . . . . . . . . . . . . . . . . . . . . . 18
Video Graphics Adapter (VGA) . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Multicolor Graphics Array (MCGA) . . . . . . . . . . . . . . . . . . . . . . . 19
Super Video Graphics Adapter (SVGA). . . . . . . . . . . . . . . . . . . . . . 20
Display Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Screen Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Why Its Important. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Screen Resolution Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 24
What You Can Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Aspect Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Why Its Important. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Aspect Ratio Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
What You Can Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Refresh Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
v
Why Its Important. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Refresh Rate Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
What You Can Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Color Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Why Its Important. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Color Capability Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
What You Can Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Gamma Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Why Its Important. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Gamma Level Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
What You Can Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Choosing Display Modes to Design For . . . . . . . . . . . . . . . . . . . . . . . . 42
Screen Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Image Clarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Color Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
System Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Audience Hardware Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . 45
Programming Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Graphics Production Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Display Mode Selection Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Comprehensive Comparison of Display Mode Attributes . . . . . . . . . . . . 48
Specific Display Mode Recommendations . . . . . . . . . . . . . . . . . . . . 50
Display Mode and Arcade Game Sub-Genre Recommendations . . . . . . . . 51
Arcade Game Type Recommendation Explanations . . . . . . . . . . . . 51
Rules for Display Mode Selection. . . . . . . . . . . . . . . . . . . . . . . . . 52
Chapter 3 Image Compression and Graphic File Formats. . . . . . . . 55
Image Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Lossless Compression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
RLE Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Packbits Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
LZ77 Compression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
LZW Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Lossy Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Color Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Essential Graphic File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
BMP (Bitmap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
GIF (Graphics Interchange Format) . . . . . . . . . . . . . . . . . . . . . . . 62
IFF (Interchange File Format) . . . . . . . . . . . . . . . . . . . . . . . . . . 64
PCX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
PICT (Picture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Important Graphic File Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
FLIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
JPEG (Joint Photographic Experts Group) . . . . . . . . . . . . . . . . . . . . 68
PNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
PSD (Photoshop). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
vi
Contents
PSP (Paint Shop Pro) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
TGA (Targa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
TIFF (Tagged Image File Format) . . . . . . . . . . . . . . . . . . . . . . . . 72
XPM (X PixMap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
File Format Suitability for Arcade Game Graphics. . . . . . . . . . . . . . . . . . . 74
File Format Compression Savings . . . . . . . . . . . . . . . . . . . . . . . . 77
Caveats for Working with Graphic File Formats . . . . . . . . . . . . . . . . . . . . 79
File Corruption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Incompatible Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Graphic File Format Recommendations . . . . . . . . . . . . . . . . . . . . . . . . 81
Graphics Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Artwork Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Operating System and Platform. . . . . . . . . . . . . . . . . . . . . . . . . . 82
Chapter 4 Files and File Management . . . . . . . . . . . . . . . . . . 85
File Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
DOS and Windows 3.1 File Naming Rules . . . . . . . . . . . . . . . . . . . . 86
Windows 95, 98, NT 4.0, and 2000 File Naming Rules . . . . . . . . . . . . . 87
Macintosh File Naming Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Linux File Naming Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
General File Naming Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . 88
A Sample File Naming Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Managing and Organizing Directories . . . . . . . . . . . . . . . . . . . . . . 91
Exchanging Files Across Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Disk Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Macintosh Disk Compatibility with Different Platforms. . . . . . . . . . 93
Linux Disk Compatibility with Different Platforms . . . . . . . . . . . . 94
DOS Disk Compatibility with Different Platforms . . . . . . . . . . . . . 94
Windows Disk Compatibility with Different Platforms . . . . . . . . . . 94
File Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
File Format Conversion Issues . . . . . . . . . . . . . . . . . . . . . . . 95
File Naming Across Platforms . . . . . . . . . . . . . . . . . . . . . . . 96
Compressed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
File Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Importance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Device Capacity and Performance. . . . . . . . . . . . . . . . . . . . . . . . 100
Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Backup Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Floppy Disk Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Zip Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
CD-R/CD-RW Drives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Internet-Based Backup Systems . . . . . . . . . . . . . . . . . . . . . . . . 104
Contents
vii
File Backup Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
A Final Word about File Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
How Version Control Can Help . . . . . . . . . . . . . . . . . . . . . . . . . 108
Go Back in Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Compare Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Preserve Content Safely . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Lock Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Implementing Version Control. . . . . . . . . . . . . . . . . . . . . . . . . . 109
A Final Word about Version Control Systems. . . . . . . . . . . . . . . . . . 110
Basic Asset Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Do You Really Need an Asset Management System? . . . . . . . . . . . . . 111
Choosing an Asset Management System . . . . . . . . . . . . . . . . . . . . 111
Database Driven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Thumbnail Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Asset Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Large Catalog Capacity. . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Multiple Image Catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Low Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Chapter 5 Evaluating Graphics Creation Tools . . . . . . . . . . . . . 113
Graphics Creation Tool Categories . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Painting Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Screen Capture Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Image Viewers/Converters . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Palette Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Evaluating Graphics Tools and Essential Features . . . . . . . . . . . . . . . . . . 117
Essential Painting Program Features . . . . . . . . . . . . . . . . . . . . . . 117
Brush Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Shape Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Block Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Navigation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Color Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Image Processing Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Special Effects Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Other Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Miscellaneous Features . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Essential Screen Capture Utility Features . . . . . . . . . . . . . . . . . . . 148
Capture Flexibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Common File Format Support . . . . . . . . . . . . . . . . . . . . . . . 149
Ease of Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Essential Image Viewer/Converter Features . . . . . . . . . . . . . . . . . . 150
Extensive Graphic File Format Support. . . . . . . . . . . . . . . . . . 151
Good Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Batch Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Image Catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Special Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
viii
Contents
Essential Palette Tool Features . . . . . . . . . . . . . . . . . . . . . . . . . 153
Color Palette Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Color Palette Extraction from Bitmaps . . . . . . . . . . . . . . . . . . 153
Palette Construction from Input Files. . . . . . . . . . . . . . . . . . . 153
Common File Format Support . . . . . . . . . . . . . . . . . . . . . . . 154
Chapter 6 Essential Graphics Tools . . . . . . . . . . . . . . . . . . . 155
Criteria for My Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Interface and Ease of Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Performance and Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Unique or Special Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Availability and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Gripes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Recommended DOS Painting Programs . . . . . . . . . . . . . . . . . . . . . . . . 159
Deluxe Paint IIe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
GrafX2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Improces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
NeoPaint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Other Useful DOS Painting Programs. . . . . . . . . . . . . . . . . . . . . . 176
Recommended Windows Painting Programs . . . . . . . . . . . . . . . . . . . . . 176
NeoPaint for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Paint Shop Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Pro Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Other Useful Windows Painting Programs . . . . . . . . . . . . . . . . . . . 189
Recommended DOS Screen Capture Utilities . . . . . . . . . . . . . . . . . . . . 190
Screen Thief . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Recommended Windows Screen Capture Utilities . . . . . . . . . . . . . . . . . . 192
HyperSnapDX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
SnagIt Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Recommended DOS Image Viewers/Converters . . . . . . . . . . . . . . . . . . . 197
SEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Other Useful DOS Image Viewers/Converters . . . . . . . . . . . . . . . . . 198
Recommended Windows Image Viewers/Converters . . . . . . . . . . . . . . . . 199
IrfanView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
XNView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Other Useful Windows Image Viewers/Converters . . . . . . . . . . . . . . 203
Recommended Palette Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Opal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
PalMerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Other Useful Graphics Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
MkExpl 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Universe 1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Chapter 7 Color and Arcade Game Graphics. . . . . . . . . . . . . . 209
Basic Color Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Contents
ix
Color Mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Additive Color Mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Subtractive Color Mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Color Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
The Language and Meaning of Color . . . . . . . . . . . . . . . . . . . . . . . . . 214
The Cross-Cultural Meaning of Color. . . . . . . . . . . . . . . . . . . . . . 217
Color and Mood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Color Perception Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Age and Color Perception . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Gender and Color Perception . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Other Important Color Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Shade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Tint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Contrast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Luminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Smoothing Objects with Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Volume, Light, and Shadow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Basic Rules of Light and Shadow . . . . . . . . . . . . . . . . . . . . . . . . 224
Accurately Representing Volume with Color . . . . . . . . . . . . . . . . . . 226
Rules for Gradient Use. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Transparency, Translucency, and Opacity . . . . . . . . . . . . . . . . . . . . . . . 230
Bounding Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Bounding Color Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Color and Arcade Game Design Styles . . . . . . . . . . . . . . . . . . . . . . . . 234
Cartoon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Retro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Realistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
General Rules for Using Color in Arcade Games . . . . . . . . . . . . . . . . . . . 238
Color Visibility and Usability . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Color Context and Aesthetics . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Chapter 8 All About Color Palettes . . . . . . . . . . . . . . . . . . . 243
Color Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Color Palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Color Palette Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Cross-Platform Color Palette Issues . . . . . . . . . . . . . . . . . . . . . . . . . 250
System Palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
DOS System Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Windows System Palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Linux System Palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Macintosh System Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Java System Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Platform-Specific Palette Peculiarities . . . . . . . . . . . . . . . . . . . . . . . . 258
DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
x
Contents
Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Creating Color Palettes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Planning a Color Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Game Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Game Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Game Mood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Technical Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Implementing Your Color Palette . . . . . . . . . . . . . . . . . . . . . . . . 268
Step 1Defining the Required Color Palette Components . . . . . . . 269
Step 2Deciding on a Color Palette Order . . . . . . . . . . . . . . . . 274
Step 3Adding System Colors . . . . . . . . . . . . . . . . . . . . . . 274
Step 4Selecting Your Colors. . . . . . . . . . . . . . . . . . . . . . . 275
Step 5Defining Your Color Ranges and Gradients . . . . . . . . . . . 279
Step 6Reserving Palette Entries for Programmed Effects . . . . . . 281
Step 7Testing Your Color Palette . . . . . . . . . . . . . . . . . . . . 281
Step 8Saving Your Palette . . . . . . . . . . . . . . . . . . . . . . . . 282
A Color Palette Creation Exercise. . . . . . . . . . . . . . . . . . . . . . . . 282
Tips for Creating Effective Color Palettes . . . . . . . . . . . . . . . . . . . . . . 286
Gradient Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Programmed Color Effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Transparent Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Miscellaneous Color Palette Tips . . . . . . . . . . . . . . . . . . . . . . . . 288
Color Reduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Palette Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Dithering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Straight Color Remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Chapter 9 Arcade Game Animation. . . . . . . . . . . . . . . . . . . 293
What is Animation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Animation Properties and Fundamentals . . . . . . . . . . . . . . . . . . . . . . . 294
Motion Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Motion Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Key-frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Weight and Gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Flexibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Secondary Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Cycles and Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Sprite Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Variable Sizes and Shapes . . . . . . . . . . . . . . . . . . . . . . . . . 305
Free Range of Movement . . . . . . . . . . . . . . . . . . . . . . . . . 305
Separate from Background. . . . . . . . . . . . . . . . . . . . . . . . . 305
Grid Squares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Maintaining Size Consistency . . . . . . . . . . . . . . . . . . . . . . . 307
Assisting the Animation Process . . . . . . . . . . . . . . . . . . . . . 307
Optimizing Sprites for Implementation in Games . . . . . . . . . . . . 307
Contents
xi
Optimizing Sprites for Screen Performance . . . . . . . . . . . . . . . 307
General Rules for Creating Grid Squares . . . . . . . . . . . . . . . . . . . . 310
Core Arcade Game Animation Primitives . . . . . . . . . . . . . . . . . . . . . . . 310
Major Arcade Game Animation Primitives . . . . . . . . . . . . . . . . . . . 311
The Cylindrical Primitive . . . . . . . . . . . . . . . . . . . . . . . . . 311
The Rotational Primitive. . . . . . . . . . . . . . . . . . . . . . . . . . 314
The Disintegration Primitive . . . . . . . . . . . . . . . . . . . . . . . 315
The Color Flash Primitive . . . . . . . . . . . . . . . . . . . . . . . . . 318
The Scissors Primitive. . . . . . . . . . . . . . . . . . . . . . . . . . . 320
The Growing Primitive. . . . . . . . . . . . . . . . . . . . . . . . . . . 322
The Shrinking Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Minor Arcade Game Animation Primitives . . . . . . . . . . . . . . . . . . . 323
The Piston Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
The Squeeze Primitive. . . . . . . . . . . . . . . . . . . . . . . . . . . 324
The Swing Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
The Slide Primitive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
The Open/Close Primitive . . . . . . . . . . . . . . . . . . . . . . . . . 327
The Bounce Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
The Stomp Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Complex Arcade Game Animation Primitives . . . . . . . . . . . . . . . . . 329
The Slinking Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
The Flying Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
The Walking Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
The Running Primitive (Humans) . . . . . . . . . . . . . . . . . . . . . 339
The Running Primitive (Animals) . . . . . . . . . . . . . . . . . . . . . 343
The Jumping Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
The Crawling Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Creating Your Animation Sequences. . . . . . . . . . . . . . . . . . . . . . . . . . 351
General Animation Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Animation Usage in Arcade Games . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Chapter 10 Fonts and Arcade Games . . . . . . . . . . . . . . . . . . 357
What are Fonts? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Font Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Serifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Sans Serifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Monospaced. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Proportional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Bitmapped. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Scaleable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Font Legibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Style. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Aliased . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Anti-Aliased. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
xii
Contents
Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Leading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Kerning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Tracking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Common Font Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
ROM Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
ZSoft Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
GEM Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Fastgraph Fonts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Custom Game Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Borland Stroked Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
TrueType Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
System Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Platform-Specific Font Support . . . . . . . . . . . . . . . . . . . . . . . . . 374
General Rules for Using Fonts in Arcade Games . . . . . . . . . . . . . . . . . . . 375
Using Fonts in Arcade Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Game Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Body Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Status Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Arcade Game Font Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . 379
Chapter 11 Planning Arcade Game Graphics . . . . . . . . . . . . . . 385
The Design Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
The Game Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Game Back Story . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Game Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Game Object Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Game Functionality Overview. . . . . . . . . . . . . . . . . . . . . . . 388
The Game Action Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
The Game Action Flowchart . . . . . . . . . . . . . . . . . . . . . . . . 389
The Screen Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Screen Mock-ups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
The Graphics Specification. . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Game Creative Statement . . . . . . . . . . . . . . . . . . . . . . . . . 394
Artwork Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Target Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Estimated Object Count . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Artwork Screen Resolution and Playfield Size . . . . . . . . . . . . . . 395
Artwork Color Depth. . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Artwork File Format(s) . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Artwork File Naming Scheme . . . . . . . . . . . . . . . . . . . . . . . 397
Artwork Color Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Artwork Gamma Level . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Artwork Object Dimensions . . . . . . . . . . . . . . . . . . . . . . . . 398
Frames per Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Object Actions and Facings . . . . . . . . . . . . . . . . . . . . . . . . 399
Game Text Font(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
xiii
Contents
Miscellaneous Art Direction. . . . . . . . . . . . . . . . . . . . . . . . 400
Technical Restrictions and Stipulations . . . . . . . . . . . . . . . . . . . . . 401
The Project Schedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
The Game Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Chapter 12 Hands-on Arcade Game ProjectFish Dish . . . . . . . . . 405
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
The Three Phases of Fish Dishs Design . . . . . . . . . . . . . . . . . . . . . . . 407
Phase I: The Fish Dish Design Analysis. . . . . . . . . . . . . . . . . . . . . . . . 407
Differentiating Game Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Choosing a Design Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Audience and Emotional Appeal . . . . . . . . . . . . . . . . . . . . . . 415
Visual Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Difficulty of Implementation . . . . . . . . . . . . . . . . . . . . . . . . 417
Characterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Online Game Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
The Available Display Area . . . . . . . . . . . . . . . . . . . . . . . . 420
Artwork File Size Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
The Color Palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Determining the Order of Element Creation . . . . . . . . . . . . . . . . . . 431
Phase II: The Fish Dish Design Plan . . . . . . . . . . . . . . . . . . . . . . . . . 433
The Fish Dish Game Summary . . . . . . . . . . . . . . . . . . . . . . . . . 433
Game Back Story . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Game Description/Game Concept . . . . . . . . . . . . . . . . . . . . . 433
Game Object Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Game Functionality Overview. . . . . . . . . . . . . . . . . . . . . . . 436
The Game Action Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
The Game Action Flowchart . . . . . . . . . . . . . . . . . . . . . . . . 437
The Screen Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
The Fish Dish Graphics Specification . . . . . . . . . . . . . . . . . . . . . . 447
Game Creative Statement . . . . . . . . . . . . . . . . . . . . . . . . . 447
Artwork Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Target Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Estimated Object Count . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Artwork Screen Resolution and Playfield Size . . . . . . . . . . . . . . 449
Artwork Color Depth. . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Artwork File Format(s) . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Artwork File Naming Scheme . . . . . . . . . . . . . . . . . . . . . . . 449
Artwork Color Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Artwork Gamma Level . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Artwork Object Dimensions . . . . . . . . . . . . . . . . . . . . . . . . 451
xiv
Contents
Frames per Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Object Actions and Facings . . . . . . . . . . . . . . . . . . . . . . . . 453
Game Text Font(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Phase III: The Fish Dish Design Execution. . . . . . . . . . . . . . . . . . . . . . 453
Artwork Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Step-by-Step Game Object Design . . . . . . . . . . . . . . . . . . . . . . . 455
Salmon Fishdie Object Creation . . . . . . . . . . . . . . . . . . . . . . 456
Red Devil Object Creation . . . . . . . . . . . . . . . . . . . . . . . . . 461
Gold Digger Object Creation. . . . . . . . . . . . . . . . . . . . . . . . 462
Green Meanie Object Creation . . . . . . . . . . . . . . . . . . . . . . 463
Gray Shark Object Creation . . . . . . . . . . . . . . . . . . . . . . . . 465
Blue Angel Object Creation . . . . . . . . . . . . . . . . . . . . . . . . 466
Bad Tuna Object Creation . . . . . . . . . . . . . . . . . . . . . . . . . 467
Head Hunter Object Creation . . . . . . . . . . . . . . . . . . . . . . . 469
Starfish Object Creation . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Happy Clam Object Creation. . . . . . . . . . . . . . . . . . . . . . . . 471
M.C. Hammerhead Object Creation . . . . . . . . . . . . . . . . . . . . 472
Salmon Fishdie Angel Object Creation . . . . . . . . . . . . . . . . . . 473
Pause Bubble Object Creation . . . . . . . . . . . . . . . . . . . . . . . 475
Shield Bubble Object Creation. . . . . . . . . . . . . . . . . . . . . . . 476
Background Screen Creation . . . . . . . . . . . . . . . . . . . . . . . 477
Chapter 13 Miscellaneous Topics and Final Thoughts . . . . . . . . . . 479
Game Level Backgrounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Sources of Inspiration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Final Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Appendix A Artist Interviews . . . . . . . . . . . . . . . . . . . . . . . 487
Appendix B CD-ROM Contents . . . . . . . . . . . . . . . . . . . . . . 499
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
xv
Contents
Foreword
I have always looked at game artwork from a programmers point of view. To
me, the game artist was someone you worked aroundsomeone necessary and
important, but someone who would give you any old thing that looked good to
him and it was up to the programmer to find a way to make it fit into the game.
To this end, I have written books and Web pages on the importance of creating
utilities to correct problems introduced by the artist: palette reduction, color
matching, transparency replacement, size adjustments, and so on. It wasnt that
the artist was incapable of taking control of those issues, or even that the artist
had no understanding of the technical issues of game development; the problem
was more a matter of communication between the programmer and the artist.
The programmer would have a requirement and express it to the artist in tech-
nical terms. The artists eyes would gloss over; he would nod and smile, and
then pick up his mouse, and do his best to put out a product matching his
understanding of the programmers needs. Often this resulted in beautiful and
enjoyable games. But behind the scenes there would be much frustration, as
the programmer tried to explain and re-explain the technical aspects of game
development, and the artist would try to explain and re-explain the limits of his
tools and training.
That scenario has changed in recent years. With the advent of high-color and
true-color display resolutions, the problems of palettes and color reduction have
faded away. Modern tools give artists the ability to shrink or expand artwork,
change the color depth, and add all the subtle nuances that make a game beauti-
ful. And the systems modern game players use allow for greater resources to
be expended, which means games can be bigger and use more memory, and art-
ists are freed from the optimization constraints of earlier years.
But there is still the problem of technical communication between the program-
mer and the artist. It is not enough that an artist be artistically talented. He
needs to be technically astute enough to be able to communicate in the
language of the programmer. Once the programmer and the artist can communi-
cate in the same language, many of the problems and frustrations of the past
will fade away.
xvi
In this book Ari Feldman gently but firmly exposes the artist to the technical
requirements and jargon used by professionals in the game development field.
Rather than assuming the programmer is the only one who needs to know this
stuff, Ari insists the artist take responsibility too. As a programmer, I think this
is an idea for which the time has come. I have seen talented young artists drop
out of the field of game development simply because they were overwhelmed
by the expectations of the industry. And really, the technology behind computer
artwork is not that difficult. All you really need is a resource that explains the
capabilities and limitations to you. I believe Ari has provided such a resource
with this book.
Ari is a long-time member of the game development community, and his
SpriteLib collection has been popular for years. Recently, I was pleased to
co-sponsor a game development contest with GameDev.Net
(http://www.gamedev.net), in which programmers were asked to write
games based on the artwork in SpriteLib. I was amazed at the results we got.
There were more than two dozen entries, in categories ranging from a simple
table tennis game, to various space shooters, to elaborate side scrolling adven-
ture games. There were falling-bricks games, traffic control games, and fighting
games. I couldnt believe how many ways the same artwork could be reused to
produce such a vast array of delightful games.
So I guess all this proves that if artwork is well designed, you can do many
things with it. And Ari is an expert on how to design arcade game artwork. So if
you are interested in breaking into computer game development as an artist, it
pays to study the wisdom of the masters, and this book is a great place to start.
Good luck with your game development career!
Diana Gruber
Foreword
xvii
Acknowledgments
I would like to give my special thanks to Jim Hill for the opportunity, Wes
Beckwith for the patience, Kellie Henderson and Beth Kohler for their fine
editing, and the entire Wordware Publishing staff for their help in putting this
book together. Without the hard work of these folks, this book would have
never been possible.
I would also like to thank Diana Gruber for writing a wonderful foreword and
both Karl Maritaud and Neil Shepard for sharing their insights with me on the
subject of creating arcade game graphics.
xviii
Introduction
Why This Book?
Arcade games have been captivating game playing audiences of all ages for well
over twenty-five years now. Their popularity practically built a multi-billion
dollar industry and their colorful characters and terminology have become
permanent fixtures in our everyday language and cultural landscape.
Over the years, arcade game development has become big business, attracting
an extremely large and loyal following among programmers. To address that
communitys interest in the subject, scores of books and hundreds of magazine
articles have been written on the subjects of arcade game programming and
design. Yet, inexplicably, next to nothing has appeared about a topic that is just
as crucial to the successful implementation of an arcade game: graphics.
Simply put, without good graphics, an arcade game has no soul. Graphics play a
central role in how people perceive and enjoy the arcade game experience. Just
imagine how boring a game like Sonic the Hedgehog would be if the adorable
Sonic was represented on-screen by blocky ASCII characters rather than a
dynamic, blue hedgehog graphic. Or, consider how much fun Mortal Kombat
would be if characters like Sub-Zero appeared as lifeless stick figures rather
than as photo-realistic combatants. If arcade game graphics did indeed look like
the ones in these examples, arcade games wouldnt hold anyones interest for
very long, would they?
For far too long, the process of designing and creating the graphics for arcade-
style games has been ignored. Quality graphics are as essential to an arcade
games development as solid design, addictive game play, and clever program-
ming. And that is exactly why I wrote this book. If you are interested in
learning how graphics are designed, created, and implemented in arcade games,
then read on.
You are probably wondering why I even bothered to write a book on a dated
topic such as 2D arcade game graphics design when 3D-style games are all the
rage, right? Well, actually there are a number of very good reasons for doing so:
1. 2D, or old school, arcade game graphics are far from deadThe
rise of the Internet as a gaming platform has opened many new applications
for arcade-style games. Their simpler graphics and relatively light system
xix
requirements make them ideally suited for this new and exciting medium
and their use will only increase as more people turn to technologies such as
Java, Flash, and Shockwave. For example, ZapSpot, the company
where I currently work, has dedicated itself to delivering small 2D-based
games to users via e-mail. And theyre not alone. Many companies are
doing similar things, and 2D graphics and animation techniques are what
makes this possible.
2. 2D arcade games still sellDespite the computer gaming industrys love
affair with 3D game technologies, the popularity of arcade-style games has
never really diminished. Rather, it has just taken a temporary back seat to
flashier developments. If you doubt this, just look around the store shelves
and software catalogs. Arcade games are as popular as ever. Arcade titles
such as Epic MegaGames Jazz Jackrabbit IIand Broderbunds
Loadrunner IIhave dominated the sales charts for some time. In fact,
eight of the ten top selling commercial games of 1998 were 2D based.
3. 2D arcade games are enjoying a comebackThe growing popularity of
emulators such as MAME, iNes, and Virtual Gameboy has only served to
reinforce the genres immortality and has sparked a major resurgence and
interest in arcade-style games.
4. 2D arcade game graphics are relatively easy to createFor the most
part, arcade game graphics are much easier to design and create than their
3D counterparts. Furthermore, the fundamental concepts behind their
design and use are also much simpler to teach, making the topic ideally
suited for users of all levels and competencies. If you can move a mouse
and draw simple shapes in a standard graphics package, you can learn how
to create arcade-style graphics. Most 3D artwork, on the other hand,
requires a significant amount of skill and experience to create, something
that only a handful of individuals in the game development industry cur-
rently possess.
5. 2D arcade game graphics dont require much time or financial
investment to createDesigning arcade-style graphics can be done with
a relatively small investment in terms of hardware, software, and most
importantly, time. In fact, all of the graphics examples in this book were cre-
ated in a matter of hours using software that costs well under $200 and runs
on any Pentium class PC. In comparison, it often takes an expensive, work-
station class machine running software costing thousands of dollars days to
create most 3D-style game artwork.
So, if issues like time, money, and audience factor into your game making plans,
learning how to create arcade-style graphics is still an important skill to
acquire.
xx
Introduction
Who is This Book For?
This book is for anyone who is interested in producing arcade-style games.
However, for obvious reasons, those of you directly involved in game develop-
ment either as a hobby or as a profession really stand to benefit the most from
the information contained in these pages.
Basically, this book is for you if:
n Youre a hobbyist or part-time game developer with impressive program-
ming skills who could not draw game graphics if your life depended on it.
n Youre a hobbyist or part-time game developer who cant program but is
interested in learning how to design and draw game artwork and animation.
n Youre a game designer who wants to learn all you can about how game
graphics are made in order to make your games look and play better.
n Youre a multimedia developer interested in improving the look and feel of
your creations.
As you can see, this book was written to appeal to users of all different back-
grounds, skill levels, and experience. Regardless of whether you are a weekend
programmer or a classically trained artist, you are bound to find this book a
valuable introduction, guide, and reference to the world of developing arcade
game graphics.
What Can You Expect to Learn?
In this book you can expect to learn quite a bit, including a number of things
about games and graphics that have either never been published before or
never been published in one place. In this book, you will learn about:
n Display ModesEvery video display mode has a number of distinct prop-
erties that can affect your artwork. This book teaches you what these are
and how to deal with them.
n Color in Arcade GamesColor usage can make or break an arcade game.
This book teaches you how to use color to its maximum potential.
n Arcade Game AnimationAnimation is what makes arcade games come
alive. This book teaches you the fundamental techniques behind arcade
game animation and breaks the process down into easy-to-understand
steps.
n Game Design and DocumentationNo game can exist without proper
planning and documentation. This book teaches game design from the art-
ists perspective, including how to plan out your projects and write related
documentation.
Introduction
xxi
n Evaluating ToolsThe key to creating high-quality artwork lies in the
tools that one uses for the job. This book provides comprehensive informa-
tion on the best free and low-cost graphics tools available. In addition, it
gives you essential information on what to look for when evaluating graph-
ics software for your game projects.
n Graphic File Formats and Image CompressionArcade game graphics
could not exist if it were not for image compression and a handful of versa-
tile graphic file formats. This book covers the topic of image compression
and identifies the essential graphic formats used in arcade game graphics
development.
n File ManagementProper file naming and file maintenance is crucial to a
successful arcade game. This book provides useful tips on asset naming, file
management, version control, and file backup strategies.
n FontsArcade games rely on fonts to display all sorts of textual informa-
tion. This book provides a primer on fonts, font characteristics, and the var-
ious font formats available.
n Creating Graphics for Actual Arcade GamesWithout actual practical
application, you can never expect to master the process of creating arcade
game graphics. Therefore, this book provides a comprehensive step-by-step
example on how to design 2D graphics and animation for a real arcade-style
game.
For a more specific breakdown of the concepts and techniques covered in the
book, take a look at this chapter-by-chapter breakdown:
Chapter 1: Arcade Games and Computer Arcade Game Platforms
Many people tend to group arcade games as one type of game or another. This
is incorrect. Arcade games span many types of games. Some share common ele-
ments and themes while others dont. This chapter tries to define exactly what
an arcade game is and summarizes the primary arcade game genres as well as
common arcade gaming platforms.
Chapter 2: Designing for Different Display Modes
Different computers offer different video display capabilities. These features
directly influence how you eventually create your game graphics. This chapter
identifies the various issues you can face when designing arcade game graphics
in different video modes on different systems and how you can deal with them.
Chapter 3: Image Compression and Graphic File Formats
There are many image formats out there but only a few are actually useful for
arcade game development. As such, this chapter provides an overview of image
compression and discusses the most important graphic image file formats used
in arcade game graphics development.
xxii
Introduction
Chapter 4: Files and File Management
When designing arcade game graphics, the artwork you create becomes an
asset as valuable as gold. After all, you put immeasurable time, thought, and
sweat into creating them, why not do something to ensure that they are pro-
tected? This chapter explains how to treat your image files properly as well as
safely. Among the topics covered here are proper file naming schemes, file man-
agement, file organization, and file backups.
Chapter 5: Evaluating Graphics Creation Tools
There are scores of programs available with which to design and create arcade
game graphics. The problem is that most of these programs are totally unsuit-
able for the task. This chapter identifies the most useful tools as well as which
features to look for when evaluating graphics software.
Chapter 6: Essential Graphics Tools
This chapter includes mini-reviews and exhaustive feature summaries of the 15
best programs you can use to design and create your arcade game graphics.
Chapter 7: Color and Arcade Game Graphics
Color is more than just something we see, its something that we experience.
This being said, you need to fully understand color in order to be able to exploit
it and use it to its full potential. This chapter provides an overview of color the-
ory and how to effectively use it in your arcade game projects.
Chapter 8: All About Color Palettes
For various reasons, many arcade games are limited in the amounts of color
they can display. Therefore, you need to choose your colors wisely. This chapter
helps you to understand what color palettes are, how they differ across plat-
forms, and how to effectively define your own. From this information you will
be in the position to best determine how to select and efficiently choose colors
for your game artwork.
Chapter 9: Arcade Game Animation
Animation is central to the arcade game experience. This chapter provides an
overview of the theory behind designing effective arcade game animation. By
breaking down the most commonly used types of arcade game animation
sequences into digestible pieces, you will have the basics of how to reproduce
virtually any type of animated effect or action.
Chapter 10: Fonts and Arcade Games
Arcade games need to display text-based information to represent everything
from game scores to instructions. Fonts allow us to display this information
xxiii
Introduction
both legibly and in various sizes and styles. This chapter provides a primer on
fonts and their effective use in arcade-style games.
Chapter 11: Planning Arcade Game Graphics
Its unlikely for you to have a successful, not to mention timely and hassle free,
game project without a proper plan. This chapter shows you how to plan out an
arcade game from an artists perspective.
Chapter 12: Hands-On Arcade Game ProjectFish Dish
As the previous 11 chapters mainly covered design theory, procedures, tools,
and technical information, this chapter provides a comprehensive tutorial on
designing the graphics and animation for an actual arcade game.
Chapter 13: Miscellaneous Topics and Final Comments
This final chapter examines the missing topics of arcade game graphics such
as the different methods for representing game level backgrounds, sources of
inspiration, and where to go next with the information you have acquired over
the course of the book.
Appendix A: Artist Interviews
Every game artist has different preferences, techniques, and tool preferences.
There is no better way to get this information than right from the horses
mouth. Therefore, this section includes two interviews of very talented com-
puter graphic artists.
Here, the interview subjects answer some 21 questions about game graphics
design in order to help you, the reader, gain better insight on the tools to use
and how to approach arcade game graphics design.
Appendix B: CD-ROM Contents
No book on arcade game graphics would be complete without a CD-ROM that
contains a library of useful tools and support files. This section describes the
contents of the books accompanying CD-ROM.
As a special bonus, the CD includes some very special graphics tools and sev-
eral free games to give you inspiration for your own projects.
What You Need Before Beginning
I need to stress that this book doesnt require you to be an artist or even an
experienced programmer for that matter. You arent expected to be able to draw
or even code. In fact, the only assumptions this book makes are:
xxiv
Introduction
n You have access to a PC-compatible computer running DOS or, preferably, a
version of Windows 95, 98, NT 4.0, or 2000 with an SVGA color monitor.
Although this book clearly targets the DOS and Windows platforms, users
of Macintosh and Linux systems shouldnt despair as many of the concepts,
suggestions, and techniques described in this book apply to these systems
as much as they do to the DOS and Windows platforms.
n You need to be at least familiar with graphics tools and have a basic under-
standing of how to use them. While you dont have to be an expert with any
particular graphics package, you should at least be comfortable around
them. This book is a resource, not a software training manual.
n You need to be both willing and eager to apply what you learn from this
book in your own projects. This being said, you should also be patient.
Unless youre very lucky or just very talented, you cant possibly expect to
achieve professional results from what you learn right away. Designing good
arcade game graphics takes time and experience. Just keep this in mind and
everything will be fine.
About the Author
Ari Feldman is the creative lead at ZapSpot (http://www.zapspot.com)
where he is responsible for designing much of the artwork and animation for
their line of wildly popular games.
Ari has been designing computer game graphics since 1991 and cut his teeth
creating the artwork and animation for a number of well-received shareware,
commercial, and freeware titles for the Atari ST and Windows platforms. He is
also the creator of SpriteLib, an extremely popular collection of animated
objects for arcade-style games that counts tens of thousands of users
worldwide.
Before coming to ZapSpot, Ari supervised the development of high-profile
interactive projects for such companies as Columbia House, iVillage, Compaq,
Simon & Schuster, GTE, Lehman Brothers, American Express, Gevalia Kaffe,
AT&T, and Lucent Technologies.
Should you wish to contact Ari, you can always e-mail him at
[email protected] or visit him online at http://www.arifeldman.com.
xxv
Introduction
Book Support
The author realizes that despite his best efforts, it isnt always possible to cover
every aspect of designing arcade game graphics within the confines of a single
book. Therefore, the author has taken the liberty of building a special Web site
dedicated to supporting the readers of this book.
Among other things, this site features additional resources including book
addendum and errata, and provides a community where interested readers can
interact with each other as well as the author in order to further their knowl-
edge on the subjects of arcade game graphics and game design.
Be sure to visit http://www.gamegfx.com and tell your friends about it.
xxvi
Introduction