Making Memory Matching Browser Games
Making Memory Matching Browser Games
Creating "Concentration" Game Mechanics for Phaser.js Gaming Frameworks v3.x.x & v2.x.x
About the Book
5 General Game Licenses are included in this book - a savings of $300 if purchased separately!
Discover how to create online Memory Matching games using the methods in this single chapter from the Phaser Game Starter Kit Collection. When you finish these tutorials and bonus courses, you will have a production pipeline ready to create as many different "Memory Matching" games as your imagination can dream of!
This is a "mega-book" with 5 different types of Memory Matching and a MahJong game prototype. Two games were written in Phaser v3.16+ - an RPG Math Game for "pre-schoolers" and a New Age "Simple Shaman™". Two games were written in Phaser v2.x.x from the Mozart Music Match Suite - an audio "hidden pairs" memory game, and a "music motif" (sequence memory) game, and a "single-player" MahJong prototype game in both Phaser v2.x.x and v3.16+ APIs.
Included with your purchase, you'll also get EULAs, bonus content, download examples, and source code references on how to do every single thing in this game design workbook, so you can copy and paste any examples into your own productions and then modify those resources for your own purposes.
I would like to guide you in creating several styles of Memory Matching in Pairs - both hidden and open - and Sequence Memory game mechanics. We will use these game mechanics, mechanisms and the development methods discussed from the Phaser Game Prototypes. By the end of this workbook, you should have several fully functional Memory Matching game - not just a copy of my games, but your very own products using your own gaming assets. There is a supporting website where you can download the bonus content included with your workbook's purchase.
This comprehensive guide will teach you how to:
- Use the Phaser JS Gaming Framework as either v2.x.x or v3.16+.
- How to integrate "Memory Matching" game mechanics into other game genres such as educational, math, MahJong, and 2-Player or Artificial Intelligence bots!
- Deploy your game(s) as a "Progressive Web Application" or "Single Page Web Application" for any device.
- Analyze current business demand for this game's genre, how and where to deploy it and what others have done.
- Automatically generate various dynamic game boards.
If you have any feedback or suggestions please join our email listing or participate in the forum for this course!
Table of Contents
- Supporting website
About this Workbook
- Links and References
- Workbook Content
How to Read & Use this workbook:
- Viewing this eBook:
- 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
- Distribution Permission
Making HTML5 Games
1 Introduction to Game Design
- 1.1 Game Genre Defined
- 1.2 Game Tools & Generators
- 1.3 References From
2 Standard Project Setup
- 2.1 Standardized File Structure
- 2.2 Barebones Set-up
- 2.3 Web Server Required - Batteries not included!
3 Starting a Game Project
3.1 Step 0: Review your competition and their games
- Game Examples
- 3.2 Step 1: Create your “front-door”
3.3 Step 2. Create your “Game Shell” & Phases
- Network Impact
- Gamer’s Local Activity
3.4 Select a JS Format
- ES5 Format
- ES6+ Format as “FAT Arrow” Function
- ES6+ Format as “Phaser.Class”
- ES6+ Format as “Phaser.Scene”
- 3.1 Step 0: Review your competition and their games
- 1 Introduction to Game Design
Part II: Making “Memory” Browser Games
4 General Design Considerations
- 4.1 Game Mechanics (GM) - Data Structure
4.2 Game Mechanics (GM) - Logic, & Rules
- General Game Procedures
4.3 MahJong - “Matching Open Pairs”
- MahJong Rule Variations
- “52 Card Pick-up”
4.4 Memory Matching “Hidden Pairs”
- “Hidden Pairs” Rule Variations
4.5 Memory Matching “in Sequence”
- Clones & Competitors
- Sequence Logic
5 Memory Matching — Core Game Construction
- 5.1 Game Project Overview
- 5.2 Our Goal
- 5.3 “Mega-Chapter” - 5 Available Games
5.4 Memory Matching Genre Description
- Deeper Dive: “Due Diligence in Gaming Research”
- Deeper Dive: Audio Games
- 5.5 Game Recipe™ Featured Ingredients
- 5.6 Step 3a: Create “Play.js”
- 5.7 Step 3b: Create Supporting functions.
- 5.8 Conclusion
- 4 General Design Considerations
Part III: Code Review
6 MahJong — “Matching Open Pairs”
6.1 Simple MahJong Prototypes — Phaser v2 & III!
- Play Phaser III Demonstrations
- Play Phaser v2.x.x Demonstrations
- Download v2.x.x Project files
- Download Phaser III Project files
- 6.2 Booting & Loading (Phaser III stage 1)
6.3 Main.js (Phaser III stage 1)
- Defining Tile Metadata
6.4 Play.js (Phaser III stage 1)
- Shuffling & Randomized Deployment
- Creating Tiles
- Selecting Tiles (Phaser III stage 1)
- Tile Selection & Validation (Phaser III stage 1)
- 6.5 3D Layout Prototype (Phaser v2.x.x stage 1)
- 6.1 Simple MahJong Prototypes — Phaser v2 & III!
- 6 MahJong — “Matching Open Pairs”
Phaser v3.16+ Code Review
7 Game #1 - “Hidden Pairs”
- 7.1 Game Description
- 7.2 Main.js Overview
- 7.3 Play.js — Overview
7.4 Phaser Essential Functions
- “Play Phase” Variables — Lines 46 to 61
preload— Lines 72 to 95
create— Lines 95 to 315
update— Lines 318 to 345
7.5 Game Mechanisms & Supporting Functions
checkTilesLines 356 to 465
decreaseTimerLines 469 to 490
getRandomLines 491 to 501
resetGTLines 502 to 535
showTilesLines 536 to 605
stopWatchTimer(optional) Lines 606 to 628
Tiles(alternate) Lines 629 to 686
8 Game #2 - “Matching Sequence”
- 8.1 Game Description
8.2 Design Consideration: “Separation of Concerns”
- Managing Player Input & Validation
- Managing Panel Displays
- Project Development Tools
- Deeper Dive: Experiments with Polygons
- Deeper Dive: Callbacks & Events
- Deeper Dive: Making Phaser v3.16+ Graphics “clickable”
- Deeper Dive: WebGL Foundations
- Summary: Design Option #1 graphics
8.3 Menu.js Overview - animated “
8.4 Main.js Overview
- Game Security
- Revealing too much, too soon!
- 8.5 Play.js Overview
8.6 Phaser Essential Functions
preload— Lines 105 to 137
create— 138 to 368
- Innovation Experiment — Panel Animations
update— Lines 371 to 414
- Play.js —
8.7 Game Mechanisms & Supporting Functions
getRandomLines 423 to 431
gIntroLines 432 to 453
moveOffLines 454 to 460
Play.js — Optional
playerSequenceLines 461 to 503
releasedLines 504 to 546
restartLines 547 to 561
selectedLines 562 to 572
setUpLines 573 to 592
simonSequenceLines 593 to 618
- Play.js —
- 8.8 Game #2 Conclusion
- 7 Game #1 - “Hidden Pairs”
Phaser v2.x.x Code Review
9 Game #3 - “Hidden Pairs”
- 9.1 Play.js
10 Game #4 - Matching Sequence
10.1 Play.js — Overview
- Deeper Dive: Making Phaser v2.x.x Graphics “clickable”
- 10.2 Play.js – Lines 36 to 203 Create Function:
- 10.3 Play.js – Lines 205 to 224 Update function
- 10.4 Play.js – Lines 230 to 400
10.5 Play.js – Lines 384 to 396
10.6 Play.js – Lines 240 to 243
10.7 Play.js – Lines 244 to 306
- 10.8 Play.js – Lines 307 to 324 restart function
10.9 Play.js – Lines 325 to 360
10.10 Play.js – Lines 361 to 382
- 10.1 Play.js — Overview
- 9 Game #3 - “Hidden Pairs”
Auxiliary Business Functions
11 Game Shell - The CMS!
- 11.1 Generic
- 11.2 Generic Boot.js
- 11.3 Generic Preload.js
- 11.4 Generic Splash.js or Language.js
11.5 Generic Menu.js
- Sample CMS page — Credits.js
- Deeper Dive: Using JAMStack as an SSG …
- Deeper Dive: Static Site Generators (SSG)
- 11.6 Inside each Game Phase
- 12 Plug-in Enhancements
- 13 Conclusion
- 14 Bonus Development Content
- 11 Game Shell - The CMS!
14.1 Game Distribution & Marketing
- Introduction: 8-Step Deployment Method.
- 14.2 Book Review Protocol
- 14.3 Tell the world about your game!
- 14.1 Game Distribution & Marketing
- Additional Content Appendices
- Other resources:
- Selling your Game Assets
- Appendix: Making WebXR games!
- Appendix: Online Game Development
- 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
- Step #2: Generate Event handlers
- Step #1: Game
- Deeper Dive: JS Delegation (aka “Inheritance”?)
- The old way
- Objects Linking to Other Objects (OLOO)
- Compare your code
- Exercise Lesson 9:
- Game Singletons
- Deeper Dive: Object Manipulation objects in ES5/6
- Lesson Summary
- Resource References:
- More Resources
Answers to Exercises
Other books by this author
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.
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 $12 million USDwriting, 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