About
Match 3 Classic is a match 3 game, similar to Bejeweled, Candy Crush et al — but without all the social guff that keeps a player out of the game. The focus of this project was to have a player spend the majority of their time actually playing the match 3 game, and not in the menus moving around maps/ sharing lives/ etc.
This project was also a test, I used a game template as a base and I wanted to see how quickly I could update, customise and release a game. The game was finished in a weekend (Fri evening — Sun evening), with a bit of polishing and bug fixes throughout the following week. Start to finish, the project took just over a week, including development and setting up the various app stores, website and youtube video.
For more information regarding Match 3 Classic, please visit the dedicated website Enigma 23 Games — Match 3 Classic
Game Design
The game template I used came with just the match 3 mechanic, but required development to add game modes. Two game modes were added, Timed and Survival.
Timed mode gives the player 60 seconds to achieve a score as high as they possibly can, the faster they’re able to make matches the higher a score multiplier is rewarded.
Survival mode starts the player off with 60 seconds on the clock, and a target score to reach. Once the target is reached, additional time is rewarded and a higher target is given.
Both modes have an optional rewarded ad at game over, if the player chooses to watch an advert, they are rewarded with an additional 15 seconds of gameplay to improve their score.
Development/ Coding
For this project I started making the foundations of my own toolkit, creating utilities and plugins that will be useful to me for all projects. Two were created for this project, a level pairing loader and a UI menu manager.
The level pairing loader allows me to easily and quickly load multiple levels at once, and then do an interface call when the loading is complete. This new interface call gives me a third magic method to help with initialising classes — Awake(), Start() and now OnLevelPairingLoaded(). Having this additional method allows me to have a multiscene setup and easily make sure everything is loaded before cross scene searches are performed.
The UI menu manager allows me to quickly and easily assign canvases to a menu screen, select an animation (just a simple slide in from top/bottom/left/right) and speed. The menu manager will then call the desired screen and the state takes care of itself, allowing me to concentrate on other things and not spend much time on something simple.
Media
Unity Plugins
Match 3 Starter Project — this is the game template I used as a base to start the game from. Clean code, easy to understand and edit for my needs.
Easy Achievements and Leaderboards — I always like to add achievements and leaderboards in my games, using this plugin from Gley made it very easy to add and is a plugin I’d recommend to others developing for mobile.
Editor Console Pro — I use this console in all my projects, it makes the stack trace a lot easier to read and follow over the default console.