| |
| |
Introduction | |
| |
| |
| |
Getting Started | |
| |
| |
| |
First Steps | |
| |
| |
Inspirational Kick-Start | |
| |
| |
Terminology | |
| |
| |
Game Views | |
| |
| |
General Terms | |
| |
| |
Game Genres | |
| |
| |
Flash Limitations | |
| |
| |
Flash vs. Non-Flash Games | |
| |
| |
Infeasible Game Features | |
| |
| |
Points to Remember | |
| |
| |
| |
The Plan: From Idea to Design | |
| |
| |
The Design Process | |
| |
| |
Find an Idea | |
| |
| |
Identify Your Audience | |
| |
| |
Decide on a Look and Feel | |
| |
| |
Identify Your Weaknesses | |
| |
| |
Cut Back | |
| |
| |
Build the Game | |
| |
| |
Quality Assurance | |
| |
| |
Points to Remember | |
| |
| |
| |
Examining the Nuts and Bolts | |
| |
| |
| |
Trigonometry 101 | |
| |
| |
Why Learn Trigonometry? | |
| |
| |
The Flash Coordinate System | |
| |
| |
Cartesian Coordinates | |
| |
| |
Angles | |
| |
| |
Anatomy of a Triangle | |
| |
| |
The Pythagorean Theorem | |
| |
| |
The Heart of Trig | |
| |
| |
Sine, Cosine, and Tangent | |
| |
| |
Projection | |
| |
| |
Vectors | |
| |
| |
Points to Remember | |
| |
| |
| |
Basic Physics | |
| |
| |
Introduction to Physics | |
| |
| |
Speed, Velocity, and Acceleration | |
| |
| |
Speed and Velocity | |
| |
| |
Acceleration | |
| |
| |
Newton's Three Laws of Motion | |
| |
| |
Newton's First Law | |
| |
| |
Newton's Second Law | |
| |
| |
Newton's Third Law | |
| |
| |
Gravity | |
| |
| |
Real Gravity | |
| |
| |
Good-Enough Gravity | |
| |
| |
Friction | |
| |
| |
Real Friction | |
| |
| |
Good-Enough Friction | |
| |
| |
Points to Remember | |
| |
| |
| |
Collision Detection | |
| |
| |
What Is a Collision? | |
| |
| |
Detection Using hitTest() | |
| |
| |
Movie Clip-Movie Clip Collisions | |
| |
| |
Movie Clip-Point Collisions | |
| |
| |
Shape-Point Collisions | |
| |
| |
Detection Using Math | |
| |
| |
Point-Circle Collision Detection | |
| |
| |
Circle-Circle Collision Detection | |
| |
| |
Line-Line Collision Detection | |
| |
| |
Circle-Line Collision Detection | |
| |
| |
Point-Rectangle Collision Detection | |
| |
| |
Rectangle-Rectangle Collision Detection | |
| |
| |
Collision Detection with Advanced Shapes | |
| |
| |
Points to Remember | |
| |
| |
| |
Collision Reactions | |
| |
| |
Bouncing Off the Walls | |
| |
| |
Object-Wall Reactions | |
| |
| |
Circle-Line Reactions | |
| |
| |
Conservation of Momentum and Energy | |
| |
| |
Review: What Are Momentum and Energy? | |
| |
| |
The Conservation Laws | |
| |
| |
Applying the Conservation Laws | |
| |
| |
Rectangle-Rectangle Reactions | |
| |
| |
Circle-Circle (Billiard-Ball) Reactions | |
| |
| |
Points to Remember | |
| |
| |
| |
Tile-Based Worlds | |
| |
| |
Introduction to Tiles | |
| |
| |
Top-Down Tile Creation and Management | |
| |
| |
Creating the Grid and Storing Information | |
| |
| |
Precision Detection | |
| |
| |
Adding a Character to the World | |
| |
| |
Externalizing the World Data | |
| |
| |
Points to Remember | |
| |
| |
| |
The Isometric Worldview | |
| |
| |
Introduction to Isometrics | |
| |
| |
A Technical Look at Isometrics | |
| |
| |
The Orientation of the Isometric World | |
| |
| |
Placing an Object in the Isometric World | |
| |
| |
Z-sorting | |
| |
| |
Deconstruction of a Simple World | |
| |
| |
Points to Remember | |
| |
| |
| |
Artificial Intelligence | |
| |
| |
Types of AI | |
| |
| |
Homegrown AI | |
| |
| |
Rules for Controlling Characters | |
| |
| |
Drawbacks and Solutions | |
| |
| |
Enemy ActionScript | |
| |
| |
The Perfect Maze | |
| |
| |
Rules for the Perfect Maze | |
| |
| |
Using ActionScript to Create the Perfect Maze | |
| |
| |
Visual Implementation of the Perfect Maze | |
| |
| |
Pathfinding Algorithms | |
| |
| |
The A* Algorithm | |
| |
| |
Variations on A* | |
| |
| |
Points to Remember | |
| |
| |
| |
Using a High Score List | |
| |
| |
Administration of the High Score Lists | |
| |
| |
The List in Action | |
| |
| |
Configuring the User-Interface Frames | |
| |
| |
Configuring the ActionScript | |
| |
| |
Points to Remember | |
| |
| |
| |
Graphics in Games | |
| |
| |
Taking a Graphic Approach | |
| |
| |
Different Types of Graphics | |
| |
| |
Identify Your Tools | |
| |
| |
Graphic Preparation | |
| |
| |
Stages of Graphic Development | |
| |
| |
| |
Brainstorm | |
| |
| |
| |
Focus | |
| |
| |
| |
Produce | |
| |
| |
Trouble-Free Techniques | |
| |
| |
Light and Shadow | |
| |
| |
Adding Depth | |
| |
| |
Drop Shadows | |
| |
| |
User-Interface Lighting | |
| |
| |
Putting Text in Perspective | |
| |
| |
Tint Change | |
| |
| |
Tiling | |
| |
| |
Game Animations | |
| |
| |
Points to Remember | |
| |
| |
| |
The Sound of Games | |
| |
| |
Why Sound Is Important | |
| |
| |
Managing Sound Effects | |
| |
| |
Sound Placed on Frames | |
| |
| |
Sound Controlled with ActionScript | |
| |
| |
Creating Sound Effects | |
| |
| |
Setting Up | |
| |
| |
Recording | |
| |
| |
"That's not the right sound!" | |
| |
| |
Creating Music Loops | |
| |
| |
Drum Loops | |
| |
| |
Editing and Preparing Audio Loops | |
| |
| |
Points to Remember | |
| |
| |
| |
Dissecting a Chat | |
| |
| |
Introduction to the Chat | |
| |
| |
Hands-On Tour of the Chat | |
| |
| |
The Features | |
| |
| |
The File Structure | |
| |
| |
The ActionScript | |
| |
| |
Points to Remember | |
| |
| |
| |
The Games | |
| |
| |
| |
Word Search | |
| |
| |
Game Overview | |
| |
| |
Game Logic | |
| |
| |
Choosing a Category | |
| |
| |
Generating the Grid | |
| |
| |
Detecting a Choice | |
| |
| |
Points to Remember | |
| |
| |
| |
Ice World: A Platform Game | |
| |
| |
Game Overview | |
| |
| |
The XML and the Level Editor | |
| |
| |
The XML Format | |
| |
| |
The Level Editor | |
| |
| |
Game Structure and Resource Files | |
| |
| |
The Game Structure | |
| |
| |
Supporting Movie Clips | |
| |
| |
Game Code | |
| |
| |
ActionScript Not Found in a Function | |
| |
| |
levelLoaded() | |
| |
| |
The onEnterFrame Event | |
| |
| |
listenForKeys() | |
| |
| |
platformDetect() | |
| |
| |
baddyDetection() | |
| |
| |
collectableDetect() | |
| |
| |
Possible Game Enhancements | |
| |
| |
Points to Remember | |
| |
| |
| |
Pinball | |
| |
| |
Game Overview | |
| |
| |
Game Code | |
| |
| |
ActionScript Not Found in a Function | |
| |
| |
The onEnterFrame Event | |
| |
| |
buildMap() | |
| |
| |
createFlipper() | |
| |
| |
initializeShot() | |
| |
| |
flip() | |
| |
| |
checkCollision() | |
| |
| |
Possible Game Enhancements | |
| |
| |
Points to Remember | |
| |
| |
| |
Tic-Tac-Toe: Your First Multiplayer Game | |
| |
| |
Game Overview | |
| |
| |
The Multiplayer Aspect | |
| |
| |
Game Code | |
| |
| |
Points to Remember | |
| |
| |
| |
9-Ball | |
| |
| |
Game Overview | |
| |
| |
Multiplayer Aspects of the Game | |
| |
| |
Synchronization: A Multiplayer Problem and Solution | |
| |
| |
The Multiplayer Actions | |
| |
| |
Game Code | |
| |
| |
General Overview | |
| |
| |
Who's on First? | |
| |
| |
The Functions | |
| |
| |
Possible Game Enhancements | |
| |
| |
Points to Remember | |
| |
| |
| |
Don't Fall! | |
| |
| |
Game Overview | |
| |
| |
Multiplayer Actions | |
| |
| |
Game Actions | |
| |
| |
ActionScript Not Found in a Function | |
| |
| |
onEnterFrame | |
| |
| |
buildWorld() | |
| |
| |
buildCharacter() | |
| |
| |
startGame() | |
| |
| |
worldClicked() | |
| |
| |
determineFall() | |
| |
| |
fall() | |
| |
| |
checkTile() | |
| |
| |
Possible Game Enhancements | |
| |
| |
Points to Remember | |
| |
| |
Appendixes | |
| |
| |
| |
Protecting Your Games | |
| |
| |
Theft and Antitheft | |
| |
| |
So You Found Your Game on Another Web Site? | |
| |
| |
| |
Multiuser Servers | |
| |
| |
What Is a Socket Server? | |
| |
| |
Introducing ElectroServer | |
| |
| |
| |
The ElectroServerAS Object | |
| |
| |
Click-and-Drag Actions | |
| |
| |
Methods and Properties of ElectroServerAS | |
| |
| |
| |
XML Basics in Flash | |
| |
| |
Learning XML Basics | |
| |
| |
Using the XML Object | |
| |
| |
Introducing Socket Servers | |
| |
| |
Using the XML Socket Object | |
| |
| |
| |
Developer Resources | |
| |
| |
General Game Resources | |
| |
| |
Flash Resource Sites | |
| |
| |
AI | |
| |
| |
Isometric | |
| |
| |
Math | |
| |
| |
Physics | |
| |
| |
Audio | |
| |
| |
| |
Other Games | |
| |
| |
Index | |