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
-
-
Distribution Permission
- Supporting website
- Disclosures
- Disclaimer
-
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
-
Play.js —
preload
— Lines 72 to 95 -
Play.js —
create
— Lines 95 to 315 -
Play.js —
update
— Lines 318 to 345
-
7.5 Game Mechanisms & Supporting Functions
- Deeper Dive: Phaser vs JavaScript Timers
-
Play.js —
checkTiles
Lines 356 to 465 -
Play.js —
decreaseTimer
Lines 469 to 490 -
Play.js —
getRandom
Lines 491 to 501 -
Play.js —
resetGT
Lines 502 to 535 -
Play.js —
showTiles
Lines 536 to 605 -
Play.js —
stopWatchTimer
(optional) Lines 606 to 628 -
Play.js —
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 “
.GIF
” -
8.4 Main.js Overview
- Game Security
- Revealing too much, too soon!
- 8.5 Play.js Overview
-
8.6 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
-
Play.js —
-
8.7 Game Mechanisms & Supporting Functions
-
Play.js —
getRandom
Lines 423 to 431 -
Play.js —
gIntro
Lines 432 to 453 -
Play.js —
moveOff
Lines 454 to 460 -
Play.js — Optional
playerSequence
Lines 461 to 503 -
Play.js —
released
Lines 504 to 546 -
Play.js —
restart
Lines 547 to 561 -
Play.js —
selected
Lines 562 to 572 -
Play.js —
setUp
Lines 573 to 592 -
Play.js —
simonSequence
Lines 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
box
function -
10.6 Play.js – Lines 240 to 243
deselectBox
function -
10.7 Play.js – Lines 244 to 306
playBoxes
function - 10.8 Play.js – Lines 307 to 324 restart function
-
10.9 Play.js – Lines 325 to 360
selectBoxes
function -
10.10 Play.js – Lines 361 to 382
startCountDown
function
-
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!
-
What’s next?
-
-
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
-
-
Appendix
-
More Resources
- JavaScript Garden
- 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
index
page - Step #2: Generate Event handlers
-
Step #1: Game
-
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:
-
More Resources
- Notes
-
Answers to Exercises
-
-
Appendix
- Appendix: OLOO - Safe JavaScript
-
Appendix
-
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.
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...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book 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