Phaser Game Starter Kit Collection (The Book and bonus content)
$19.99
Minimum price
$49.00
Suggested price

Phaser Game Starter Kit Collection

16+ Classic Game Mechanics using Phaser v2 Gaming Framework

About the Book

Start your own Game Studio!

  • 33 General Game Licenses are included in this book - a savings of $1,980 if purchased separately!

Phaser Game Starter Kit Collection (6th Edition) is a hands-on guide for making browser games using both Phaser Gaming Framework versions 2.6.2, and Community released editions. You may also purchase these chapters individually which includes both v2.x.x and v3.16+. This collection delves into 16+ greatest classical and popular game mechanics with 19 sub-genres (for a total of 35!). All are written in a fun and friendly style with completed projects and open-ended exercises that encourage you to build and include your own game assets and features. You’ll also download supporting tools to classify the book’s snippets and add your own modification. Phaser III Game Starter Kit Collection (a sister volume to this one exclusively for Phaser v3.16+) is similar to this book's Part II.

The Phaser Game Starter Kit Collection contains several sections. It starts with an Introduction into game perspective, modes, genres, workstation set-up, and generation tools. Part I demonstrates basic game mechanisms using Phaser Official and the community edition versions. Each chapter is a separate game mechanic -- 16+ for v2 (and the same 16+ starter-kits for Phaser v3.16+ in a separate sister volume)! This is a reference book; simply turn to the game chapter you'd like to create. In a matter of hours, you will have a working game prototype for that game mechanics using the Game Design System™ -- fully explained in the Phaser Game Design workbook (6th edition). You then add your own artwork and additional game features; over the next few days, you have your own completed game ready to deploy in the "apps" stores. I consider this a joint effort. You might consider this a joint effort: I am your game programmer and you are the game designer, artist, and marketer.

Phaser III Game Starter Kit Collection (a sister volume) is similar to this book's Part II but all the tutorials are written in Phaser3 in a second separate volume. Part IV is a massive collection of 59+ Flash ActionScript games just waiting for you to transpile from ActionScript 2/3 into Phaser v2.x.x. Part V is an excerpt from Phaser Multiplayer Gaming Systems; it holds all the starter kits essentials for multiplayer games using web sockets.

You’ll find detailed working examples, with dozens of illustrations and many concepts you can freely apply to your own bespoke gaming projects. All the source code annotations enhance the book’s explanation. 

If you prefer, you can buy individual chapters - sold separately on LeanPub.com or Amazon.com

 

What you’ll learn:

By the end of this workbook, you’ll have integrated into your own bespoke game designs:

  • Adopted processes for business project management and agile software development.
  • Organized a standard file structure for developing games in general;
  • Used a blank game template to scaffold further game projects;
  • Imported resources and game assets;
  • Displayed, animated and moved game avatars on various screen renderings;
  • Managed groups of game objects in v2.x.x;
  • Deployed heads-up display (HUD) on game scenes both inside and outside the canvas;
  • Used customized web fonts;
  • Incorporated multiple game-inputs (touch, multi-touch, accelerometer, mouse and keyboard);
  • Rendered several physics systems in v2.x.x;
  • Included graphics effects (gfx) (particle systems, rotations, fades, shaders and more);
  • Created and managed game phases;
  • Managed permanent game assets across game phases;
  • Optimized your game for various mobile devices;
  • Integrated 3rd-party scripts and web services for v2.x.x.
  • Deploy single- and multi-player games.
  • Web Sockets demystified for scalable massive online game deployments.

Who This Book Is For:

Students of -- and professionals in -- "game art and animations" with some experience in HTML5 and JavaScript who want to enhance -- or begin learning the essential techniques of game programming skills in Phaser's official and community editions v2.x.x. If you are interested in making browser games, especially for the mobile market, then Phaser Game Starter Kit Collection is a perfect choice.

About the Author

Stephen Gose
Stephen Gose

Avatar is an adorable cartoon sketch of my wife. 46th anniversary this coming Sept 1, 2024!

Stephen Gose, Ph.D. Information Systems (honorary) (and second-generation German) is a retired Professor Emeritus with a 41-year career as a certified network engineer, and "Certified Cisco Academy Instructor" (CCAI) since 2002. He is listed in the Who's Who for Information Technology for his directly related work for the Internet backbones found in the Caribbean, Netherlands, Israel, and Russia. He was awarded "Letters of Appreciation" from AT&T, and the German, Israeli, Dutch, and Russian Governments. Steve has nearly three decades of international "teaching and conference lecturing" in both Local-Area and Wide-Area Networks, network security, Internet backbones, software engineering, and program/project management. He is a retired US Army Signal Corps Officer. He earned, in 2014, the ITT Technical Institute's "Instructor of the Year" out of 8,000 instructors across 144 campuses throughout the USA. 

He graduated from Grand Canyon University with his first B.A. in Religions and Music Education, then a B.S. in Business Admin. from the University of Maryland, and an M.B.A in International Management from Liberty University.

He is currently pursuing his Th.D. He has served as a licensed minister since 1972 and as a missionary to Okinawa, Japan. He earned the US Army Chaplain Outstanding Service Award in 1983. 

In his spare time(?), Steve enjoys creating online casual games, software engineering, and managing his online gaming businesses. 

My driving theme: "Always stay humble and kind"

His personal website is: http://www.Stephen-Gose.com./

His game showcase is: http://www.renown-games.com

His theology website: http://kingdomofgodprinciples.com/

Game Support Site: http://makingbrowsergames.com/

Review my profile on LinkedIn.com: https://www.linkedin.com/in/stephen-gose/

About the Contributors

Richard Davey
Richard Davey

Author Phaser JavaScript Game Framework.

Table of Contents

  •  
    • Distribution Permission
      • Supporting website
    • Disclosures
    • Disclaimer
    • Forwards
    • About this Workbook
      • Links and References
    • Workbook Content
      • How to Read & Use this workbook:
        • Viewing the eBook’s Source Code:
        • Who should use this workbook?
    • Your newly obtained skills…
    • Game Design System™
      • Game Studio - Book Series
      • Game Studio - Online Courses
      • “Making Browser Games” - Books Series
      • “Making Browser Games” Series - online Courses
      • Programming Courses
      • “Walk-Thru Tutorial” Series - Online Courses
  • Part I - Introduction
    • 1 Introduction
      • 1.1 Game Component Perspectives
      • 1.2 Game Delivery Modes
        • 1.2.1 Game Mode - Single-Player Flowchart
        • 1.2.2 Game Mode - Multi-Player Flowchart
      • 1.3 Game Genres
        • 1.3.1 Action Games
        • 1.3.2 Adventure Games
        • 1.3.3 Casino Games
        • 1.3.4 Educational Games
        • 1.3.5 Fighting Games
        • 1.3.6 Platform Games
        • 1.3.7 Puzzle Games
        • 1.3.8 Racing Games
        • 1.3.9 Rhythm / Music Game
        • 1.3.10 Role-Playing Games (RPG)
        • 1.3.11 Shooter Games
        • 1.3.12 Simulations
        • 1.3.13 Sports Games
        • 1.3.14 Strategy Games
        • 1.3.15 Tower Defense™ — USPTO awarded to COM2US
      • 1.4 Mind The Gap
      • 1.5 Game Tools & Generators
      • 1.6 Standard Project Setup
        • 1.6.1 Standardized File Structure
      • 1.7 Game Recipe™
        • 1.7.1 Development:
        • 1.7.2 Design:
        • 1.7.3 Encoding:
      • 1.8 Creating Prototype Mechanisms — “4-step method”
        • 1.8.1 Standard Game Index Page (formal method)
        • 1.8.2 Mobile Apps: Game.js (aka Main.js)
      • 1.9 Game Shell and Logic Flow
        • 1.9.1 Network Impact
        • 1.9.2 Gamer’s Local Activity
        • 1.9.3 Generic Main.js
        • 1.9.4 Generic Boot.js
        • 1.9.5 Generic Preload.js
        • 1.9.6 Generic Splash.js or Language.js
        • 1.9.7 Generic Menu.js
        • 1.9.8 Sample CMS page — Credits.js
        • 1.9.9 Play.js
        • 1.9.10 Inside each Game Phase
      • 1.10 Plug-in Enhancements
      • 1.11 Introduction References
  • Part II - Game Mechanics
    • 2 Action-Arcade Mechanics
      • 2.1 Reference From
      • 2.2 Overview
      • 2.3 Our Goal
      • 2.4 Game Mechanics
        • 2.4.1 Historical background
      • 2.5 Game Examples
        • 2.5.1 Official Phaser Examples
      • 2.6 Game Recipe™ Featured Ingredients
      • 2.7 Starting an Action-Arcade Game Project
        • 2.7.1 Step 0: Review Game demonstrations
        • 2.7.2 Step 1: Create your “front-door”
      • 2.8 Action-Arcade — Core Game Phases
        • 2.8.1 Step 2. Create Your Standard Game Shell Phases.
        • 2.8.2 Main.js
        • 2.8.3 Boot.js
        • 2.8.4 Preload.js
        • 2.8.5 Splash.js or Language.js
        • 2.8.6 Menu.js
      • 2.9 Action-Arcade Core Mechanics
      • 2.10 Design Considerations
        • 2.10.1 Gameboard Development
        • 2.10.2 Right or Left-handed?
        • 2.10.3 Cursor Keys: Timing vs. Movement
      • 2.11 Rhythm Game Logic & Supporting Functions
        • 2.11.1 Play.js
      • 2.12 Rhythm Core Game Mechanics
        • 2.12.1 Step 3. Create your core game logic & supporting functions
        • 2.12.2 hud.js Modifications
        • 2.12.3 billboard.js Modifications
        • 2.12.4 constants.js Modifications
        • 2.12.5 game.js Modifications
        • 2.12.6 notes.js Modifications
        • 2.12.7 banjostrings Modifications
      • 2.13 Prototype (Stage 1)
      • 2.14 Conclusion
    • 3 Adventure & RPG Game Mechanics
      • 3.1 Reference From:
      • 3.2 Overview
      • 3.3 Our Goal
      • 3.4 Game Mechanics
        • 3.4.1 Historical Background Reviewed
        • 3.4.2 Game Genre Components
      • 3.5 Game Examples
      • 3.6 Game Recipe™ Featured Ingredients
      • 3.7 Starting the Adventure project
        • 3.7.1 Step 0: Review your competition and game demonstrations:
        • 3.7.2 Step 1. Create your standard index file.
        • 3.7.3 Step 2. Create Your Standard Game Shell Phases.
        • 3.7.4 Main.js
        • 3.7.5 Boot.js
        • 3.7.6 Preload.js
        • 3.7.7 Splash.js or Language.js
        • 3.7.8 Menu.js
        • 3.7.9 Play.js
      • 3.8 Adventures & Mazes Core Mechanics
        • 3.8.1 Story Plot Generation
        • 3.8.2 Story Generation Tools
        • 3.8.3 Labyrinth Generation Methods
        • 3.8.4 Fixed Generation
        • 3.8.5 Fixed Generation with dynamic content
        • 3.8.6 Pure Linear labyrinths
        • 3.8.7 Rules for Creating the Perfect Maze
        • 3.8.8 Depth-First Search (DFS)
        • 3.8.9 Open-path Worlds
      • 3.9 Conclusion
    • 4 Collapsing Blocks Games Mechanics
      • 4.1 Reference From:
      • 4.2 Overview
      • 4.3 Our Goal
      • 4.4 Game Mechanics
      • 4.5 Game Examples
      • 4.6 Game Recipe™ Featured Ingredients
      • 4.7 Starting the Collapsing Blocks project
        • 4.7.1 Step 0: Review your competition and game demonstrations:
        • 4.7.2 Step 1. Create your standard index file.
      • 4.8 Collapsing Blocks Core Game Phases
        • 4.8.1 Step 2. Create Your Standard Game Shell Phases.
        • 4.8.2 Main.js
        • 4.8.3 Boot.js
        • 4.8.4 Preload.js
        • 4.8.5 Splash.js or Language.js
        • 4.8.6 Menu.js
        • 4.8.7 Play.js
      • 4.9 Collapsing Blocks Core Mechanics
        • 4.9.1 Step 3. Create your core game logic & supporting functions.
      • 4.10 Main.js
        • 4.10.1 flood fill function — Line 86 to 106
        • 4.10.2 Refill Game Board — Lines 110 to 128
        • 4.10.3 Insert Blocks — Lines 132 to 150
        • 4.10.4 Fill holes — Lines 153 to 163
        • 4.10.5 Tile selection — Lines 166 to 191
      • 4.11 Game-board set-up
        • 4.11.1 demo.js - Lines 23 to 43:
      • 4.12 Conclusion
    • 5 “Connect-4” & “Go” Game Mechanics
      • 5.1 Reference From
      • 5.2 Overview
      • 5.3 Our Goal
      • 5.4 Game Mechanics
        • 5.4.1 Historical background
      • 5.5 Game Examples
      • 5.6 Game Recipe™ Featured Ingredients
        • 5.6.1 Game Genre Components
        • 5.6.2 Rule Variations
      • 5.7 Starting a Connect 4 AI Game Project
        • 5.7.1 Step 0: Review Game demonstrations
        • 5.7.2 Step 1: Create your “front-door”
      • 5.8 Connect 4 AI — Core Game Phases
        • 5.8.1 Step 2. Create Your Standard Game Shell Phases.
        • 5.8.2 Main.js
        • 5.8.3 Boot.js
        • 5.8.4 Preload.js
        • 5.8.5 Splash.js or Language.js
        • 5.8.6 Menu.js
      • 5.9 Design Considerations
        • 5.9.1 Gameboard Development
        • 5.9.2 Game Disc-Tokens
        • 5.9.3 2-player and AI-bot
      • 5.10 Connect 4 Game logic & supporting functions
        • 5.10.1 Play.js
      • 5.11 Connect 4+ Core Game Mechanics
        • 5.11.1 Step 3. Create your core game logic & supporting functions
        • 5.11.2 Play.js Deconstruction
        • 5.11.3 Play.create Essential Function - Line 43 to 130
        • 5.11.4 Play.selectCol() - Lines 144 to 191
        • 5.11.5 HUD Mouse functions
        • 5.11.6 Validate “4-in-a-row” Winning Conditions
        • 5.11.7 Declaring a Winner
      • 5.12 Anticipation of Change - Play.js version 2
        • 5.12.1 Other problems for your bespoke solution?
      • 5.13 Doing the AI-thing!
        • 5.13.1 Sample Resources
        • 5.13.2 Deeper Dive: A.I. in Connect4 & Go
        • 5.13.3 Conversion Process
      • 5.14 Conclusion
    • 6 Dress-Up Game Mechanics
      • 6.1 Reference From:
      • 6.2 Overview
      • 6.3 Our Goal
      • 6.4 Game Mechanics
      • 6.5 Game Logic and Construction Considerations
        • 6.5.1 Step #1 Find the avatar(s).
        • 6.5.2 Step #2 Create the wardrobe
        • 6.5.3 Step #3 Messy or tidy?
        • 6.5.4 Step #4 Layout Arrangement
        • 6.5.5 Step #5 Asset Download Considerations
      • 6.6 Game Examples
      • 6.7 Current Demand for Dress-UP Games
      • 6.8 Game Recipe™ Featured Ingredients
      • 6.9 Starting the Dress-Up project
        • 6.9.1 Step 0: Review game demonstrations:
        • 6.9.2 Step 1. Create your standard index file.
      • 6.10 Dress-UP Core Game Phases
        • 6.10.1 Step 2. Create your standard game shell scenes.
        • 6.10.2 Main.js
        • 6.10.3 Boot.js
        • 6.10.4 Preload.js
        • 6.10.5 Splash.js or Language.js
        • 6.10.6 Menu.js
        • 6.10.7 Play.js — Overview
      • 6.11 Dog.js – a gentle introduction to standard Dress-UP games
        • 6.11.1 Dog.js Create function – Lines 51 to 130
        • 6.11.2 Dog.js Create function – Lines 131 to 170
      • 6.12 Mark.js – adding clothes and toggles
      • 6.13 Miyoko.js – adding data structures and multiple spritesheets management
        • 6.13.1 Managing Hair and “split-ends”
        • 6.13.2 What’s a Girl to Wear? Clothes management
      • 6.14 Zoe.js – the full Monty
      • 6.15 Common Menu HUD
      • 6.16 Printing
      • 6.17 Saving
      • 6.18 Camera snap-shots
      • 6.19 Conclusion
    • 7 Hidden Objects Game Mechanics
      • 7.1 Reference From
      • 7.2 Overview
      • 7.3 Our Goal
      • 7.4 Game Mechanics
        • 7.4.1 Historical background
        • 7.4.2 General Construction Advice?
        • 7.4.3 Deeper Dive: Replayability
      • 7.5 Game Examples
      • 7.6 Game Recipe™ Featured Ingredients
      • 7.7 Starting a “Hidden Objects” Project
        • 7.7.1 Step 0: Review your competition and game demonstrations:
        • 7.7.2 Step 1: Create your “front-door”
      • 7.8 Hidden Objects Core Game Phases
        • 7.8.1 Step 2: Create your standard game shell scenes
        • 7.8.2 Main.js
        • 7.8.3 Boot.js
        • 7.8.4 Preload.js
        • 7.8.5 Splash.js or Language.js
        • 7.8.6 Menu.js
        • 7.8.7 Play.js
      • 7.9 Creation Methods for Hidden Objects Games
        • 7.9.1 Step 3. Create your core game logic & supporting functions
      • 7.10 Method #1: HTML5 Conversion into Phaser Framework.
        • 7.10.1 Step 1: Project Preparation
        • 7.10.2 Step 2: Project Refactoring
        • 7.10.3 Step 3: Project Plan
        • 7.10.4 Deeper Dive: Better Location Selections
        • 7.10.5 Deeper Dive: Making Phaser v2.x.x Graphics “clickable”
      • 7.11 Method #2: ActionScript into Phaser Framework.
        • 7.11.1 D.R.Y. Speed Limit - 5 GPH (Games Per Hour)!
        • 7.11.2 Cashing In with Hidden Object Games
      • 7.12 Method #3: Winx Quests.
        • 7.12.1 Flash Demo
      • 7.13 Method #3 for Adults: “Find My Flaws”
        • 7.13.1 Flash Demos
        • 7.13.2 Microsoft Office to the Rescue!
      • 7.14 Method #5 - “Find the Difference” Construction
        • 7.14.1 Why not do what others are doing?
        • 7.14.2 Step 1: Project Preparation
        • 7.14.3 Deeper Dive: Project Preparations
        • 7.14.4 Step 2: Create your standard game shell scenes
        • 7.14.5 Step 3: Project Plan & flowchart
        • 7.14.6 Phaser v2.x.x Resources
      • 7.15 Conclusion
    • 8 “Jump to Capture” Games Mechanics
      • 8.1 Reference From:
      • 8.2 Overview
      • 8.3 Our Goal
      • 8.4 Game Mechanics
      • 8.5 Game Logic and Rules
      • 8.6 Game Data structure
      • 8.7 Game Examples
      • 8.8 Game Recipe™ Featured Ingredients
      • 8.9 Starting the game project
        • 8.9.1 Step 0: Review game demonstrations
        • 8.9.2 Step 1. Create your standard index file.
      • 8.10 Peg Solitaire Core Game Phases
        • 8.10.1 Step 2. Create your standard game shell scenes.
        • 8.10.2 Main.js
        • 8.10.3 Boot.js
        • 8.10.4 Preload.js
        • 8.10.5 Splash.js or Language.js
        • 8.10.6 Menu.js
        • 8.10.7 Play.js
      • 8.11 Peg Solitaire Core Mechanics
        • 8.11.1 Step 3. Create your core game logic & supporting functions.
        • 8.11.2 Overview
        • 8.11.3 Game Data structures — Lines 26 to 30
        • 8.11.4 hole selected — Lines 332 to 340
        • 8.11.5 peg selected — Lines 341 to 348
        • 8.11.6 validateMove — Lines 358 to 613
      • 8.12 Conclusion
    • 9 MahJong Game Mechanics
      • 9.1 References From:
      • 9.2 Overview
      • 9.3 The Goal
      • 9.4 MahJong Game Mechanics & Historical background
      • 9.5 MahJong - “Matching Open Pairs”
        • 9.5.1 General Game Procedures
        • 9.5.2 MahJong Rule Variations
        • 9.5.3 “52 Card Pick-up”
      • 9.6 Game Recipe™ Featured Ingredients
      • 9.7 Starting a MahJong Game Project
        • 9.7.1 Step 0: Review Game demonstrations
        • 9.7.2 Game Competitor Examples
        • 9.7.3 Step 1: Create your “front-door”
      • 9.8 MahJong — Core Game Phases
        • 9.8.1 step 2: Create your standard game shell scenes
        • 9.8.2 Main.js
        • 9.8.3 Boot.js
        • 9.8.4 Preload.js
        • 9.8.5 Splash.js or Language.js
        • 9.8.6 Menu.js
      • 9.9 MahJong Game logic & supporting functions
        • 9.9.1 Play.js
      • 9.10 MahJong Core Game Mechanics
      • 9.11 Step 3. Create game logic & supporting functions
        • 9.11.1 Booting and Loading
        • 9.11.2 Main.js
        • 9.11.3 Defining Tile Metadata
      • 9.12 Play.js
        • 9.12.1 Shuffling & Randomized Deployment
        • 9.12.2 Creating Tiles
        • 9.12.3 Selecting Tiles
        • 9.12.4 Tile Selection & Validation
      • 9.13 3D Layout Prototype
    • 10 Match-3 Game Mechanics
      • 10.1 References From:
      • 10.2 Overview
      • 10.3 Our Goal
      • 10.4 Game Mechanics
      • 10.5 Game Examples
      • 10.6 Game Recipe™ Featured Ingredients
      • 10.7 Starting the Match-3 project
        • 10.7.1 Step 0: Review game demonstrations
        • 10.7.2 Step 1. Create your standard index file.
      • 10.8 Match-3+ Core Game Phases
        • 10.8.1 Step 2. Create Your Standard Game Shell Phases.
        • 10.8.2 Main.js (or Game.js)
        • 10.8.3 Boot.js
        • 10.8.4 Preload.js
        • 10.8.5 Splash.js or Language.js
        • 10.8.6 Menu.js
        • 10.8.7 Play.js
      • 10.9 Match-3+ Core Mechanics
        • 10.9.1 Step 3. Create your core Game logic & supporting functions
      • 10.10 Game-board set-up
        • 10.10.1 function drawField - Lines 57 to 80:
      • 10.11 Input Validation
        • 10.11.1 Function Tile selection – Lines 81 to 121
        • 10.11.2 Function Tile De-selection – Lines 122 to 129
        • 10.11.3 Function Tile Move – Lines 130 to 161
        • 10.11.4 Function Tile swapping – Lines 162 to 202
        • 10.11.5 Function Tile Next – Lines 199 to 202
        • 10.11.6 Function Tile the same – Lines 203 to 206
        • 10.11.7 Function Tile at – Lines 207 to 214
      • 10.12 Tile Discovery
        • 10.12.1 Function Get Tile row – Lines 215 to 218
        • 10.12.2 Function Get Tile column – Lines 220 to 224
      • 10.13 Game Rules and logic
        • 10.13.1 Function Tile Horizontal Match – Lines 225 to 228
        • 10.13.2 Function Tile Vertical match – Lines 229 to 232
        • 10.13.3 Function Tile is a Match – Lines 233 to 236
        • 10.13.4 Function Existing Match in Board – Lines 237 to 248
        • 10.13.5 Function Match Handling “Workhorse” – Lines 249 to 271
        • 10.13.6 Function Handle Vertical Matches – a delegation pattern; Line 272 to313
        • 10.13.7 Function Handle Horizontal Matches – a delegation pattern; Line 314 to 355
      • 10.14 Game Board Management
        • 10.14.1 Function Tile Removal – Lines 356 to 382
        • 10.14.2 Function Tile Falling (visual display management) – Lines 383 to 427
        • 10.14.3 Function Replenish Tile Field (visual display management) – Lines 428 to 474
        • 10.14.4 Function Tile Holes Below (visual display management) – Lines 475 to 486
        • 10.14.5 Function Tile Holes in Columns (visual display management) – Lines 487 to 497
      • 10.15 Match 3 (Placed) - Tic-tac-toe
      • 10.16 Match 4 (Placed) - “Connect”
      • 10.17 Match 5 (Placed) - “Go”
      • 10.18 Match 3+ - “Tracing-a-line”
      • 10.19 Conclusion
    • 11 Memory Match Game Mechanics
      • 11.1 References From:
      • 11.2 Overview
      • 11.3 Our Goal
      • 11.4 Memory Match Game Mechanics
      • 11.5 Game Examples
        • 11.5.1 Memory Match
      • 11.6 Game Recipe™ Featured Ingredients
      • 11.7 Starting Memory Match project
        • 11.7.1 Step 0: Review your competition and game demonstrations:
        • 11.7.2 Step 1. Create your “front-door” index file.
      • 11.8 Memory Match (Pairs) Core Game Phases
        • 11.8.1 Step 2. Create Your Standard Game Shell Phases.
        • 11.8.2 Main.js
        • 11.8.3 Boot.js
        • 11.8.4 Preload.js
        • 11.8.5 Splash.js or Language.js
        • 11.8.6 Menu.js
        • 11.8.7 Play.js
      • 11.9 Memory Pairs Match game logic & supporting functions
      • 11.10 Memory Match (Sequence) game logic & supporting functions
        • 11.10.1 Main.js
        • 11.10.2 Boot.js
        • 11.10.3 PreLoad.js
        • 11.10.4 Credit.js
        • 11.10.5 Menu.js
      • 11.11 Memory Match sequence game logic & supporting functions
        • 11.11.1 Play.js — Overview
        • 11.11.2 Play.js – Lines 36 to 203 Create Function:
        • 11.11.3 Play.js – Lines 205 to 224 Update function
        • 11.11.4 Play.js – Lines 230 to 400 supporting Functions
        • 11.11.5 Play.js – Lines 240 to 243 deselectBox function
        • 11.11.6 Play.js – Lines 244 to 306 playBoxes function
        • 11.11.7 Play.js – Lines 307 to 324 restart function
        • 11.11.8 Play.js – Lines 325 to 360 selectBoxes function
        • 11.11.9 Play.js – Lines 361 to 382 startCountDown function
      • 11.12 Conclusion
    • 12 Music & Rhythm Games Mechanics
      • 12.1 Overview
      • 12.2 Our Goal
      • 12.3 Game Mechanics
      • 12.4 Game Examples
      • 12.5 Game Recipe™ Featured Ingredients
      • 12.6 Starting a Music & Rhythm Game Project
        • 12.6.1 step 0: Review Game demonstrations
        • 12.6.2 step 1: Create your “front-door”
      • 12.7 Music & Rhythm — Core Game Phases
        • 12.7.1 Step 2. Create Your Standard Game Shell Phases.
        • 12.7.2 Main.js
        • 12.7.3 Boot.js
        • 12.7.4 Preload.js
        • 12.7.5 Splash.js or Language.js
        • 12.7.6 Menu.js
      • 12.8 Play.js - Overview
      • 12.9 Phaser Essential Functions
        • 12.9.1 Play.js — Management variables — Lines 1 to 80
        • 12.9.2 Play.js — preload — Lines 91 to 95
        • 12.9.3 Play.js — create — Lines 96 to 454
        • 12.9.4 Play.js — Internal Supporting Functions
      • 12.10 Optional v2 Code Design — External Functions
        • 12.10.1 Game Mechanisms as Functions
    • 13 Puzzle Game Mechanics
      • 13.1 References From:
      • 13.2 Overview
      • 13.3 Our Goal
      • 13.4 Game Mechanics
        • 13.4.1 Background History
      • 13.5 Game Examples
      • 13.6 Current Demand for Puzzle Games
      • 13.7 Game Recipe™ Featured Ingredients
      • 13.8 Starting a Puzzle project
        • 13.8.1 Step 0: Review demonstration games:
        • 13.8.2 Step 1. Create your “front-door” index file.
      • 13.9 Jigsaw & Slider Puzzle — Core Game Phases
        • 13.9.1 step 2. Create your standard game scenes.
        • 13.9.2 Main.js
        • 13.9.3 Boot.js
        • 13.9.4 Preload.js
        • 13.9.5 Splash.js or Language.js
        • 13.9.6 Menu.js
        • 13.9.7 Play.js
      • 13.10 Slider Puzzle Mechanics & supporting functions
        • 13.10.1 Step 3. Create your core game logic & supporting functions.
        • 13.10.2 Slider Puzzle Code Review:
      • 13.11 Jigsaw Puzzle Mechanics & supporting functions
        • 13.11.1 Step 3. Create your core game logic & supporting functions.
      • 13.12 Jigsaw Game Components
        • 13.12.1 Creating Image Shards
        • 13.12.2 Cropping the pieces
        • 13.12.3 Bezier Curves
      • 13.13 New Jigsaw Design Consideration
      • 13.14 Jigsaw Puzzle Code Review:
        • 13.14.1 Jigsaw Work-Horse: Puzzle.js
        • 13.14.2 Jigsaw Work-Horse: Puzzle_Piece.js
      • 13.15 Plugins
      • 13.16 Conclusion
    • 14 Trivia Quiz & Dating Games Mechanics
      • 14.1 References From:
      • 14.2 Overview
      • 14.3 Our Goal
      • 14.4 Game Mechanics
      • 14.5 Game Examples
      • 14.6 Game Recipe™ Featured Ingredients
      • 14.7 Starting a Quiz & Trivia Project
        • 14.7.1 Step 0: Review demonstration games:
        • 14.7.2 Step 1. Create your standard index file.
      • 14.8 Quizzing Core Game Phases
        • 14.8.1 Step 2. Create Your Standard Game Shell Phases.
        • 14.8.2 Main.js (or Game.js)
        • 14.8.3 Boot.js
        • 14.8.4 Preload.js
        • 14.8.5 Splash.js or Language.js
        • 14.8.6 Menu.js
        • 14.8.7 Sample CMS Phaser page — Credits.js
        • 14.8.8 Play.js
      • 14.9 3 Quiz & Trivia games logic & supporting functions
      • 14.10 Game #1 — Mensa Mental Math™ — a math tutor game.
        • 14.10.1 Design Notes:
        • 14.10.2 Code Review:
        • 14.10.3 preload function – Lines 138 to 162
        • 14.10.4 create function – Lines 163 to 233
        • 14.10.5 update function – Lines 234 to 281
      • 14.11 Game #1 supporting Functions
        • 14.11.1 answeredQ function – Lines 282 to 299
        • 14.11.2 btnOver function – Lines 300 to 327
        • 14.11.3 checkAnswer function – Lines 330 to 351
        • 14.11.4 gameOver function – Lines 352 to 362
        • 14.11.5 nextQuestion function – Lines 363 to 395
      • 14.12 Game #2 — Tomfoolery Trivia Topics™ — a simple trivia game.
        • 14.12.1 Design Notes:
        • 14.12.2 Database Construction Tools
        • 14.12.3 Remote Question Pool Using AppML
        • 14.12.4 Building an AppML application
        • 14.12.5 Remote Question Pool Using JSON
        • 14.12.6 Creating various Languages
      • 14.13 Game #2 Code Review
        • 14.13.1 Init function — Lines 90 to 115
        • 14.13.2 preload function — Lines 116 to 120
        • 14.13.3 create function — Lines 121 to 193
        • 14.13.4 update function — Lines 194 to 241
      • 14.14 Game #2 supporting Functions
        • 14.14.1 answeredQ function — Lines 242 to 259
        • 14.14.2 btnOver function — Lines 260 to 287
        • 14.14.3 checkAnswer function — Lines 288 to 311
        • 14.14.4 gameOver function — Lines 312 to 318
        • 14.14.5 nextQuestion function – Lines 319 to 352
      • 14.15 Game #3 — Dating Veronica Darlene™ — a simple dating game.
        • 14.15.1 Design Notes:
        • 14.15.2 New conversation dialog format
        • 14.15.3 Conversation Dialog sequence
        • 14.15.4 Creating various Languages
        • 14.15.5 Game #3 updated question format
        • 14.15.6 Game #3 JSON format skeleton
        • 14.15.7 Game Pool Technology
        • 14.15.8 Art Resources
        • 14.15.9 Facial Expressions
      • 14.16 Game #3 Code Review
        • 14.16.1 Init function — Lines 100 to 254
        • 14.16.2 preload function — Lines 255 to 282
        • 14.16.3 create function — Lines 285 to 421
        • 14.16.4 update function — Lines 422 to 467
      • 14.17 Game #3 supporting Functions
        • 14.17.1 checkAnswer function — Lines 516 to 544
        • 14.17.2 clickContinue function — Lines 546 to 746
        • 14.17.3 gameOver function — Lines 749 to 753
        • 14.17.4 nextQuestion function — Lines 756 to 788
      • 14.18 Plugins
      • 14.19 Conclusion
    • 15 Role-Playing Game Mechanics (Draft)
      • 15.1 Our Goal
      • 15.2 Game Mechanics
      • 15.3 Game Components & Design Considerations
      • 15.4 Avatar’s Customized Creation
      • 15.5 Other Components
      • 15.6 Game Recipe™ Featured Ingredients
      • 15.7 Starting a RPG Game Project
        • 15.7.1 Step 0: Review your competition and game demonstrations:
        • 15.7.2 Game Examples
        • 15.7.3 Step 1: Create your “front-door”
      • 15.8 RPG — Core Game Phases
        • 15.8.1 Step 2. Create Your Standard “Game Shell” Phases.
      • 15.9 Step 3. Create your RPG Core Mechanics
        • 15.9.1 RPG Story “Chapter 1 of 3”
        • 15.9.2 Demo.js — Stage 1 Development
      • 15.10 Play.js — Stage 2 Overview
        • 15.10.1 Environment Maps
        • 15.10.2 Deeper Dive: Hexagonal Grids
        • 15.10.3 Separation of Concerns (SoC)
        • 15.10.4 Rogue Prince Starting Position
        • 15.10.5 Deeper Dive: Callbacks & Events
      • 15.11 HUD Panels as Scenes
        • 15.11.1 The Game Settings & Options HUD
        • 15.11.2 “Rogue Prince” HUD Panel
        • 15.11.3 Settlements HUD Panel
        • 15.11.4 “Non-Player Character” (NPC) Garrison HUD Panel
        • 15.11.5 Quest & Adventure Records
        • 15.11.6 Privileged Access to Bonus Content
        • 15.11.7 Conflict Resolution System
      • 15.12 Selling RPG Comics
      • 15.13 Quest Editors
        • 15.13.1 Game Development Tools & Generators
      • 15.14 3D & 1st person games
        • 15.14.1 Deeper Dive: gITF™ Asset Generations
      • 15.15 Conclusion
    • 16 Strategy Game Mechanics
      • 16.1 Overview
      • 16.2 Core “Strategy” Game Construction
      • 16.3 The Goal
      • 16.4 Game Mechanics
        • 16.4.1 Historical background
        • 16.4.2 Strategy Game Characteristics
        • 16.4.3 Types of Strategy Games
        • 16.4.4 Game Mechanics (GM): Logic & Rules
        • 16.4.5 Game Mechanics (GM): Data Structures
      • 16.5 Design Considerations
        • 16.5.1 Deeper Dive: Putting Stories in the Wrong Place
        • 16.5.2 Pre-Battle Preparations
        • 16.5.3 Terrain and Unit Symbols
        • 16.5.4 Battle Narratives
        • 16.5.5 Deeper Dive: Multi-Player versions
        • 16.5.6 Following the herd? - Using expected “Convention”
      • 16.6 Game Examples
      • 16.7 Game Recipe™ Featured Ingredients
      • 16.8 Starting a Strategy Game Project
        • 16.8.1 Step 0: Review Game demonstrations
        • 16.8.2 Step 1: Create your “front-door”
      • 16.9 Strategy — Core Game Phases
      • 16.10 “p2a” Main.js: Stages 1 & 2 consolidated
      • 16.11 “p2a” Boot.js & Load.js: Stages 1 & 2 consolidated
        • 16.11.1 Cross-Origin Requests
      • 16.12 “p2a” story.js: Stages 1 & 2 consolidated
      • 16.13 “p2a” menu.js: Stages 1 & 2 consolidated
      • 16.14 “p2a” demo.js: Tutorial Game
        • 16.14.1 “p2a” demo.js Overview
      • 16.15 “p2a Battle Plans” with sprinkles
        • 16.15.1 “p2a” play.js Overview
        • 16.15.2 “p2a” play.js Battle Plan UI
        • 16.15.3 “p2a” play.js Drop Zones
        • 16.15.4 “p2a” play.js “btnOver” function
        • 16.15.5 “p2a” play.js “doUnitDrop” function
        • 16.15.6 “p2a” play.js “doAssignReset” function
      • 16.16 “p2a Pre-Battle Intelligence” with sprinkles
      • 16.17 “p2a Conduct the Battle” with sprinkles
    • 17 Tower Defenses Mechanics
      • 17.1 Game Project Overview
      • 17.2 Our Goal
      • 17.3 Game Recipe™ Featured Ingredients
      • 17.4 Historical background
        • 17.4.1 Game Examples
      • 17.5 Game Mechanics (GM) - Logic & Rules
        • 17.5.1 Feature Recommendations
      • 17.6 Game Mechanics (GM) - Data Structure
        • 17.6.1 Game Framework Mechanisms Elements
      • 17.7 Game Recipe™ Featured Ingredients
      • 17.8 Design Considerations
        • 17.8.1 Gameboard Development
        • 17.8.2 Deeper Dive: Path Follower Resources
      • 17.9 TD Game Modes
      • 17.10 Conclusion: “What vs. How”
      • 17.11 Game #1: “p2a” prototype
      • 17.12 Initial Project files (Phaser v2.0.6):
      • 17.13 Step #1: Front Door Analysis
      • 17.14 “p2a” Game Mechanics (GM) Overview
        • 17.14.1 GM: main.js
      • 17.15 Step #2: Game Shell & Game Phases
        • 17.15.1 Boot.js Modifications
        • 17.15.2 Menu.js prototype (No Modifications)
      • 17.16 Step #3 Game Framework Mechanisms (GFM) Overview
      • 17.17 Step #4: Supporting Functions: Lines 217 to 557
        • 17.17.1 btnOut: Lines 226 to 257
        • 17.17.2 btnOver: Lines 259 to 310
        • 17.17.3 vpFSM: Lines 312 to 343
        • 17.17.4 doUpgradeReturn: Lines 344 TO 417
        • 17.17.5 doAssignReset: Lines 418 to 518
        • 17.17.6 doSelect: Lines 518 to 553
      • 17.18 Game #1 Stage 2: “Beta” Pre-release
      • 17.19 Conclusion
  • Part III - ActionScript (ES4) into JS
    • 18 Transpiling AS2 or AS3 into JS
      • 18.1 Introduction and official statements
      • 18.2 Flash Platform Basics
      • 18.3 HTML5 Platform Basics
      • 18.4 Difference between JS and AS
      • 18.5 Converting from Flash ActionScript to JavaScript
        • 18.5.1 Conversion Tools
      • 18.6 Why TypeScript? Phaser 4 coming!
    • 19 AS3 to JavaScript
      • 19.1 References:
      • 19.2 Language similarities
      • 19.3 Getting Started
      • 19.4 Tools
      • 19.5 Conversion Practicum
    • 20 AS2 to JavaScript
      • 20.1 References:
    • 21 322+ AS Games Available for Conversion!
      • 21.1 Reference:
      • 21.2 Some important notes:
      • 21.3 Questions and Answers
        • 21.3.1 AS2
        • 21.3.2 AS3
      • 21.4 Flash Game University — 36+ games!
      • 21.5 About GameScene
      • 21.6 MacroMedia 150+ Flash Game Collection
      • 21.7 Stephen Gose Game Studio (SGGS) - 127+ more!
      • 21.8 1,746+ Games from the “Internet Arcade”
  • Part IV - MMOG (Excerpt)
    • 22 Hot-seat MMoG?
      • 22.1 Network Foundation Inventory
      • 22.2 Deeper Dive: Testing MMoGs Locally??
      • 22.3 Hot-seat MMoG Demos
    • 23 2-Player Remote Games
      • 23.1 MMoG engine Criteria:
    • 24 Massive Multi-Player Games
      • 24.1 MMoG Application Architecture
      • 24.2 Comparing Single- to Multi-Player Games
        • 24.2.1 Deeper Dive: Using Web Workers
        • 24.2.2 Deeper Dive: Await and Promises
      • 24.3 Differences in MMoG Games?
    • 25 MMoG Hosting Options
      • 25.1 Server-side Research
  • Simulations & “A.I.” Mechanics
    • 26 Foreign Exchange, Bit-Coin & Commodities Trading
      • 26.1 Reference and Excerpts From
      • 26.2 Overview
      • 26.3 Our Goal
      • 26.4 Simulation Mechanics
      • 26.5 Simulation Game Examples
      • 26.6 Simulation Charting
    • 27 “Vo4X Shepherd Shell”™
      • 27.1 “Vo4X Shepherd Shell”™ Construction
      • 27.2 Cashing In with Your Expert Advisor(s)
      • 27.3 EA Protection
      • 27.4 VoFX Collection
      • 27.5 Chapter Summary
  • Appendix
    • More Resources
      • JavaScript Garden
      • Additional Appendices
      • Other resources:
      • Selling your Game Assets
    • Appendix: Online Game Development
    • Appendix: Making WebXR Games!
    • Appendix: Phaser III Plugins
    • Appendix: “How to Start a WebSocket”
      • Testing Your Browser
      • WebSocket Protocol Handshake
        • Deeper Dive: WebSocket API
      • Sample Source Code: Client-side WebSocket
        • Step #1: Game index page
        • Step #2: Generate Event handlers
    • Appendix: OLOO - Safe JavaScript
      • Deeper Dive: JS Delegation (aka “Inheritance”?)
      • The old way
      • Objects Linking to Other Objects (OLOO)
      • Compare your code
      • Object.create
      • Exercise Lesson 9:
      • Game Singletons
      • Deeper Dive: Object Manipulation objects in ES5/6
      • Lesson Summary
      • Resource References:
  • Notes
  • Answers to Exercises
    •  
      • Appendix
        • Appendix: OLOO - Safe JavaScript

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub