Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Jewel Match Framework

Discussion in 'Assets and Asset Store' started by kurayami88, Aug 30, 2013.

  1. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,
    Could you further explain your situation? I need more details tq
     
  2. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Hi Kurayami,
    I installed version 2.1.2 and made the changes to accomodate my code. I use this section of code in the beginning of GameOver:

    Code (CSharp):
    1. IEnumerator gameOver(){
    2.        
    3.         gm.audioScript.gameOverSoundFx.play(); // play the game over fx
    4.        
    5.         gm.canMove = false; // player not allowed to move anymore
    6.         gm.gameState = GameState.GameFinalizing; // game in finalizing mode...
    7.  
    8.         isGameOver = true; // game over, all routine loops will be disabled
    9.  
    10.         if (isWin) {
    11.                         Debug.Log ("showing bonus");
    12.                         // show bonus time text
    13.                         iTween.MoveTo (BonusTime, iTween.Hash ("x", 0, "y", 10, "time", 1, "easetype", "easeOutBack"));
    14.                         iTween.MoveTo (BonusTime, iTween.Hash ("delay", 2, "x", 0, "y", 24, "time", 1, "easetype", "easeOutSine"));
    15.                         iTween.MoveTo (Success, iTween.Hash ("delay", 1, "x", 0, "y", 0, "time", 1, "easetype", "easeOutBack"));
    16.                         iTween.ScaleFrom (Success, iTween.Hash ("delay", 1, "x", 5, "y", 5, "time", 2));
    17.                         iTween.MoveTo (Success, iTween.Hash ("delay",2,"x", 0, "y", 30, "time", 1, "easetype", "easeOutBack"));
    18.                 }
    19.  
    And noticed that the animation for my Bonus image was continually looping, hence why I inserted the debug.log to see how many times it was looping into IEnumerator GameOver and it was 9 times.

    So I made a new project with V2.1.2 and just ran the framework as you supplied it.
    Used the Types Scene and set it to win on Types, tried on Win on Types and Score and also on Types and Time, on each test it just reached the point when all Types collectedall , no GameOver Message either win or fail.

    So I have gone back to my previous version before your winningConditions update, which really only conflicts with my code anyway.

    All the types of game in your framework can have 4 options i.e Types collected or Types plus Score or Types plus Time or Types plus Score and Time.

    John
     
  3. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    1 comment about your code...your "isWin" segment is in the wrong place... in the new version, there is a new function called "validateWinLose()" ... put it there instead once a win/lose is decided...it's near the bottom of that function... look for the "if(playerWon)"

    Code (CSharp):
    1.  
    2. // game over message in the prefab
    3.         if(GameOverMessage != null){
    4.             Instantiate(GameOverMessage);
    5.             if(playerWon){ // player won...
    6.                 GameObject.Find("GameOverMsg").GetComponent<tk2dTextMesh>().text = starMsg;
    7.             } else { // player lost...
    8.                 GameObject.Find("GameOverMsg").GetComponent<tk2dTextMesh>().text =
    9.                     "~GAME OVER~\n" +
    10.                         "You failed to achieve\nthe required goals.";
    11.             }
    12.         }
    13.  

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

    and based on what you have described, I couldn't reproduce your error... attached is a screen shot of the demo scene of which a win/lose has been decided...
     

    Attached Files:

  4. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Hi Kurayami,

    The isWin is set based on my winning conditions and the type of game. The reason it is placed there is so that animation precedes the popspecials happens, which it will not do in validateWinLose().

    I cannot use your update, there are more conditions available than it allows for, it was better as it was before.

    I cannot get a win or fail with 2.1.2 with clean code, using 4.6.1 if that makes any difference.

    John
     
  5. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Sorry you are facing difficulties re-intergrating your custom modifications...
    since JMFPv2.1.x, there was a major overhaul in how WinningConditions worked... this was to accomodate the new win/lose feature (as compared to just a gameOver sequence from JMFPv2.0). *due to request from other ppl to make this feature*

    Since you have already implemented your own win/lose custom code, it would be redundant to use the new default that is currently given now...

    but there will be difficulties getting new features in the future =/
    I have already put in motion the required modification to accommodate a new feature for JMFP/JSF entitled JXF... I have already made a base feature for boosters/usable-items as a separate add-on package for those interested...

    also, the Relay.cs script has some extra codes in it to handle event delegates... this is in hopes to help future developers code in their own script as compared to modifying the default scripts directly

    ---------------------
    p.s.> you are more than capable to update every other parts of the engine and have it work with the old WinningConditions.cs script... after all, the WinningConditions.cs script is 99.9% independant of the engine.

    the only change you might want to add if you want to upgrade is to call the gm.startThisGame() call somewhere near the start of WinningConditions to accomodate for the new 'ManualStart' feature :)
     
  6. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Hi Kurayami,

    I will just modify V2.1.3 WinningConditions by cutting out the UpdateStaus and ValidatWinLose sections so the rest of the framework stays up to date, I already have implemented powers for purchased but only based on the current piece definitions.
    Will be interested to see your JXF addons, a good move I think, you deserve to seperate addons, the framework is more than worth the current cost.

    John
     
    kurayami88 likes this.
  7. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    ~Candy Alert~

    Boosters Demo... have fun playing with it while waiting for asset store approval :)
    https://db.tt/9721eWYP
     
  8. NeoUnity

    NeoUnity

    Joined:
    Sep 4, 2013
    Posts:
    156
    I can't wait any more :confused:
    Would i know JXF is what add-on? :rolleyes:
     
  9. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    at the present moment... just the Booster add-on for those who have yet to make their own booster pack for JMFP / JSF .... you can view the demo from the post above :)

    ---------------
     
  10. NeoUnity

    NeoUnity

    Joined:
    Sep 4, 2013
    Posts:
    156
    The demo is funny...
    Does JXF have only booster? Would i know your other update plan of JXF or other add-on?
     
  11. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Only the demo for JMFP works, not JSF.
     
  12. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    currently there is only a booster add-on... still a new concept... i havent made anything else yet... nor do i have any good plans for any add-ons atm...

    both should work... i tested it again and i found no error with the demo player...
     
  13. vandang998

    vandang998

    Joined:
    Jan 29, 2015
    Posts:
    5
    Hi!
    Great Framework. But seem the gems is drop slow and disjointed, less smooth.
    Can you show me how to fix it? More smooth like your Android version.
     
  14. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    there are several settings for you to play with in the GameManager inspector.... perhaps disabling the "Delayed Gravity" should make the pieces drop more like what you want... :)
     
  15. NeoUnity

    NeoUnity

    Joined:
    Sep 4, 2013
    Posts:
    156
    I can't wait JXF release any more.
    Would i know how it's price?
     
  16. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Thanks for your interest :D
    sorry it's taking so long.... i dont know what the asset store is doing =/
    its currently priced @ USD 5 ...
     
  17. vandang998

    vandang998

    Joined:
    Jan 29, 2015
    Posts:
    5
    Hi,
    I have just buy its. Great work!
    Help me how to change it to portrait mode and still support multi resolution.
    Thanks!
     
  18. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493

    potrait mode is easy... just re-arrange the GUI locations and you are basically done :)
    there was a short video about it (although it is old already.... and was initially meant for 2D toolkit; but the concept is 100% the same)


    as for multi-resolution... that is up to you to decide how you want your assets to load... either hi-res all the way or a smart switch between your low-res and hi-res GUIs...
    IF you meant multi-screen size support instead, the current anchor system already supports it so you dont have to worry about it :)

    Thanks~!
     
  19. vandang998

    vandang998

    Joined:
    Jan 29, 2015
    Posts:
    5
    Hi, I'm using unity2D not 2D Toolkit. Where to change 1280x800 to 800x1280?
    Please my attach image.
     

    Attached Files:

  20. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi, that is just for preview in 2D Toolkit... as well as to lock the perspective in place... it is not necessary...

    The Unity2D version is direct... instead, you can change the preview size of your play-scene in unity to judge how it would look like at that particular resolution :) ... but as i said earlier... you do not need to worry about it :)
     
  21. vandang998

    vandang998

    Joined:
    Jan 29, 2015
    Posts:
    5
    Thanks. I understand.
    But i want the board width alway fit the width of device. Can you help me?
    Now with 480x854 it fit but with 320x480 it not fit the width of device.
    Please my image! 320x480.png 480x854.png 320x480.png 480x854.png
     
  22. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    hmm... never really tried with Unity2D native so I didn't realize this problem....
    you would probably need a perspective lock like how 2D Toolkit does it.... OR, have a new script that will adjust the GameManager's size variable according to the resolution on the device...
     
  23. VectorNector

    VectorNector

    Joined:
    May 22, 2013
    Posts:
    62
    Yay! Boosters are available. I won't be sleeping for awhile. Can't to play with it tonight. Thank you!
     
    kurayami88 likes this.
  24. NeoUnity

    NeoUnity

    Joined:
    Sep 4, 2013
    Posts:
    156
    I have been testing on JXF add-on as building's notice.
    First, It works on 2dTK or Unity2D. I don't know very well about JXF.
    1. Demo Scene's TimeLeft&MoveLeft value is only zero not like Web's Demo(https://db.tt/9721eWYP)
    2. Error In JMFP(2dTK)
    - Unable to find any tk2dUICameras, and no cameras are connected to the tk2dUIManager. You will not be able to interact with the UI.
    UnityEngine.Debug:LogError(Object)
    tk2dUIManager:Start() (at Assets/TK2DROOT/tk2dUI/Code/Core/tk2dUIManager.cs:295)
     
    Last edited: Feb 1, 2015
  25. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Hi,

    The code in Booster.cs does not seem to give access to quantity and num available for each boost through code, so that the quantity can be got and set through IAP or even to save quanity and num available to roll over into the next scene. Setting num available through the inspector is no use at all.

    john
     
  26. msd1357

    msd1357

    Joined:
    Jul 7, 2014
    Posts:
    8
    Hello,
    Is there any free trial version of JMF so I can test it before planning to buy it?
    thanks..
     
  27. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Hi msd1357,

    No, there is not a trial version, but as a purchaser I can assure you, you will not be disappointed, it is arguabilly the best match three framework you will find here, very well documented source code and the developer is very quick to help out with any questions.

    John
     
  28. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    1) actual JXF booster demo scene not like the web player demo? will check but shouldn't be a problem :D

    2) the JXF add-ons is built on Unity2D ... u can't use the demo scene provided to run on your 2dtk version... instead, drag over the booster prefab to your 2dtk scene instead :)

    Hi john... thx for the feedback... yea... i didn't think about external access when coding it... *initially was thinking about protected access level to prevent other scripts from changing booster values* ... you (and i) could very well change the variable protection level from 'protected' to 'public'... that way you can access the variable quantity for IAP ... but we would also need to store the item reference somewhere so that your IAP can refer to it... something to ponder about... well... there's always a next version :D

    ** EDIT **
    to find the booster... it just occurred to me that you can use GameObject.find() .... but then again also, these boosters are made for scene to scene only.... you will be better off creating your playerController script to manage the IAP as well as the quantity available... then ask the individual Booster scripts to get/set the quantity available from your playerController during scene load :)

    btw thx for the reply and good feedback :D
     
    Last edited: Feb 2, 2015
    NeoUnity likes this.
  29. msd1357

    msd1357

    Joined:
    Jul 7, 2014
    Posts:
    8
    Hello kurayami,

    I need to buy JMF- PRO. But before that I have some questions:
    1. When I click buy button it displays two options:

    a. Candy Match 3 Complete Package by Cool Templates
    b. Jewel Match Framework - PRO by Kura Studios
    What exactly each of these contains? I guess the second one enough to developing a match 3 game.
    2. After buying it how long I could get support, hot fixes, and new releases?
    3. Is the package contains full documentation and any tutorial?
    In final I recommend you to develop a trial version so everyone could evaluate it. Maybe some people don’t buy your package because they
    couldn't really see that its features suitable for him/her and decide to buy it or no.
    Best regards…
     
  30. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,

    Thanks for your interest~

    1) i have no idea where you get your buy button from... Candy Match 3 Complete Package is not my asset and I have nothing to do with it. Both are "match-3 frameworks" but I believe Candy Match 3 is no longer being developed and was left in a bugged state.

    2) there isn't a time frame set on these things... I cannot guarantee you anything but I will help when I can :) ... if you like, you can read up the Asset Store EULA for more information about your rights and what you are buying when purchasing assets from the store.
    http://unity3d.com/legal/as_terms

    3) there is no "manual" to the asset... there are some guides and a lot of coded explanations in my script. You will definitely need to further customize / code your own game 'flavor' for your own game. If you are not good in coding but willing to learn coding, then like many others, have found this asset to be a good learning experience.
    IF you actually are looking for a quick 'grab-n-go' then sorry, this asset is not 'beautified' for commercial purposes.

    ------------
    There isn't much options to offer a trial version... at the moment i can't think of a good way to offer any trial version nor the point of offering a 'stunted' kit to show off the kit's functionality (defeats the purpose don't you think?). There is a demo webplayer you can play and make your decision on instead. It shows the possible power of the asset and what it could do ( or at least what has been offered )
     
    msd1357 likes this.
  31. shoni-wheeler

    shoni-wheeler

    Joined:
    Oct 25, 2014
    Posts:
    102
    Hi msd1357,

    If like me you are new to Unity, I have found out the hard way that when purchasing assets, look at the reviews for the particular asset, if their is no reviews then you risk being disappointed as many have been made and then left unsupported and usually out of date, if the cost is small then it may well be worth it.
    All the good assets you will find have not only reviews but will also give a link to a support page like this one, whereby you can see for your self how the developer is continually updating the asset and helping buyers to understand the code involved, most of the assets are done in C# and there is an abundance of examples of coding within the Unity Editor as it is different as used in Windows enviroment.
    I suggest you read this thread from the beginning and see for your self how this asset has been continually updated with new features and fixes from day one. There are similar ones to this but not one with this level of support.

    John
     
    msd1357, kurayami88 and NeoUnity like this.
  32. Elijarah

    Elijarah

    Joined:
    Jan 31, 2015
    Posts:
    4
    I just brought pro, but when i go to the manager it says under each script it can not load and to fix any compile errors...what am i doing wrong?
     
  33. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,

    Thanks for your interest in JMFP!
    please provide a more detailed explanation about your error. A screenshot would also be very useful thx~!
     
  34. Elijarah

    Elijarah

    Joined:
    Jan 31, 2015
    Posts:
    4
    Hi, thanks for such a quick reply. I imported the pro asset then opened the unity one not the 2dtoolkit one (i did try the other also) then opened the prefabs and dragged the one you say in your video into the hierarchy then clicked on the middle center and in the drop down selected the game manager. This screen shot is what i get:
     

    Attached Files:

  35. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,

    it seems that all the scripts are missing... or at least appear to be... is the demo scene working?
     
  36. Elijarah

    Elijarah

    Joined:
    Jan 31, 2015
    Posts:
    4
    Hi, no, when i click on the first scene (the one after the menu scene) and click play it does nothing.
     
  37. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    did these errors appear directly upon importing/extracting the asset... or after you modified / imported something else?

    perhaps you can try to create a brand new project and import ONLY Jewel Match Framework 1st....
     
  38. Elijarah

    Elijarah

    Joined:
    Jan 31, 2015
    Posts:
    4
    Hi again, Thanks so much for answering quick and helping me out here. I just imported just Jewel Match Framework and everything seems to be working, thanks :)
     
    kurayami88 likes this.
  39. pollyox16

    pollyox16

    Joined:
    Feb 7, 2014
    Posts:
    13
    Hello I want to buy this package. But first i need some information about it.

    1- how much bigger in memory will me project grow using it (for example just one scene using the random settings)?
    2- can i customize all the art?

    please I need to know this information i really want to buy it to add sort of a minigame to my project(for android and ios) thats why i need to know if its going to make it much bigger.

    Thank you.
     
  40. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,
    Thanks for your interest in my asset :)

    1) What do you mean by memory? If you mean in terms of app size instead, the actual engine itself is very small.. only a few MB at most (perhaps around 3-6mb excluding unity required stuff)... How big your actual app size will be highly depends on the GUIs you will be using as well as if you offer SD/HD resolutions etc...
    If you meant in terms of actual memory RAM usage... honestly speaking... the engine itself is as optimized as I can currently make it... CPU and RAM usage is so low (even during gameplay) that it even low end phones can use it well :).. the only thing that will kill your app development is how efficient you can lower your own GUI drawcalls to ensure the GFX output is within mobile friendly zone.
    actual CPU time usage is about 1m/s ... spiking during certain events... but average is 1 m/s
    RAM usage was about 20mb or so on the default vanilla kit (also mostly due to GUI being stored in the RAM)
    hopefully that answers your question...
    (users have reported it working well on ipad/iphone; & i can personally confirm it works well on low end android phones as well)

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

    2) you can customise the nearly EVERYTHING~! ... that is the main beauty of this asset... (only depends on how well you know scripting)... most (if not all) the event calls and references are already in place for you to utilize it. you can make your own custom Pieces and Panels Easily via a provided template if you are good at some scripting... you can customize the starting board however you like.... change the GUIs to anything you want ranging from 2D arts... animation sprites... 3D models... particle effects.. anything you want really! (though i highly advise against skinned mesh 3D models because it causes high draw calls)

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

    my input if you are going to make a simple add-on without having it bloat your main game... use just plain colors for the pieces and/or panels... this will save you on GUI arts that will bloat your game (unless you can recycle the artwork from your main game itself)


    Thanks~!
     
  41. PJY1170

    PJY1170

    Joined:
    Feb 13, 2015
    Posts:
    5
    Hi there,

    awesome framework!

    I need to select the gems for each level, how do I do this?

    for Instance level one needs to have red white and yellow gems, but level two needs blue, green purple, is this possible?

    Thanks
     
  42. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,

    you can easily swap out the GUIs for the pieces via the PieceManager located under the GameManagerPanel gameObject. Though it would otherwise be tedious to swap the GUIs for each level... if you are capable enough, you can modify the existing code to use a randomized GUI skin.


    Thanks~
     
  43. PJY1170

    PJY1170

    Joined:
    Feb 13, 2015
    Posts:
    5
    Awesome, Thank you!
     
  44. isacan

    isacan

    Joined:
    Jul 18, 2013
    Posts:
    37
    Hello Kurayami,

    Can i load level configs from xml file for from create scene for each level.

    Thanks.
     
  45. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,
    yes you can~
    but obviously you will need to code your own xml <->JMFP engine and vice versa... the current GUI setup for the boardLayout is all technically done by scripting... xml will be no different... you will just need to put the API calls in their proper locations and it should work. "targetBoard".panel.setType() & "targetBoard".piece.convertToSpecialNoDestroy() will be what you need to set the board....

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

    I would advice you to have a template scene for you to load your xml properties though.... e.g. have a fixed boardWidth * boardHeight of which their values are the MAX board size you want... then you can easily re-adjust the dynamic size via converting the panels to empty panels...
    *p.s.> you might want to create a "block" & "spawn" custom panel to outfit your dynamic board...
    -------
    if you do not want a template scene with a fixed boardWidth & boardHeight.... you will need to set the values before GameManager creates the board... therefore you will need to create a new script that superceeds the GameManager execution and change the values before GameManager script starts... (AKA script execution order... you will need to make your script run 1st on top of GameManager)

    then you will not need to worry about the need to create those "block" & "spawn" custom panels mentioned above.... those are nice candies to have though... very useful at times :)
     
  46. grosssmutttr

    grosssmutttr

    Joined:
    Apr 15, 2014
    Posts:
    168
    Is there a bug in the treasure behaviour?
    Sometimes the treasure can be moved down even if the move shouldn't be possible...
     
  47. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,

    Yes, a bug that goes unnoticed quite easily :)
    sorry about that... yes that is a confirmed bug... and fixed in v2.1.4 ... it's available in the asset store... but i made a blunder and forgot to update a "not so important" prefab... I am still waiting for v2.1.4 v2 to be approved by the asset store...

    if you like you can apply the current update version... OR, just update the GameManager script yourself... it's just a 1 line fix.

    Code (csharp):
    1.  
    2. bool checkThisPosition(int xPos,int yPos ,int mType, Check dir){
    3.   if(xPos < 0 || xPos >= boardWidth || yPos < 0 || yPos >= boardHeight ) {
    4.   return false; // assumption is out of bounds ... stop this check
    5.   }
    6.  
    7.   if(!board[xPos,yPos].isFilled || !board[xPos,yPos].panel.isSwitchable() ||
    8.     board[xPos,yPos].pd.isSpecial ){ // the piece cannot move here, quit too~!
    9.   return false;
    10.   }
    11.  
    12. // other code segment...
    13.  
    this part is the change...
    if(!board[xPos,yPos].isFilled || !board[xPos,yPos].panel.isSwitchable() ||
    board[xPos,yPos].pd.isSpecial ){ // the piece cannot move here, quit too~!
    return false;
     
  48. grosssmutttr

    grosssmutttr

    Joined:
    Apr 15, 2014
    Posts:
    168
    Thanks for the very fast answer :D
     
    kurayami88 likes this.
  49. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    Hi,

    How can I change screen orentation on 2.1.3? I made following video but this version was different.



    many thanks
     
  50. kurayami88

    kurayami88

    Joined:
    Aug 30, 2013
    Posts:
    493
    Hi,

    the concept is the same... all you have to do is re-position your HUDs in a portrait orientation and you should be good to go :)
     
    Charlie_T likes this.