1444361169 ActionScript for Multiplayer Games and Virtual Worlds - Multiplayer and Network Programming - Books - Books - GameDev.net

Jump to content

  • Log In with Google      Sign In   
  • Create Account

Game Development Books

Featured Book

Top Selling Books

  • You cannot edit this book

ActionScript for Multiplayer Games and Virtual Worlds ***--

ActionScript for Multiplayer Games and Virtual Worlds By Jobe Makar
Published August 2009
List Price: $54.99, Your Amazon.com Price: $54.99

Amazon.com Sales Rank: 1,512,491
Availability: Usually ships in 24 hours

The demand for multiplayer games and virtual worlds has exploded over the last few years. Not only do companies want them for site stickiness through social networking, but developers have tremendous interest in exploring this niche area. While developing multiplayer content is challenging, it isn't as difficult as you might think, and it is fun and highly rewarding!

Buy it now:



  • You cannot edit this book


I have a bit of history with this book. Back around September, I met up with the Electrotank guys at the Austin GDC. They're fixtures in the GDC expo hall, and I can always count on a demo of their latest virtual world server technology. This time, though, I had a question. I'd been toying around with the idea of building a small virtual world, client and server, as an extreme low-budget project, and I was trying to get a couple of opinions on the best way to go about it. As luck would have it, Electrotank's Jobe Makar had just finished a book about that very thing. They told me it was just the thing for building virtual worlds on a shoestring, and they'd get me a review copy.

ActionScript for Multiplayer Games and Virtual Worlds is not a comprehensive end-to-end guide to building your own Club Penguin or WebKinz or WoW from the ground-up. It clocks in at fewer than 300 pages, so that's not surprising. What you do get is a pile of time-tested wisdom from someone who's clearly built more than his share of budget virtual worlds in Flash.

Heck, the very fact that a book like this exists is pretty impressive. Think about it. This is a book aimed at small indie game developers who want to build a complete virtual world, client and server, on a tight budget. This kind of stuff used to command multi-million-dollar budgets and dozens of programmers, but now it's something that can be put together in a garage using a "how to" manual.

And while on the topic of budgets, ActionScript for Multiplayer Games and Virtual Worlds has a couple of prerequisites that may or may not be helpful for you. For one, most of the sample projects are built with FlashDevelop, which is a free ActionScript IDE and alternative to Flash (which isn't free) or Flex (which is free, but only for the command-line compiler). And the book's server-side projects are all based on ElectroServer, which is also free for small (<25 simultaneous client) projects. Now then, this might be very helpful for you, or it might not. FlashDevelop and ElectroServer are good products that can get your foot in the door of building a client/server virtual world very cheaply, and by "very cheaply" I mean "free". But they both have their drawbacks. For one, FlashDevelop is Windows only. ElectroServer is free and cross-platform, but you should expect to get out your wallet once your virtual world grows a bit. If you already have your client and server development infrastructure picked out, then ActionScript for Multiplayer Games and Virtual Worlds won't be useless, but it won't be as helpful as a more product-agnostic tutorial.

My favorite chapters are the ones covering such things as designing and skinning characters as well as virtual "rooms" with furniture and the like. Unlike some other chapters covering things like isometric graphics and A* pathfinding, layering and clothing characters in an efficient way so they can still be animated isn't something that's been well-covered elsewhere. And for that alone, ActionScript for Multiplayer Games and Virtual Worlds is probably worth the price of admission.

The book is not something for rank beginners. It's not an ActionScript or Flash or ElectroServer tutorial that'll take you from non-programmer to a virtual world developer a few easy steps. You'll need to have a background in programming as well as at least a passing knowledge of how Flash does things. You can attack this book as a rank amateur and install the sample programs and see how things work, but you might be a bit lost if you don't ramp up on the concepts first.

The last 75-odd pages of the book are devoted to an isometric virtual world called "OldWorld", and it is a full end-to-end client-server game solution, complete with a "world editor" of sorts that's installable as an AIR file (but doesn't come with source, best I can tell). As you can imagine, the resulting game is every bit as deep as a virtual world implement-able in 75 pages can be. But it looks great and has all the pieces in place. If you want a good "stub" from which to launch your own Club-Penguin-Only-Better project, there's little better that you'll find. And there's certainly not many canned client/server virtual world solutions that you'll find for the book's $35 (Amazon price at the time of this writing) price.

The online companion content for this book is not a CD but exists on both the author's website and at the Peachpit Press website. It's a single ZIP file containing all of the ActionScript code, FlashDevelop project files, and ElectroServer extensions. And the book, along with the downloadable files and an evaluation version of ElectroServer, will be enough to build and test a small virtual world as well as all of the example multiplayer arcade games in the book. And for that I suppose the dependence on FlashDevelop can also be justified, as the book doesn't require you to shell out another $400-$1000 for tools just to try things out.

As I mentioned early on, ActionScript for Multiplayer Games and Virtual Worlds doesn't pretend to be everything you need to build your own virtual world from the ground up. But there is a surprising amount of stuff there.

Table of Contents

Chapter 1. Web Game Landscape
Client-side Technology
Where Multiplayer Fits In

Chapter 2. Connecting Users
Connection Techniques
Socket Server Choices<

Chapter 3. Security: You vs. Everyone Else
Logical Security
Physical Security

Chapter 4. Introducing ElectroServer
Server Concepts
Hello World
Administration Panel

Chapter 5. Chat
Simple Chat Room

Chapter 6. Where Decisions Are Made
New Concepts
ElectroServer Plugin Concepts
Installing the Extension
Dig Game

Chapter 7. Real-time Movement
Responsive Controls
Path Types
Frame-based Movement
Latency and Clock Synchronization
Time-based Movement

Chapter 8. Lobby System
Common Features
Game Flow
Dig Game 2

Chapter 9. Real-time Tank Game
Game Overview
Authority and Prediction
Line of Sight
Game Messaging
Message Aggregation
Level Editor
Spatial Audio

Chapter 10. Tile-based Games
Tile-based vs. Art-based Levels
Other Tile-based Benefits
A* Pathfinding

Chapter 11. Cooperative Game Play
Types and styles of Cooperative Game Play
The Game: Super Blob Brothers
Server vs. Client: Who's the Boss?
Game Messaging
Client-side Details

Chapter 12. Isometric View
Basics and Benefits of Isometrics
A Technical Look
Sorting Algorithm

Chapter 13. Avatars
Meet the Avatars
Rendering Approaches
Sprite Sheets
Avatar Creation and Customization

Chapter 14. Virtual Worlds
Common Features
Old World
Map Files
Map Rendering
The World

Chapter 15. Buddies
Buddies in Old World

Chapter 16. User Homes
"Open House"
User Homes in Old World

Appendix: Setting Up the Sample Extension
Server-Level Components
Old World
Configuring the Logging
Setting up the Server-side Development Environment