Jewel Match Framework

Hi,

I’m an independent developer just starting out fresh. Hope to get support from elites and veterans here.

I’m here to post about my new and upcoming (as soon as the asset store approves it) project. It is a match 3 game with features similar to bejeweled and candy crush.

Hopefully this will be the discussion / bug report section for my project.

=================================================================

Known Bugs :-

None for now…

------------------------

Developed on Unity 4.6.1 f1
REQUIRES :- 2D Toolkit LeenTween

Current Version : JMF Basic - 3.0.6 (discontinued)
JMF Pro - v3.0.0

WebPlayer Demo :
http://goo.gl/lAKpUA - Basic
http://goo.gl/cofAhU - Pro ( with treasure drop feature portal panels )
Facebook :
Redirecting...
Asset Store link :
Jewel Match Framework - PRO | Systems | Unity Asset Store - JMF Pro
Jewel Match Framework - Basic | Templates | Unity Asset Store - JMF Basic
ScreenCast:
JMF Basic
Part 1 : http://goo.gl/SClDr4
Part 2 : http://goo.gl/kczpik
JMF Pro

JMF Pro code references

*Don’t forget to run browser as administrator (if needed)

IMPORTANT :
It is best to keep your own changelog; and when updating jewel match framework, ensure you replace everything (especially the scripts) or delete and import jewel match framework fresh again. Only then apply back your own customizations on top of the new update.
There are cases whereby users are experiencing old bugs in the new version which may already been resolved; this is because you did not update properly.

Release Notes / Changelog :-
-------------------------------
JMF Pro

v3.0.0

  • (New) Multi-Panel feature
  • with multi-panel auto-sort feature (API only)
  • (New) Sub-Panel feature

  • (New) Dynamic board re-position / re-size ability

  • (New) Pieces can ignore ‘pop-specials’ at the end

  • BoardLayout upgraded to accommodate Multi/sub panel feature

  • Major optimization & minor bugfixes of asset

  • pieces / panels / sub-panels now have shorter (and easier) API parameters
  • Improved Landslide code
  • Improved ‘Eliminate pre-start match’ code
  • No longer need to call “NotifyBoardHasChanged()”
  • WinningCondition ‘get-Types’ mode bugfix
  • Compatible with JMFP v2.x vanilla asset settings (except PanelsManager script-order)
  • BoardLayout may need to be re-adjusted per prefab requirement.

-------------------------------
JMF Basic

v3.0.6

  • make board layout inspector not draw board buttons during play

improves framerate during play-mode while GameManagerPanel is selected
does not affect actual game after exporting to desired platform

  • revert back base Unity support to Unity v4.2.2

v3.0.5

  • Minor bugfix concerning gravity and panel related

v3.0.4

  • upgrade to Unity 4.3 compatibility

  • IMPROVED - PieceTracker to tracker based on board relative size (was fixed size before this)

  • bugfixes :-

new special gems do not affect panels below it (e.g. shaded will not get hit)

fix Pop specials at end - was unable to pop some pieces due to panel restrictions. Now fixed

v3.0.3

  • HOTFIX : changed box padding to percentage based
  • padding is relative to box-size regardless of size defined.

**NOTE : images below are VERY DATED… a lot of kewl awesome features have been added since… do support thanks!!





Additional screenies~

Past Versions
====================

JMFP Pro

v2.1.5

  • new and better Manual Update method ~yey!~

  • Updated LeanTween APIs to be compatible to the new versions

  • Fixed PanelTracker bug when gm.size > 5

  • Fixed Appear-Mode z-scale.

  • Updated Master Prefab “JSF Template” to include two AudioSource ( Unity 5 compatibility issue )
    1 AudioSource for BGM
    1 AudioSource for SFX
    Isolated AudioListener to its own GameObject
    *** GameObjects located under “Anchor (LowerLeft)”

v2.1.4

  • Removed support for Unity 4.2.
    Current default at Unity 4.6 / backwards compatible to Unity 4.5.

  • Unity 5 compatible (accept and run the Unity Updater).

  • (new) Checkered board design support for square-boards.
    look for “Default Alt Square Back Board” in VisualManager.

  • Changed “LoadThisLevel” script to run based on scene name instead.

  • Fix Define errorLogs for JXF add-ons when upgrading to Unity5.

  • Fix minor swipe check sequence for special pieces. (GameManager level)

  • Added some free scripts in an online shared folder.
    (visit the Online code reference hyperlink for access to the shared folder).

v2.1.3

  • Added a new script to self Identify this asset.

Preparation for JXF Add-Ons
auto-adds a ‘JMFP’ global define

  • strengthen ‘SuggestPiece’ codes for null exceptions

v2.1.2

  • Revised Game Engine’s loading order to accomodate PoolManager5 loading order

was broken since v2.1.0 due to the Manual Start feature.

v2.1.1

  • Added eventDelegates to JMFRelay.cs as a default

Required to support future JXF Add-ons

  • Changed JMFRelay.cs onScoreIssue() function a bit to get x & y info

GameManager.cs function call changed to accomodate the new function

v2.1.0

  • Updated inspector properties of JMFP to support Unity 4.6.x

Will drop support for Unity 4.2.x once Unity 4.7.x / Unity 5.x is released

  • Improved the WinningCondition.cs script to behave more like commercial games:-

Retain dynamic mode selector (can mix-and-match modes!)
Added Win/Lose criteria selector on top of the dynamic mode
Supplementary built-in 3 star system based on score required
Added the manual-start boolean for this script to control…
End-game Specialize gem now prioritize normal pieces first

  • added a Manual-Start feature so the game does start instantly if you want to…

WinningConditions.cs script currently controls the manual-start option
Minor changes to GameManager.cs functions to accomodate the changes
Minor changes to Board.cs functions to accomodate the changes
Minor changes to JMFRelay.cs function to accomodate the changes
Please call “gm.startThisGame()” to start the game.
*** currently assigned to WinningConditions.cs ***

  • Changed BombPiece.cs to behave back to old JMFP v1 behavior for square boards

  • Added Spawn Weights to NormalPiece.cs script. You can now control the color frequency!
    P.S.> only for spawning during gameplay! for game-start weights, checkout BoardLayout!
    *** Please check the NormalPiece inspector in the PieceManager GameObject ***

  • Added BoardLayout game-start Weights controller Colored gems!

control the color gems weights when selecting ‘random’ color!

  • Removed GameManager.cs script’s elliminate pre-start-match function

A duplicate function exists in BoardLayout for color grouping
making the function in GameManager redundant

v2.0.4

  • fix demo scenes (Unity2D only)

v2.0.3

  • fix minor bugs (please refer to Manual Update folder for changes)
  • fix NoMoreMoves prefab (Unity2D only)

v2.0.2

  • Fixed PieceTracker bug. Previously does not work properly on mobile.

v2.0.1

  • JMFP 2d-Toolkit GameManager.cs script had a broken syntax
    → ‘JSFGravity’ should be just ‘Gravity’

v2.0.0

Upgraded entire JMFP game engine

  • (New) Hex game mode

  • (New) Appear mode for new pieces. ( might be pointless in JMF though )

  • (New) All boards have ‘neighouring board’ references for easy and precise access

  • (New) Piece/Panel onClick function in each custom piece/panel script.
    Calling function in JMFRelay also updated.

  • Suggested pieces tween coding now more fluid

  • Upgraded the ‘Audio Player’ script to be more efficient and simple to use!

  • Upgraded Landslide effect logic

  • Custom Pieces now have the option to trigger ‘landslide effect’

  • PieceTracker script now collider dependant (instead of specified distance)
    It is super accurate now!

  • other minor bugfixes…

JMF Basic

v3.0.2

  • improved scene visual grid to be more informative and helpful
  • includes scene drag handle for easy board value adjustment
  • tooltips display for users
  • added padding value and padding visualizer to easily judge desired looks
  • main contributor → “sebastian” aka ‘Tauz’
  • auto-scaling of ALL prefabs used as game piece to suit desired board size
  • Please keep in mind that animations are not auto adjusted. You will still need to adjust animations yourself.

v3.0.1

  • fixed board positioning bug when specials is made

  • added auto-add-support-scripts for custom piece prefabs ( so that you dont need too manually )

  • added “get number of pieces” game condition into “Winning COnditions”

  • Youtube explanation for v3.0.1 -
    https://www.youtube.com/watch?v=38MtEQ4m8po

v3.0.0

  • convert support from NGUI to 2D Toolkit
  • remove NGUI references and now hardcoded to 2D toolkit using several 2D toolkit features
  • Board Visualizer when not in play-mode. Contributed by ‘Tauz’

  • intro video to 2d toolkit + swap out default gems

v2.4.1

  • add support for NGUI v3.0.2 but also supports NGUI v.3.0.3 simultaneously
  • z-depth for non-NGUI minor bugfix (was in the wrong direction)

V2.4.0

WARNING : This version has major changesets. Please keep your old version as backup and reference
when porting over to this version.

NOTE : NGUI v3.0.3 → v3.0.3f has a UILabel error. Bug includes corruption in the text or text is missing.
It’s an NGUI issue; a quick-fix is available from me ->> http://goo.gl/n1OWkC

  • Upgrade compatibility to NGUI v3.0.3 (NOT Backwards compatible!)

  • Changed GameManager calculations from world-space to local-space.

  • With aboved changed, all scaling is therefore brought down to reasonable size again.
  • made compatible with NGUI pixel (dimensions) scaling.
  • camera size now reset to ‘1’. Previously @ a ridiculous ‘5’. (means all old scaling are 5x larger)
  • GameManager now scales the board via pixel size. (defined in the inspector)
  • replaced UIroot dependancy to ‘pixelSize’.
  • all NGUI sprites are scaled and positioned appropriately automatically so do not worry.
  • non NGUI sprites are sorted via Z-order. User still needs to scale their prefab accordingly.
  • Added accelerated gravity function for pieces to drop faster when the distance to travel is longer.

  • Modified “Winning Conditions” to include two new features :-

  • convert remaining time moves to specials
  • pop any remaining specials before game ends
  • additional placeholders in anims and sounds ( for panels)

  • revised how boardPanels are created.

  • shaded panels now have the default backPanel attached in case your shaded are translucent.
  • positioning of the panels are fixed in a single point.
    (previously it moves a few pixels away after each changes - I don’t know why…)

V2.3.0

JMF v2.3.0 video explanation
http://youtu.be/2cR9tJQ60Kc

  • Added score HUD display for matched tiles

  • Added feature in the “winning conditions” to explode all specials before game ends

  • Reduced the current “as-is” game draw calls down to only 3+1 ! (previously about 7+1);

  • 1 draw call for gems/panels
  • 1 draw call for the huge backdrop/background
  • 1 draw call for all the texts
    • 1 draw call whenever an animation is present. (shuriken particles)
  • Board Layout setup now has variable strength input

v2.2.0

  • Major code optimization debugging (especially GameManager)

  • Added minor Game Manager features :-

  • player can only move after the board settles
  • Variable timing delayed Gravity drop
  • Can adjust strength of special panels seperate from prefab array size
  • Added sound/music toggles for player in-game control

v2.1.4

  • Added simple sound music support

  • added a gravity drop after-effect (toggle on/off)

v2.0.3

  • “No More Moves” prefab adjusted correctly ( was broken since ngui v3.0 upgrade compatibility)

  • suggest piece function now includes special pieces too

  • gravity function revised for rare bug

  • added a new method to use in special merges.

  • revised default special merge codes

  • moved editor window from “Match Framework/Editor Window” to → “Window/Match Framework/Editor Window”
    (due to Unity request)

  • made the PieceTracker script added dynamically if users forgot/lazy to add it to the prefab

v2.02a

  • Bugfixes etc

v2.01a

Features :-
NEW in V 2.01a


  • Update compatibility to NGUI v3.0

  • Added an AnimCamera ( using Layer8 )
    (to specifically show particles on top of NGUI widgets)

  • added “eliminate pre-start matches” to GameManager script

NEW in V 2.0a


  • Landslide-type falling for blocked tiles

  • Special Tiles/Panels (e.g. Ice, Shaded, Rock)

  • GUI Board Layout - Control how you want your board to look

  • Easy to use “Winning Conditions” - Specify time / Max moves allowed / Clear Shaded / Max scores

  • Commented coding with summary tips at the top for Customisable scripts

  • Ready customisable scripts waiting for your changes.
    ( Powers script ) - controls how a power piece reacts when triggered
    ( SpecialMerge script ) - controls how two power piece reacts when merged
    ( MatchType script ) - controls how a power piece is created

UPDATED in V 2.0a


  • Fully Drag and Drop compatible script ( still need to delve into the script for advanced customisations)

  • Easily specify how many types of gems to use in a single game

  • Ability to turn any type power geming on/off

  • power gem characteristics ( similar to “Candy Crush”)
    mergeable “power gem” “power gem”
    up to match-6 gem pre-defined

  • Gravity function (up,down,left,right)

PREVIOUSLY from 1.0a


  • created based on NGUI for fast and lightweight gaming ( designed primarily for mobiles )

  • supports up to 9 possible different gems

  • board timers to control how fast things are moving

  • Next Move Hints for stuck players

This assets looks great, but I’m a newbie. Is there a video screencast or tutorial on how to use this? If not I think it will help a lot of newbies pull the trigger on this if you can show us how to create our own levels.

Great! Have you submitted to the Asset Store yet? Very interested?

Also I’m wondering how hard it will be for me to code up special weird pieces that can be like a bomb when they are tapped on?
I would also want to make the pieces above matched piece fall one row at a time, with a “delayed gravity”. Is that possible?

hi jay1davis,
it’s currently pending approval by unity asset store. i kept updating and bugfixing before the previous was approved thus the long delay. Hopefully the current version is approved soon.
as for screencast or video, none atm coz i’m not familiar with creating one. There is a ReadMe and a F.A.Q. section included though. I will try and make one soon hopefully.

You can use software such as Fraps to record the video of you working in Unity to demo things. Then record your voice-over after the fact and mix them together in a video program. That’s what I do.

hi jerotas,
it’s currently pending approval by unity asset store. i kept updating and bugfixing before the previous was approved thus the long delay. Hopefully the current version is approved soon.

in terms of difficulty in coding special weird pieces, i would say easy-moderate depending on how well you know scripting. I have personally isolated the powers special pieces creation into separate classes so that you can modify them without affecting the basic game-engine.

to tap on special pieces to explode, you will probably need to modify a script i attached to the gameObject prefab called PieceTracker.cs. from there you can customise it to trigger the game manager following the default code in it.

also, the current gravity speed is universal… unless you create a new overloaded method to accommodate a new gravity speed on top of the current universal speed. i believe it is easily customisable as i can think of ways to implement what you suggested straight of the top of my head

Cool. How is performance on mobile? I’m not planning on doing a Facebook game any time soon unfortunately.
Oh and the important question: what’s your initial price? I’ll likely buy this the day it’s released :slight_smile:

weird… my initial reply probably got flagged as spam coz too much replies within a few mins? =P


as i was saying, i tested on galaxy wonder (low-end phone) as well as galaxy s4… both phones playable just fine :slight_smile:

as for the price…
there’s an asset currently on the store similar to mine ( https://www.assetstore.unity3d.com/#/content/10117 ) …
i loved the work but it seems there is some bugs as well as features missing (which is why i decided to make my own)

so my price is currently $50… depending on respond or reviews, i will re-evaluate it’s worth.

it is live!!! finally!!! yey!

i’ll post a screencast asap!

part 1 of the screen cast is up.
hopefully you can get a good preview of it.

both screen cast is out… hopefully it will help you gain a better understanding of what you will be purchasing :slight_smile:

for the links, pls check the top post… OR
Screencast intro :
Part 1 : http://goo.gl/SClDr4
Part 2 : http://goo.gl/kczpik

hi!

really nice work but by the way i started using it for my projects, here is a littl bug that appear frequently when many blocks are distroyed.

This special bonus need some adjustments
1378352--69971--$BigBonus.jpg

Hi, thx for your interest in my asset!
I’ve notice this bug too recently and have a fix for that in the next version (2.0.3) which is not out yet and may take awhile since unity store reviewers are kinda slow.

in the mean time, perhaps i can give it to you direct. i’ll pm u the .unitypackage in a short while and you can test it again pls?

should be nice thanks
i noticed other thing you may already know

it’ll be nice if you can kindly list them down…then i may look into it if adjustments/fix are needed :slight_smile:

as for the rainbow gem. currently how it works is that there’s a 2 second delay between trigger and detonation. within that time frame, the star animation prefab is instantiated. and new gems may take the star’s place (thus u may notice gems falling into the star’s slot momentarily).
not really a bug but may be a bit annoying.

I’ve been digging around, but cannot seem to find where the audio effects connect to the object… so when i click, select, shift, and when the match is made… I watched the videos, and read the docs… maybe I’m just missing it. Or is this something “to come” or do I need to add this in myself?
thanks!

Hi arrested_games,
Sorry the asset does not actually come integrated with sound at the moment. Would figure others would have better sound choices and would like to implement how it sounds like for themselves.
Perhaps in the next release I would make a simple sound integration.

May I be so bold as to recommend you (arrested_games) take a look at our plugin Master Audio, currently on sale for 50% off ($30). It can handle all manner of simple and sophisticated sound and music tasks for you with usually zero code on your part. And it also comes with 31 Playmaker custom actions and a highly flexible triggered event sound script (also zero code for you to write).

I haven’t picked up the jewel match framework yet, but I intend to as soon as I get my game concept together.

I would totally pick up that audio plugin you have if I knew how to get it to connect to specific actions; I’m really just prototyping something to get to a real code person… the trouble with design :slight_smile: You get stuck trying to figure out something the dev folks should really be focusing on …