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 Resources
- 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
- IThe Game Design System™
1Introduction
- 1.1Game Framework Perspectives
- 1.2Game Delivery Modes
- Game Mode - Single-Player Flowchart
- Game Mode - Multi-Player Flowchart
- 1.3Game Genres
- GG Interactive — Game Design Course
- Action games
- Adventure games
- Casino games
- Educational games
- Fighting games
- Platform games
- Puzzle games
- Racing games
- Rhythm / Music Game
- Role-Playing games (RPG)
- Shooter games
- Simulations
- Sports games
- Strategy games
- Tower Defense™ — USPTO awarded to COM2US
- 1.4Mind The Gap!
- 1.5Game Tools & Generators
- Overview
- Other Resources
- 1.6Standard Project Setup
- Standardized File Structure
- 1.7Game Recipe™
- Development:
- Design:
- Encoding:
- 1.8Creating Prototype Mechanisms — “4-step method”
- Standard Game Index Page (formal method)
- Mobile Apps: Game.js (aka Main.js)
- 1.9Game Shell and Logic Flow
- 1.10Network Cloud Impact
- Generic
- Generic Boot.js
- Excerpt “Phaser III Game Prototyping Workbook” Chapter 3 page 82.
- Generic Preload.js
- 1.11Gamer’s Local Activity
- Generic Splash.js or Language.js
- Generic Menu.js
- Sample CMS page — Credits.js
- Play.js
- Inside each Game Phase
- 1.12Plug-in Enhancements
- 1.13Reference Library
- IIPart II - Game Mechanics
2Action-Arcade Game Mechanics
- 2.1Our Goal
- 2.2Game Mechanics
- The Six Seven Laws Of “Attention”
- Historical background
- 2.3Game Examples
- Official Phaser v3.21+ Examples
- 2.4Game Recipe™ Featured Ingredients
- 2.5Starting an Action-Arcade Game Project
- Step 0: Review Game demonstrations
- Step 1: Create your “front-door”
- 2.6Action-Arcade — Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- 2.7Action-Arcade Core Mechanics
- 2.8Design Considerations
- Gameboard Development
- Right- or Left-handed?
- Cursor Keys: Timing vs. Movement
- 2.9Rhythm Game Logic & Supporting Functions
- Play.js
- 2.10Rhythm Core Game Mechanics
- Step 3. Create your core game logic & supporting functions.
- 2.11Stage 1 - Seek, Find, and Record
- 2.12Stage 2 - Phaser “v2 to v3” Conversion Guide
- Visual Changes
- Deeper Dive: Multi-Player version
- General Changes
- constants.js Conversion
- “hud.js” & “billboard.js” Conversions
- “banjostring.js” Conversions
- 2.13Game Design System™ (Stage 3)
- 2.14Conclusion
3Adventure & Maze Game Mechanics
- 3.1Our Goal
- 3.2Game Mechanics
- Historical background?
- Game Genre Components
- “13 Rogue Factors”
- 3.3Game Recipe & Starter Kit Features
- 3.4Starting the Adventures & Mazes for RPGs project
- Step 0: Review Game Demonstrations & Examples:
- Step 1. Create your standard index file.
- Step 2. Create Your Standard Game Shell Phases.
- Main.js
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- 3.5Adventures & Mazes Core Functions
- Story Plot Generation
- Story Generation Tools
- Deeper Dive: Putting Stories in the Wrong Place
- Seven Deadly Sins of strategy game design
- Labyrinth Generation Methods
- 2D Rooms — Fixed Generation
- Fixed Generation with dynamic content
- Pure Linear labyrinths
- Rules for Creating the Perfect Maze
- Depth-First Search (DFS)
- Open-path Worlds
- 3.6Selling Adventure Comics
- 3.73D & 1st person games
- 3.8Conclusion
4Collapsing Blocks games Mechanics
- 4.1Our Goal
- 4.2Game Mechanics
- Historical background
- Tile-matching video game
- Game Components
- 4.3Game Examples
- 4.4Game Recipe™ Featured Ingredients
- 4.5Starting the Collapsing Blocks project
- Step 0: Review your competition and game demonstrations:
- Step 1. Create your Standard “index” file.
- 4.6Collapsing Blocks Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- Main.js (or Game.js)
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- Play.js
- 4.7Collapsing Blocks Game Mechanics Component
- Step 3. Create your core game logic & supporting functions.
- 4.8Game Set-up Options — Lines 555 to 643
- “flood fill” Example
- 4.9Game Mechanisms Component - “playGame” Class
- PlayGame.constructor – Lines 74 to 76
- “Preload” Essential Functions – Lines 80 to 87
- “Create” Essential Functions – Lines 89 to 136
- PlayGame.drawGameBoard – Lines 141 to 156
- PlayGame.tileSelect – Lines 158 to 190
- PlayGame.makeTilesFall – Lines 192 to 248
- PlayGame.makeTilesSlide – Lines 250 to 276
- PlayGame.endOfMove – Lines 277 to 304
- 4.10Collapsing Blocks Game Mechanics Component
- 4.11Conclusion
5“Connect-4” & “Go” Game Mechanics
- 5.1Our Goal
- 5.2Game Mechanics
- 5.3Using “AI Design”
- 5.4Historical background
- 5.5Game Examples
- 5.6Game Recipe™ Featured Ingredients
- Game Genre Commercial Components
- Rule Variations
- 5.7Starting a Connect-4 AI Project
- Step 0: Review Game demonstrations
- Step 1: Create your “front-door”
- 5.8Connect-4 AI — Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- Main.js (or Game.js)
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- 5.9Design Considerations
- Gameboard Development
- Game Disc-Tokens
- 2-player or “AI-bot”
- 5.10Connect-4 Game Logic & Supporting Functions
- Play.js
- 5.11Connect-4+ Core Game Mechanics
- Step 3. Create your core game logic & supporting functions
- Play.js Deconstruction Plan
- 5.12Stage 1 - Seek, Find & Record
Play.js- Lines 1 to 33Play.js- Lines 34 to 136Play.selectCol()- Lines 137 to 221- HUD Mouse functions
- Validate “4-in-a-row” Winning Conditions
- Declaring a Winner
- 5.13Anticipation of Change in Play.js
- Other problems for your bespoke solution?
- 5.14Doing the AI-thing!
- Sample Resources
- Deeper Dive: A.I. in Connect4 & Go
- Stage 2: Conversion into Phaser III
- 5.15Conclusion
6Dress-Up & Fashion Game Mechanics
- 6.1Our Goal
- 6.2Game Mechanics
- 6.3Game Logic and Construction Considerations
- Step #1 Find an avatar(s).
- Step #2 Create the wardrobe
- Step #3 Messy or tidy?
- Step #4 Layout Arrangement
- Step #5 Asset Download Considerations
- 6.4Game Examples
- 6.5Current Demand for Dress-UP games
- 6.6Game Recipe Starter Kit Features
- 6.7Starting the Dress-Up project
- Step 0: you can review several games in these demonstrations:
- Step 1. Create your standard index file.
- 6.8Dress-UP Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- Main.js
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- 6.9Play.js — Overview
- 6.10Dog.js – a gentle introduction to standard Dress-UP games
- 6.11Dog.js Preload function – Lines 105 to 163
- 6.12Dog.js Create function – Lines 164 to 228
- 6.13Mark.js – adding clothes and toggles
- 6.14Miyoko.js – adding data structures and spriteSheets management
- 6.15Managing Hair and “Split-ends”
- 6.16What’s a Girl to Wear? Clothes management
- 6.17Zoe.js – the full Monty
- 6.18Common Menu HUD
- 6.19Printing
- 6.20Saving
- 6.21Camera Snap-shots
- 6.22Conclusion
7Hidden Objects Game Mechanics
- 7.1Our Goal
- 7.2Game Mechanics
- Historical background
- General Construction Advice?
- Deeper Dive: Replayability
- Opinion: Expanding The “Replay Value” Of games
- 7.3Game Examples
- 7.4Game Recipe™ Featured Ingredients
- 7.5Starting a “Hidden Objects” Project
- Step 0: Review your competition and game demonstrations:
- Step 1: Create your “front-door”
- 7.6Hidden Objects Core Game Phases
- Step 2: Create your standard game shell scenes
- Main.js (or Game.js)
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- Play.js
- 7.7Creation Methods for Hidden Objects games
- Step 3. Create your core game logic & supporting functions
- 7.8Method #1: HTML5 Conversion into Phaser Framework.
- Step 1: Project Preparation
- Step 2: Project Refactoring
- Step 3: Project Plan
- Deeper Dive: Better Location Selections
- Deeper Dive: Making Phaser III Graphics “clickable”
- 7.9Method #2: ActionScript into Phaser Framework.
- D.R.Y. Speed Limit - 5 GPH (games Per Hour)!
- Cashing In with Hidden Object games
- 7.10Method #3: Winx Quests.
- Winx Quests Concert Disaster Deployment
- Product History:
- Market Saturation: (as of 20150501)
- Flash Demo
- Game Features:
- 7.11Method #4 (for Adults): “Find My Flaws”
- Flash Demos
- Microsoft Office to the Rescue!
- 7.12Method #5 - “Find the Difference” Construction
- why not do what others are doing?
- Step 1: Project Preparation
- Deeper Dive: Project Preparations
- Step 2: Create your standard game shell scenes
- Step 3: Project Plan & flowchart
- Phaser Resources
- 7.13Conclusion
8“Jump to Capture” games Mechanics
- 8.1The Goal
- 8.2Game Mechanics
- 8.3Game Logic and Rules
- 8.4Game Data Structure
- 8.5Game Examples
- 8.6Game Recipe™ Featured Ingredients
- 8.7Starting the Jump-to-Capture project
- Step 0: Review a Jump-To-Capture games
- Step 1. Create your standard index file.
- 8.8Peg Solitaire Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- Main.js
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- 8.9Peg Solitaire game logic & Supporting functions
- Play.js
- Game Logic Overview
- Game Data structures — Lines 57 to 60
- hole Selected — Lines 418 to 425
- peg Selected — Lines 428 to 435
- validateMove — Lines 512 to 771 (hand-craft FSM)
- 8.10Bonus Content
- Multi-player Variations
- Three Musketeers game board
- Hnefatafl game board
- Blue & Gray – US Civil War Jump-to-Capture
- Single-player Variations
- 8.11Conclusion
9MahJong Game Mechanics
- 9.1Our Goal
- 9.2MahJong Game Mechanics
- MahJong Rule Variations
- “52 Card Pick-up”
- 9.3Historical background
- 9.4MahJong - “Matching Open Pairs”
- General Game Procedures
- 9.5Game Recipe™ Featured Ingredients
- 9.6Starting a MahJong Game Project
- Step 0: Review Game demonstrations
- Game Examples
- Step 1: Create your “front-door”
- 9.7MahJong — Core Game Phases
- step 2: Create your standard game shell
- Booting and Loading
- Main.js
- Defining Tile Metadata
- 9.8MahJong Core Game Mechanics
- 9.9Step 3. Create game logic & supporting functions
- 9.10Play.js
- Shuffling & Randomized Deployment
- Creating Tiles
- Selecting Tiles
- Tile Selection & Validation
- 9.113D Layout Prototype
10Match-3 Game Mechanics
- 10.1Our Goal
- 10.2Game Mechanics
- 10.3Game Examples
- 10.4Game Recipe™ Featured Ingredients
- 10.5Starting the Match-3 Project
- Step 0: Review your competition and game demonstrations:
- Step 1. Create your standard index file.
- 10.6Match-3+ Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- Menu.js
- Play.js
- 10.7Match-3+ Core Mechanics
- Step 3. Create your core Game logic & supporting functions
- 10.8Game Set-up Options
- Phaser III Config and Game Settings - Lines 630 to 718:
- 10.9Game Mechanisms Component - “playGame” Class
- PlayGame.constructor – Lines 75 to 78
- “Preload” Essential Functions – Lines 79 to 152
- “Create” Essential Functions – Lines 95 to 151
- PlayGame.drawGameBoard – Lines 156 to 172
- PlayGame.tileSelect – Lines 173 to 204
- PlayGame.swapTiles – Lines 205 to 232
- PlayGame.handleMatches – Lines 234 to 287
- PlayGame.makeTilesFall – Lines 289 to 340
- PlayGame.endOfMove – Lines 342 to 362
- 10.10Match-3 Game Mechanics Component
- Arrange Board After Match – Lines 392 to 409
- Create and Manage the Gameboard data – Lines 419 to 463
- 10.11Match 3 (Placed) = Tic-tac-toe
- 10.12Match 4 (Placed) = “Connect-4”
- 10.13Match 5 (Placed) = “Go” or “Gomoku”
- 10.14Match 3+ by “Tracing a Line”
- 10.15Conclusion
11Memory Match Game Mechanics
- 11.1Game Project Overview
- History
- Variations on Memory Match games
- Deeper Dive: “Due Diligence in Gaming Research”
- Deeper Dive: Audio games
- Adding Sound to Your Phaser3 Game
- 11.2Our Goal
- 11.3Design Considerations
- Game Mechanics (GM) - Data Structure
- Game Mechanics (GM) - Logic, & Rules
- 11.4General Game Procedures
- 11.5Game Recipe™ Featured Ingredients
- 11.6Starting Memory Match project
- Step 0: Review your competition and game demonstrations:
- Step 1. Create your “front-door” index file.
- 11.7Memory Match (Pairs) Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- 11.8Game #1 “Hidden Pairs”
- Game #1 Description
- “Hidden Pairs” Rule Variations
- 11.9Game #1 Main.js Overview
- 11.10Game #1 Play.js — Overview
- 11.11Phaser Essential Functions
- “Play Phase” Variables — Lines 46 to 61
- Play.js —
preload— Lines 72 to 95 - Play.js —
create— Lines 95 to 315 - Play.js —
update— Lines 318 to 345 - 11.12Game #1 Game Mechanisms & Supporting Functions
- Deeper Dive: Phaser vs JavaScript Timers
- Play.js —
checkTilesLines 356 to 465 - Play.js —
decreaseTimerLines 469 to 490 - Play.js —
getRandomLines 491 to 501 - Play.js —
resetGTLines 502 to 535 - Play.js —
showTilesLines 536 to 605 - Play.js —
stopWatchTimer(optional) Lines 606 to 628 - Play.js —
Tiles(alternate) Lines 629 to 686 - 11.13Game #2 Memory Matching “in Sequence”
- Clones & Competitors
- Game #2 Sequence Logic
- Game #2 Game Description
- Simple Shaman™
- Design Consideration: “Separation of Concerns”
- Managing Player Input & Validation
- Managing Panel Displays
- Project Development Tools
- Deeper Dive: Experiments with Polygons
- Deeper Dive: Callbacks & Events
- “Callbacks and Events”
- Deeper Dive: Making Phaser v3.16+ Graphics “clickable”
- Deeper Dive: WebGL Foundations
- Summary: Design Option #1 graphics
- 11.14Game #2 Menu.js Overview - animated “
.GIF” - “How to reuse game.anims animations?”
- 11.15Game #2 Main.js Overview
- Game Security
- Revealing too much, too soon!
- 11.16Game #2 Play.js Overview
- 11.17Game #2 Phaser Essential Functions
- Play.js —
preload— Lines 105 to 137 - Play.js —
create— 138 to 368 - Innovation Experiment — Panel Animations
- Play.js —
update— Lines 371 to 414 - 11.18Game #2 Mechanisms & Supporting Functions
- Play.js —
getRandomLines 423 to 431 - Play.js —
gIntroLines 432 to 453 - Play.js —
moveOffLines 454 to 460 - Play.js — Optional
playerSequenceLines 461 to 503 - Play.js —
releasedLines 504 to 546 - Play.js —
restartLines 547 to 561 - Play.js —
selectedLines 562 to 572 - Play.js —
setUpLines 573 to 592 - Play.js —
simonSequenceLines 593 to 618 - 11.19Game #2 Conclusion
- 11.20Conclusion
12Music & Audio Mechanics
- 12.1Game Project Overview
- 12.2Our Goal
- 12.3Game Description
- Mozart’s Music Match™ Suite - “Elevator Speech”
- 12.4Game Recipe™ Featured Ingredients
- 12.5Audio Construction Tools
- Composing Game Music Themes
- Creating “Audio Sprites”
- 12.6Design Considerations
- 12.7Game Mechanics
- The Theory of Multiple Intelligence
- Game Mechanics (GM): Logic & Rules
- Game Mechanics (GM): Data Structures
- Deeper Dive: Tuning Our Game to Musical Theory
- “Coda”: What did we learn?
- 12.8Optional Audio Design — “Pure JS” tone generation
- 12.9Technical Considerations
- Deeper Dive: Web Audio management
- Deeper Dive: Not Everyone Hears Alike!
- Deeper Dive: Using HTML5
.oggformats - 12.10Music & Rhythm — Core Game Phases
- Step 2: Create your standard game shell
- Main.js
- Boot.js
- 12.11Step 3. Create game logic & supporting functions
- Play.js - Overview
- Phaser Essential Functions
- Play.js — Management variables — Lines 1 to 77
- Play.js — preload — Lines 88 to 94
- Play.js — create — Lines 94 to 450
- “Callbacks and Events”
- 12.12Optional Code Design — Functions
- Game Mechanisms as Functions
13Puzzle Game Mechanics
- 13.1References From:
- 13.2Our Goal
- 13.3Game Mechanics
- Deeper Dive: Constructing Unique Jigsaws!
- Background History
- 13.4Game Examples
- 13.5Current Demand for Puzzle games
- 13.6Game Recipe™ Featured Ingredients
- 13.7Starting a Puzzle project
- Step 0: Review demonstration games:
- Step 1. Create your “front-door” index file.
- 13.8Jigsaw & Slider Puzzle - Core Game Phases
- Step 2. Create Your Standard Game Shell Phases.
- Splash.js or Language.js
- Menu.js
- Play.js
- 13.9Slider Puzzle: Stage 1 - “Seek, Find & Record”
- Slider Puzzle Code Review:
- 13.10Deeper Dive: Design Considerations
- 13.11Slider Puzzle - Core Mechanics
- 13.12Slider Puzzle Mechanisms & Supporting Functions
- Step 3. Create your core game logic & supporting functions.
- 13.13Stage 2 - Phaser “v2 to v3” Conversion Guide
- Transition Overview
- Game Mechanics Component —
SliderPuzzle - Game Mechanisms Component —
SliderPuzzle.prototype - Lines 508 to 575 —
checkPiece - Lines 480 to 507 —
getPiece - Lines 634 to 669 —
nextRound - Lines 363 to 418 —
shufflepzGrp - Lines 576 to 590 —
slidePiece - Lines 502 to 507 —
startPlay - Lines 175 to 363 —
startPuzzle - Lines 48 to 51 —
swopPiece - Lines 595 to 633 —
tweenOver - 13.14Jigsaw Puzzle - Core Mechanics
- New Approach to Jigsaw Puzzles
- 13.15Deeper Dive: Phaser III Cameras
- 13.16Deeper Dive: Camera Masking
setMask(mask [, fixedPosition])- 13.17Development Considerations
- The Technical Design Approach
- Features Offered
- Deeper Dive: “Drag ‘n’ Drop” Zones
- 13.18“1st Draft” Issues Addressed
- JigSaw Metadata Structure
- Grid Creation
- Dynamically Sized Puzzle Pieces
- JigSaw Randomization
- JigSaw Input Selection
- “
getScroll(x, y [, out])“ - Summary
- 13.19New Approach to 15-Slider Puzzles
- 13.20Conclusion
14Quiz Trivia & Dating Game Mechanics
- 14.1The Goal
- 14.2Game Mechanics
- 14.3Game Examples
- 14.4Game Recipes™: Starter Kit Features
- 14.5Starting a Quiz & Trivia Project
- Step 0: Review demonstration games:
- Step 1. Create your standard index file.
- Step 2. Create Your Standard Game Shell Phases.
- Main.js (or Game.js)
- Boot.js
- Preload.js
- Splash.js or Language.js
- Menu.js
- Sample CMS Phaser page — Credits.js
- Play.js
- 14.63 Trivia Quiz & Dating games logic & Supporting functions
- 14.7Game #1 — Mensa Mental Math™ — a math tutor game.
- Design Notes:
- Game Project #1 Code Review:
- 14.8playGame
- playGame Initialized – Lines 136 to 144
- preload function – Lines 145 to 156
- create function – Lines 159 to 245
- update function – Lines 247 to 306
- 14.9Game #1 Supporting Functions
answeredQfunction – Lines 318 to 324btnOverfunction – Lines 326 to 352checkAnswerfunction – Lines 353 to 376gameOverfunction – Lines 379 to 387nextQuestionfunction – Lines 388 to 447- 14.10Game #1 Score storage - Lines 449 to 451
- 14.11Game Project #2 — Tomfoolery Trivia Topics™
- Design Notes:
- Database Construction Tools
- Remote Question Pool Using AppML
- Building an AppML application
- Remote Question Pool Using JSON
- Creating various Languages
- 14.12Game #2 Code Review - main.js
- 14.13Game #2 Code Review - boot.js
- 14.14Game #2 Code Review - load.js
- 14.15Game #2 Code Review - language.js
- 14.16Game #2 Code Review - menu.js
- 14.17Game #2 Code Review - exitGame.js
- 14.18Game #2 Code Review - play.js
- init function — Lines 97 to 125
- create function — Lines 135 to 217
- update function — Lines 219 to 277
- 14.19Game #2 Supporting Functions
- checkAnswer function — Lines 288 to 311
- gameOver function — Lines 312 to 318
- nextQuestion function – Lines 319 to 352
- 14.20Game Project #3 — Dating Veronica Darlene™
- Design Notes:
- New conversation dialog format
- Conversation Dialog Sequence
- Creating various Languages
- Game #3 updated question format
- Game #3 JSON format Skeleton
- Game Pool Technology
- Art Resources
- Facial Expressions
- Game #3 Code Review
- Init function — Lines 100 to 254
- preload function — Lines 255 to 282
- create function — Lines 285 to 421
- update function — Lines 422 to 467
- 14.21Game #3 Supporting Functions
- checkAnswer function — Lines 516 to 544
- clickContinue function — Lines 546 to 746
- gameOver function — Lines 749 to 753
- nextQuestion function — Lines 756 to 788
- 14.22Plugins
- 14.23Conclusion
15Role-Playing Game Mechanics
- 15.1Our Goal
- 15.2Game Mechanics
- 15.3Game Components & Design Considerations
- 15.4Avatar’s Customized Creation
- 15.5Other Components
- 15.6Game Recipe™ Featured Ingredients
- 15.7Starting a RPG Game Project
- Step 0: Review your competition and game demonstrations:
- Game Examples
- Step 1: Create your “front-door”
- 15.8RPG — Core Game Phases
- Step 2. Create Your Standard “Game Shell” Phases.
- 15.9Step 3. Create your RPG Core Mechanics
- RPG Story “Chapter 1 of 3”
- Demo.js — Stage 1 Development
- 15.10Play.js — Stage 2 Overview
- Excerpt Phaser III Game Prototyping 6th Edition
- References from Mozilla Developers:
- Environment Maps
- Deeper Dive: Hexagonal Grids
- Red Blob games
- Separation of Concerns (SoC)
- Rogue Prince Starting Position
- Deeper Dive: Callbacks & Events
- “Callbacks and Events”
- 15.11HUD Panels as Scenes
- The Game Settings & Options HUD
- “Rogue Prince” HUD Panel
- Settlements HUD Panel
- “Non-Player Character” (NPC) Garrison HUD Panel
- Quest & Adventure Records
- Privileged Access to Bonus Content
- Conflict Resolution System
- 15.12Selling RPG Comics
- 15.13Quest Editors
- Game Development Tools & Generators
- 15.143D & 1st person games
- Deeper Dive: gITF™ Asset Generations
- 15.15Conclusion
16Strategy Game Mechanics
- 16.1Core “Strategy” Game Construction
- 16.2The Goal
- 16.3Game Mechanics
- Digital Strategy Games Are Broken!
- Historical background?
- Strategy Game Characteristics
- Advantages and Disadvantages of Decision Trees
- Disadvantages of decision trees:
- Types of Strategy Games
- Game Mechanics (GM): Logic & Rules
- Game Mechanics (GM): Data Structures
- 16.4Game Recipe™ Featured Ingredients
- 16.5Design Considerations
- Deeper Dive: Putting Stories in the Wrong Place
- Seven Deadly Sins of strategy game design
- Pre-Battle Preparations
- Terrain and Unit Symbols
- Historical Military Symbols Usage
- Battle Narratives
- Deeper Dive: Multi-Player versions
- Following the herd? - Using expected “Convention”
- 16.6Step 3: Create “Play.js”
- 16.7Step 4: Create Supporting functions.
- 16.8Inside each Game Phase
- 16.9Strategy Core Game Mechanics
- Main.js - Stage 1
- “Stage 1” Game Mechanics
- 16.10Strategy Core Game Framework Mechanisms
- Stage 1 Play.js - “Battle Plans”
- Finite State Machine (FSM) Summary:
- Stage 1 Play.js - “Pre-Battle Intelligence”
- Stage 1 Play.js - “Conduct the Battle”
- 16.11Stage 2 - Artwork Themes Substitutions
- 16.12Stage 2 - battlefield Terrain
17Tower Defense Mechanics
- 17.1Game Project Overview
- 17.2Our Goal
- 17.3Game Recipe™ Featured Ingredients
- 17.4Historical background
- Com2US listed on KOSDAQ
- 17.5Game Mechanics (GM) - Logic & Rules
- Feature Recommendations
- 17.6Game Mechanics (GM) - Data Structure
- Game Framework Mechanisms Elements
- Game Examples
- 17.7Design Considerations
- Gameboard Development
- Phaser PathFollowers
- Deeper Dive: Path Follower Resources
- 17.8TD Game Modes
- 17.9Conclusion: “What vs. How”
- 17.10Game #1 “p3a” prototype
- Initial Project files (Phaser v2.0.6):
- 17.11Step #1: Front Door Analysis
- Change Summary of the original files:
- 17.12“p3a” Game Mechanics (GM) Overview
- GM: main.js
- 17.13Step #2: Game Shell & Phases
- Boot.js Modifications
- Menu.js prototype (No Modifications)
- 17.14Step #3 Game Framework Mechanisms (GFM) Overview
- Play.js “create”: Lines 84 to 464
- Design Options
- Play.js “update”: Lines 465 to 472
- 17.15Step #4: Supporting Functions: Lines 475 to 725
doAssignReset: Lines 474 to 585doSelect: Lines 586 to 624doUpgradeReturn: Lines 625 TO 686vpFSM: Lines 687 to 720- 17.16Game #1 Stage 2: “Beta” Pre-release
- IIIPart III - Conversions into Phaser III
18Transpiling AS2 or AS3 into JS
- 18.1Introduction and official statements
- Differences between ActionScript and JavaScript
- 18.2Flash Platform Basics
- 18.3HTML5 Platform Basics
- Quote from Phaser Game Design Workbook
- 18.4Difference between JS and AS
- 18.5Converting from Flash ActionScript to JavaScript
- Conversion Tools
- 18.6why TypeScript? Phaser 4 coming!
- A language of its own vs. a JavaScript super-set
19AS3 to JavaScript
- 19.1References:
- 19.2Language similarities
- Richard Davey AS3 to Typescript
- 19.3Getting Started
- 19.4Tools
- 19.5Conversion Practicum
20AS2 to JavaScript
- 20.1References:
21322+ AS games Available for Conversion!
- 21.1Reference:
- 21.2Some important notes from Terry Paton:
- 21.3Questions and Answers from Terry Paton
- Terry Paton AS2 games
- Terry Paton AS3 games
- 21.4Flash Game University — 36+ games!
- 21.5About gamescene
- 21.6MacroMedia 150+ Flash Game Collection
- 21.7Stephen Gose Game Studio (SGGS) - 265+ more!
- 21.81,746+ games from the “Internet Arcade”
- IVSimulations & “A.I.” Mechanics
22Foreign Exchange, Bit-Coin & Commodities Trading
- 22.1Reference and Excerpts From
- 22.2Overview
- 22.3Our Goal
- 22.4Simulation Mechanics
- 22.5Simulation Game Examples
- 22.6Simulation Charting
23“Vo4X Shepherd Shell”™
- 23.1“Vo4X Shepherd Shell”™ Construction
- 23.2Cashing In with Your Expert Advisor(s)
- How to Earn from MQL5.community
- 23.3EA Protection
- 23.4VoFX Collection
- 23.5Chapter Summary
- VPart IV MMOG (Excerpt only)
24Hot-seat MMoG?
- 24.1Network Foundation Inventory
- 24.2Deeper Dive: Testing MMoGs Locally??
- 24.3Hot-seat MMoG Demos
252-Player Remote games
- 25.1MMoG engine Criteria:
26Massive Multi-Player games
- 26.1MMoG Application Architecture
- 26.2Comparing Single- to Multi-Player games
- Deeper Dive: Using Web Workers
- Deeper Dive: Await and Promises
- 26.3Differences in MMoG games?
- Web MVC - Web Application Programming
27MMoG Hosting Options
- 27.1Server-side Research
- VIWhat’s next?
- 27.2Game Distribution & Marketing
- “How to publish a game on the web??”
- Introduction: 8-Step Deployment Method.
- Shareably (SBLY) looking to rent your Phaser games
- 27.3Book Review Protocol
- 27.4Tell the world about your game!
- 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
- Test sites:
- WebSocket Protocol Handshake
- Deeper Dive: WebSocket API
- Sample Source Code: Client-side WebSocket
- Step #1: Game
indexpage - Step #2: Generate Event handlers
Appendix: Game Distribution
- “How to publish a game on the web??”
- Introduction: 8-Step Deployment Method.
- Distribution Preparation
- Development vs. Production
- Create A Game Pipeline
- Preparing for WebXR Deployment
- Does mobile gaming still need publishers?
Appendix: OLOO - Safe JavaScript
- JS Objects: “TL;DR”
- 15.2.2 Inside the body of a class definition
- Deeper Dive: JS Delegation (aka “Inheritance”?)
- The old way
- “Object Oriented JavaScript Pattern Comparison”
- ECMA-262 7th Edition / June 2016
- Objects Linking to Other Objects (OLOO)
- Compare your code
- Object.create
- Exercise Lesson 9:
- Exercise 1
- Game Singletons
- Deeper Dive: Object Manipulation objects in ES5/6
- Lesson Summary
- Resource References: