Flash 10 Multiplayer Game Essentials

Flash 10 Multiplayer Game Essentials
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 30%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • A complete end-to-end guide for creating fully featured multiplayer games
  • The author's experience in the gaming industry enables him to share insights on multiplayer game development
  • Walk-though several real-time multiplayer game implementations
  • Packed with illustrations and code snippets with supporting explanations for ease of understanding

Book Details

Language : English
Paperback : 336 pages [ 235mm x 191mm ]
Release Date : July 2010
ISBN : 1847196608
ISBN 13 : 9781847196606
Author(s) : Prashanth Hirematada
Topics and Technologies : All Books, Game Development, Flash, Games

Table of Contents

Chapter 1: Getting Started
Chapter 2: Game Interface Design
Chapter 3: Avatar and Chat
Chapter 4: Lobby and Room Management
Chapter 5: Game Logic
Chapter 6: Multiplayer Game Example: Tic-tac-toe
Chapter 7: Multiplayer Game Example: Jigsaw
Chapter 8: Card-based Racing Game Tutorial
Chapter 9: Real-time Racing Game Tutorial
Appendix A: Introduction to FlashBuilder and AS3
Appendix B: Graphics Programming in AS3
  • Chapter 1: Getting Started
    • Development environment
    • Pulse SDK
    • Installing Flash Builder 4
    • Downloading the Pulse SDK
    • Installing Pulse SDK
      • Post-installation checks
      • Running the samples
        • Starting the server
        • Starting the client
    • A high-level architecture of multiplayer game server
      • Simple deployment architecture
      • Enterprise deployment architecture
        • The session server process
        • The balancer process
        • Server game programming
        • Zero server-side programming
      • Network programming paradigm
      • Client-to-client interaction
    • The server modules
      • Game server modules
        • Persistence
        • Session and session manager
        • Avatar manager
        • Friends
        • Chat
        • Object synchronization
        • Object serialization
        • Security
        • Connection management and message dispatcher
        • Message
    • The game client
    • The overall structure of a multiplayer game
      • The main game loop
      • Processing messages from the server
      • The programming API
    • Summary
  • Chapter 2: Game Interface Design
    • Overview of Pulse library components
    • The Pulse API design
    • Creating the Hello World sample
      • Setting up the project
      • The Hello World specification
      • The schema file
      • Code generator
      • Project directory structure
    • Introduction to PulseUI
      • Screen management in PulseUI
      • The PulseGame class
    • Exploring the Hello World sample
      • HelloGame.as
      • The login screen
      • The screen class
      • The skinner class
      • The outline class
      • Player registration
    • Exploring the game server deployment
      • Registration and login
        • Registration
        • The login
        • Dealing with multiple logins
        • Guest logins
    • Summary
  • Chapter 3: Avatar and Chat
    • Introduction to Pulse modeler
      • Example schema
    • Design of a game avatar
      • Modeling the avatar
      • Avatar display in Hello World
      • Customizing Player Display
    • Avatar-related APIs
      • PulseGame client APIs
      • Pulse game client callbacks
    • Friends management
      • Friends in Hello World
      • The friends API
      • Customizing friends display
    • The chat feature
      • The chat API
      • Chatting in Hello World
      • Customizing chat display
    • Implementing high scores
      • High scores in Hello World
    • Skinning the user interface
      • Skinning for Hello World
    • Summary
  • Chapter 4: Lobby and Room Management
    • Introduction to lobby and room management
      • Modeling game room
        • Game room management
        • Seating order
        • Room states
        • Player states
        • Kicking out a player
        • Room types
        • Audience
        • Room properties
    • The lobby screen implementation
      • Lobby screen in Hello World
      • Customizing lobby screen
      • Customizing game room display
      • Filtering rooms to display
      • Lobby and room-related API
    • New game screen implementation
      • New game screen in Hello World
      • Customizing the new game screen
      • New game room API
    • Designing the game screen
      • Implementing the game screen
      • Customizing the game screen
    • Summary
  • Chapter 5: Game Logic
    • Gameplay implementation
    • Modeling game states
      • Game states types
    • Game states in Hello World
      • Code walk-through
        • GameStateSprite class
        • General flow of events
        • Game state schema
        • Adding a new game state
        • Updating game state
        • Removing a game state
    • Game state API
    • Miscellaneous classes
      • The Button Effect class
      • The Slider class
      • The ShakeEffect class
    • Summary
  • Chapter 6: Multiplayer Game Example: Tic-tac-toe
    • Running the game from sample directory
    • The Pulse UI framework
      • Setting up the project
    • Getting started: Modeling the game
      • Project directory structure
      • Code walk-through
      • TictactoeGame
        • Overriding the constructor
        • Overriding the initNetClient method
        • Implementing a turn-based game
        • Sending and receiving player actions
      • TictactoeSkinner
      • TictactoeNewGameScreen
      • TictactoeGameScreen
        • Initializing the game screen
        • Displaying player turn
        • Letting the player make the move
        • Who won?
        • Finding the winner
    • Other screens and features
      • Lobby screen
      • Chat
      • TopTen
      • Registration screen
    • Summary
  • The game graphics
    • DisplayManager
    • Managing pieces—Group
    • The PieceSprite class
    • Creating a piece
    • Dragging of pieces
    • Checking for matches
  • Multiplayer and networking
    • Code generation
    • Screen classes
    • The JigsawGame class
      • Overriding the constructor
      • Overriding the initNetClient method
      • Server communication
    • The JigsawSkinner class
    • The NewJigsawGameScreen class
    • The JigsawGameScreen class
  • Summary
  • Chapter 8: Card-based Racing Game Tutorial
    • Implementation
      • Graphics
      • The map and frog movement
        • The step class
        • The frog class
      • Card management
      • Screen management
      • Class Skin
      • Class JJF
      • Class NewGame
    • Multiplayer design
      • Card distribution
      • Frog position
      • Assigning player color
      • Schema
    • Gameplay implementation
      • Assigning colors
      • Determining the initial frog positions
      • Getting the initial three cards
      • Playing the game
    • Summary
  • Chapter 9: Real-time Racing Game Tutorial
    • Game design
    • The game client
      • The main game loop
      • The spaceship class
        • Controlling movement
        • Skinning the ship
      • The racetrack module
      • Mapping coordinates
      • Loading quadrants
      • The mini-map class
      • The Radar class
      • Implementing items
        • Detecting collisions
      • Implementing the shield
      • Finishing the race
    • Multiplayer implementation
      • Designing the schema
        • The ShipMask class
        • The ShipPos class
        • The item class
        • The ShipWin class
      • Assigning ship color
      • Putting items on the map
      • Ship prediction and interpolation
      • Winning the race
    • Summary
  • Appendix A: Introduction to FlashBuilder and AS3
    • Installing Flash Builder 4
    • AS2 versus AS3
    • Exploring Flash Builder 4
    • Hello World!
    • Defining a class
    • Classes—defining game objects
    • Creating game objects
    • Variables and properties
    • Magic numbers and constants
    • Methods
    • Property and method access
    • Taming the inheritance monster
    • Interface class
    • Static properties and methods
  • Appendix B: Graphics Programming in AS3
    • Flash object hierarchy
      • Object
      • EventDispatcher
      • DisplayObject and DisplayObjectContainer
      • InteractiveObject
    • Sprite, in detail
      • Which way is up?
    • Let the fun begin
    • Events
    • Timers
    • Trace
    • Embedding pictures
    • Mouse events
      • What do we need to handle mouse events for?
      • How to register for a mouse event
      • What are the events we can handle in Flash?
      • Handling mouse events in many objects
      • Where is the Mouse?
    • Drag-and-drop
    • Keyboard events
      • Arrow key handling: The basics
      • Arrow key handling: The professional way
    • Labels, text fields, and sprite buttons
    • Filters: Adding effects to sprites
    • Transparency: Playing with the alpha channel
      • Cool fading screens
    • Cutting up assets

Prashanth Hirematada

Prashanth Hirematada, is the founder of Gamantra, a game technology company focused on Network engine & server platform. Prior to founding Gamantra in 2006, he was a Chief Architect at Shanda Interactive Entertainment Ltd., where he was responsible for creating a common game development platform for all MMOG initiatives at Shanda. He joined Shanda in 2004 through Shanda's acquisition of Zona, Inc., an MMOG game technology company, headquartered in Santa Clara, USA. At Zona, as a Technical Chief Architect, he was responsible for server-side architecture and implementation of MMOG framework. Prior to joining Zona in 2001, Prashanth worked in various Silicon Valley-based technology start-up companies developing software at various levels for well over 7 years.

His Master's thesis was about a distributed implementation of the Message Passing Library (MPI) on a heterogeneous network of workstations including Solaris, HP-UX, OpenStep, and Windows NT. He received his MS in Computer Science, from the California State University, Sacramento, California, in 1994 and his BS in Computer Science, from Bangalore University, Bangalore, India in 1992. He can be contacted at prash@gamantra.com.


Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


- 1 submitted: last submission 23 Jul 2013

Errata Category: Code Related

The package for pulse SDK has been updated at: http://www.gamantra.com/pulse/index.html

Please click on the link: "Download Pulse SDK" to download the setup file.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Flash 10 Multiplayer Game Essentials +    Oracle Certified Associate, Java SE 7 Programmer Study Guide =
50% Off
the second eBook
Price for both: £24.65

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Explore the essential functionalities of a Game Server
  • Exchange information between the players using game state actions
  • Customize parts of the game screens—login, new game screen, players, friends display, and more
  • Prototype your multiplayer games rapidly using PulseUI
  • Walk through the code that manages the graphics of a game
  • Model complex game environments using XML game schema
  • Design the schema needed to implement a game using game states
  • Delve into the basics of screen management and the Pulse game state APIs
  • Deploy the game design schema required for multiplayer games

In Detail

Multiplayer web-based games are more popular than any others, and developing your own is an exciting challenge. But developing multiplayer games is a complex task. There are few resources that explain how to build multiplayer games from the ground up.

This comprehensive guide is packed with practical examples and insights into basic and fundamental knowledge for developing real-time multiplayer games in Flash.

This book starts with the essential ingredients to develop Flash games using Flash Builder 4 and AS3, followed by the basic Flash programming that you need to know in order to write any Flash game. You will learn the basic features that a developer must implement for any multiplayer game. The chapters discuss the challenges you will face when developing a multiplayer game. You will learn to leverage the PulseUI framework to quickly develop a multiplayer game along with all the required screen management. The simple, but powerful, Pulse API model required for multiplayer game development is thoroughly explained as well. As you go through these concepts, you will learn to implement them using code examples.

The last section takes you through four multiplayer game implementations of increasing complexity: first a simple turn-based TicTacToe, followed by a multi-player Jigsaw, a card-based racing game, and finally a complex space racing game.

A development guide for all your multiplayer games


The book provides all the essentials needed to implement a fully featured multiplayer game in Flash. It begins by dissecting a basic hello-world example providing its code and an insight into each feature that is required. Following the book is easy because of the excellent illustrations and working code samples. Four complete game implementations with increasing complexity are discussed; each example is presented with detailed design, implementation code, and screenshots.

Who this book is for

This book discusses essentials for beginner to intermediate Flash Developers who have perhaps created a game or two in Flash and want to take the next step, and create something that can be played by two or more players over the internet. This book will appeal to professional and amateur developers with an inclination to build synchronous multiplayer games with Flash. No prior knowledge of networking or server-side programming is required.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software