Creating games in Flash is a never-ending journey of exploration, learning, and most of all, fun. AdvancED Game Design with Flash. Authors. Rex van Search within book. Front Matter. Pages i-xxxvii. PDF · Modeling Game Data. Rex van. advanced game design with flash book by apress pdf file for advanced game flash to save advanced game design with flash pdf, you should click the link. REX VAN DER SPUYAdvancEDGame Design with Flash All the essential techniques that every game designer should know. Ph.
|Language:||English, Spanish, French|
|Distribution:||Free* [*Register to download]|
13 About the Author Rex van der Spuy, author of Foundation Game Design with Flash, is a freelance interactive media designer specializing in Flash game. In addition, Rex taught advanced courses in Flash game design for the .. deal with fairly advanced areas of object- oriented programming that provide quite a. Get Free Read & Download Files Advanced Game Design With Flash PDF. ADVANCED GAME DESIGN WITH FLASH. Download: Advanced Game Design .
It allows you to see the output of trace commands and runtime errors. But if you make the effort to learn how to use any of them, you can write cutting-edge AS3. What kind of games will we make? The focus of this book is on 2D action games. The reason is depth pun intended!
How to read this book This is not a book of quick fixes. That means that most of the concepts in this book can be applied to other platforms and programming languages. The content follows a very linear path. Most of the content in this book requires that you understand the Model-View-Controller model covered in Chapter 1 and basic vector math covered in Chapter 2.
But with those two chapters under your belt, you have a bit more flexibility: Chapters 3 and 4 deal with specific areas of collision detection involving circles and polygons.
However, make sure you read the section on abstract classes in Chapter 3 and the section on game structure in Chapter 4. Chapter 6 contains a very important section on how to do bit-block transfers blitting. If you work though that section, you could skip ahead to Chapters 7 and 8, which depend on knowing that technique. Chapters 8 and 9 are about a specific style of game design called tile-based games.
You can combine a tile-based design style with any of the other techniques in this book. Chapter 10 covers how to load and save game data using some of AS3.
To get the most benefit from this material, you should set aside some time to write your own code based on the examples and concepts. Resist the temptation to jump ahead until you achieve this fluency. This book can help point the way, but only you can cement the understanding in your own mind. The best way to learn is by trying, failing, and trying again. At the end of each major section or chapter, set yourself the task of building a simple game based on the new material. This book is about making games, so make as many games as you can!
This book is a big commitment, and it might take you quite some time to work through the material if you follow it properly. I can assure you that the end result will be worth it: a complete, comprehensive understanding of game design with AS3. Widely adopted conventions evolve because a lot of people struggled with similar problems and, through trial and error, found a system that helps to avoid them.
Working in a team, this is essential. Organizing the project folder The Chapter01 folder in the source files contains a subfolder called HelloWorld.
Figure 1. By default, the output folder name is bin-debug, which is fine to use, too. You can add as many AS files and subfolders here as you like, including folders for project-specific class libraries. Create a new FLA in the src folder. Change your publish settings so that the SWF is created in the bin folder this is optional.
They can also be used to embed assets like fonts, images, and sounds that you want to use in the class.
They help to keep all your code in one place, which means that your code is portable across all IDEs. If this happens, click the Update library path button. Flash Professional will link to the SDK, and the file will publish without problems. Figure 2. Use the example files as a starting point, but think of how you can improve them or use the same concepts and techniques to solve a problem you re working on.
It s very important that the solutions come from your own personal motivation to tackle problems that interest you.
Apply it: Set yourself challenges. At the end of each major section or chapter, set yourself the task of building a simple game based on the new material. I ve made some suggestions throughout the text, but there will be plenty of applications that I haven t thought of that I m sure will be obvious to you while you re reading. This book is about making games, so make as many games as you can!
It will become easier and quicker to do so with each mini-game you make, and you ll develop a fluent style. By the end of book, I m expecting a really great game from you.
And please send me a link when you ve completed it.
I m asking a lot from you! This book is a big commitment, and it might take you quite some time to work through the material if you follow it properly. We re going to look at some complex topics in depth, and I haven t shied away from tackling some difficult subjects in a lot of detail.
Don t be afraid to take as much time as you need. I can assure you that the end result will be worth it: a complete, comprehensive understanding of game design with AS3.
The files you ll need You can download this book s source files from When you extract the ZIP file, you ll find the following: A folder called com.
This contains all the custom classes and diagnostic mini-apps that we ll use in examples. I ll explain how to install these in the next section. Folders titled Chapter01 to Chapter I ll refer to these example files throughout the book, and you can test, change, and play with the code as much as you like.
In the next section, I ll explain how these files and folders work together, and how you ll need to set up your IDE to open, change, and recompile them. It s worth taking a bit of time to learn these conventions for a number of important reasons: It s common for even small game-design projects to involve hundreds of image, code, sound, text, and video files.
If after working on a big project for a few weeks, you find that you spend more time looking for files than actually doing any work with them, you ll recognize how important it is to implement a consistent organization system.
Following conventions that others use is a way of learning from the wisdom of the crowd. Widely adopted conventions evolve because a lot of people struggled with similar problems and, through trial and error, found a system that helps to avoid them. Some of the conventions may not make sense right away, but if you follow them, you ll likely preempt a lot of problems that you might never have considered could occur.
If you do what everyone else is doing, you ll be able to read their code, and they ll be able to read yours. Working in a team, this is essential. But even if you re working alone, it can often be hard to remember where you kept which file or how you wrote your code if you return to a project after a holiday.
Stick to standard conventions, and you ll have a consistent system you can drop your work into. Organizing the project folder The Chapter01 folder in the source files contains a subfolder called HelloWorld. It s a model of the file and folder organization convention that we re going to follow in this book.
If you open it and look at its structure, you ll see something like Figure 1. Figure 1. Folder and file conventions used in this book xxiii 24 The project folder, HelloWorld, contains all the project subfolders and files. You can give it any name you like, but the name shouldn t contain any spaces. This is to maintain compatibility with the Flex SDK, which can t compile files that have spaces in their names, or even spaces in the names of any folder in their directory path.
The project subfolders are organized as follows: assets: This folder contains the extra things that you use in your project, like images, video, and sound. In this book, I use the lowercamelcase naming convention for SWF names. In Flash Builder, specify the output folder when you create a new ActionScript project.
By default, the output folder name is bin-debug, which is fine to use, too. You can add as many AS files and subfolders here as you like, including folders for project-specific class libraries. If you re using Flash Professional, follow these steps if you want to make changes to and recompile the example SWFs: 1.
Create a new FLA in the src folder. Change your publish settings so that the SWF is created in the bin folder this is optional. They can also be used to embed assets like fonts, images, and sounds that you want to use in the class. Metadata tags are great because they allow you to tinker with your SWF settings and embedded assets directly in your AS code, without needing to depend on the IDE, like Flash s Properties panel.
They help to keep all your code in one place, which means that your code is portable across all IDEs. If this happens, click the Update library path button. Flash Professional will link to the SDK, and the file will publish without problems.
Sometimes it doesn t publish on the very first attempt, but it will after you ve updated the library path. Figure 2.
Using the class library This book s source files contain a folder called com. Take a look in the friendsofed folder. There, you ll find a lot of different AS files and subfolders. This is a class library. The folders contain custom classes that are used by most of the examples and projects in this book.
If you want to use them, they need to be available to any AS or program you write. This means you need to set up your IDE so that it can always find the class library, no matter where on your hard drive you re working. In Flash Professional, follow these steps: xxv 26 xxvi 1. Open Flash s Preferences dialog box.
In Windows, select File Preferences. The Advanced Settings dialog box will open. The first setting is Source Path. Click the folder icon, and browse to the location on your system where the com folder that you downloaded from the friends of ED website is located.
In Flash Builder, specify the source path when you create a new ActionScript project. You can change or modify this after the project has been created through the project properties. You can find this file in the SDK s frameworks folder. Open flex-config. It contains all the settings that are used to compile your code.
You ll generally want the path to your class libraries to be absolute so that the compiler can always find them. Let s imagine that you ve saved the com folder in another folder called classes.
Finally, save the flex-config. Packages and namespaces I ve named this book s class library according to the very common reverse domain name convention. This convention came about as a reliable way to make sure that one developer s class names don t conflict with another developer s class names from a different library.
Let s look at how this system works, and how it s used in the code examples in this book. Imagine that you run a Flash game design website called Yes, I know, but all the good names were already taken! The folders match your domain name, but in reverse order. The com folder is empty, but kittykatattack contains all your classes.
Let s say that in your next project, you want to use a class from your library called GiantExplosion. You need to give the class a package name that matches its position in the folder hierarchy, like this: package com. Now suppose that you want to use a class from a library that you didn t develop. Maybe you have a friend working at who has also coded some killer figuratively, let s hope!
But there s a problem. Your friend s class is also called GiantExplosion. How can you use it along with your own GiantExplosion class without causing a conflict? First, you ll need to copy the new library into your main classes directory and import it, like this: import com. You may be wondering why reverse domain names were chosen for this naming convention.
Because domain names are guaranteed to be unique, you can be sure that a name you have registered isn t going to be registered by anyone else. It becomes a kind of digital signature.
Realize that using the reverse domain name convention is purely optional. You don t need to use it. You can use any system of your own that works for you. But it does work well and is widely employed by AS3.
And it doesn t matter at all whether the domain name you choose is real or even belongs to you. If you want to use uk. As long as you re not doing any development work with a friend at Google, or your source code isn t publicly distributed, it s unlikely that there will ever be a class name conflict. The advantage to using them is that if you have a complex class library with hundreds of classes and subfolders and you want to share that library with other developers, you can contain them in a single SWC file.
If there s a library of classes that you want to use with any of your games, such as a physics or 3D library, it s very likely that they ll be distributed as a SWC file. If you need to change this after the project has been created, you can do so in the ActionScript Build Path option of the project properties. If you open flex-config. That file doesn t contain the classes themselves, but is a long list of class interface definitions. You ll find a quick primer on interfaces at the end of Chapter 1.
Check your software documentation on how to do this. Testing the class library installation In this book s Chapter01 source file folder, you ll find a folder called HelloWorld. Let s use this sample project to make sure that you have everything set up correctly and can use this book s class library.
Open the HelloWorld. Notice that the HelloWorld class doesn t have a package name. Flash Builder and the Flex SDK require that the main application class not be part of a named package. The application class is the main class that runs and imports the other classes.
It s the same as Flash Professional s document class. In Flash Builder, select the Run command. If you re using the command-line compiler or an alternative IDE, refer to your software s documentation on how to compile the SWF. View the published SWF. If you ve set your IDE up as I ve suggested, you ll find it in the bin folder. It should look like Figure 3 when you run it.
Figure 3. Import the custom StatusBox object to display text in box that you can drag around the stage. You can drag the box containing the words Hello World!
Double-click to minimize it. If the SWF didn t compile properly, check all your settings and folder locations, and try again. StatusBox objects are made from the custom StatusBox class that s in the com. Often in game-design projects, you ll need to track complex data while you build and test. You can use a StatusBox object as an on-stage console to display variable values or other properties. It s a slightly more usable alternative to AS3. The code itself is reasonably complex, but as you can see, it s easy to use.
StatusBox objects have three public properties that you can set: text: Any String fontsize: A uint value that describes the size of the font color: A uint value that accepts any hexadecimal color code, such as 0x99CCFF sky blue In Chapter 1, I ll explain the AS3. I ll be introducing a few more useful diagnostic mini-apps and utilities, written exclusively for this book, in the chapters ahead.
Feel free to use them with your own projects and change and improve! You re now all set up and ready to start working through the projects in this book. This book is all about learning, and while you re learning, it s more important that you understand the code than that it runs as quickly as it possibly could. Code optimization is also quite a big art unto its own, and notoriously dependent on context. It would be unfair of me to burden you with obscure code that might be difficult to understand and then not actually amount to any speed benefit in your game.
So apart from some obvious and well-worn techniques, I ve opted to leave the optimization of the code in this book up to you.