Skip to content

Snipzwolf/match-three-game

Repository files navigation

Match 3 Gem Game

A match 3 gem game written JavaScript (ES6) using phaser, webpack, and babel

You can use run_containers (requires linux with docker & tmux installed) to start up a dev enviroment with nginx running on 127.0.0.1:8080

Refactoring & Improvement Ideas

  • Combine GridElement and Gem classes together or rename them
    • There is some cross over between responsibilities in that the element class stores a static gem position for that element but the gem class is used to actually change the visual position of the gem which makes sense when considering it with the game framework (i.e. gems/sprites are moved and the elements are containers for the gems/sprites) but seems somewhat counter intuitive with no knowlege of the framework (i.e. shouldn't grid elements be moving around the grid not the gems?)
  • Use something like phaser signals, redux or even jquery events to help structure communicating state changes between classes instead of calling class methods directly
    • You couldn't for example reuse the grid classes which could be fairly generic in something else until the references to other classes are removed
  • Preventing gem matches during the game intialization seems fairly inefficient and could lead to long loops while finding a gem that doesn't match
    • Could just allow matches like some games do but seems lazy

Extra Gameplay Ideas

  • add controls to set width, height, and randomizer seed
  • add save to local storage
  • add bonus score / score multipliers
    • either when matching multiple gem groups or a combo system when matching the same colours continuously
  • decrement score on every non match move
  • pause functionality
  • decrease score as time passes
  • music and/or sounds

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages