Super 3match kit - with: AI, visual editor and modular gameplay editor

hello LuxUnity
Thank you for version 2.2.4.
The issue has been resolved.

However, I found another problem.
I can’t use “Empty” in the map editor
Using it will result in an error.

http://160.16.227.253/movie/Empty.mp4

If you can use “Empty”, the map variations will be greatly expanded.
is it possible to use?
I get the error in any version.
(2.2.2 , 2.2.3 , 2.2.4)

I’m currently sick, as soon I recover I’ll fix that…

hello LuxUnity

Thank you for your reply.
Also, I am happy to be able to fix it.

I hope that you’re recovering and getting better now.

Thanks, I submit the fix today

Hello!

I am interested in using this asset but have a quick question. Is there an option to just have endless mode? My game involves a Match 3 system that can be entered whenever with no winning or losing and the certain tile matches increase different values. Templates on the store are designed to have a winning or losing scenario which I do not really need.

Thanks for the help!

Yes, you can set the win condition as “play until lose” and game over condition as “relax mode” = no game over

1 Like

Got the asset and working great so far.

Another question, what would the best way to load all the tiles into a single GameObject instead of straight into the scene? I want the Match 3 to be in World Space and be under a GameObject I have in my scene. Before I dig through the code I just wanted to ask if you know where the best place would be to do this.

Thanks!

You can open BoardManager and set the parent right after each “Instantiate” in that code.
But, because the background is independent of the board, you can just don’t touch the board and move the camera instead, with the result to give the illusion that is the board to move.

See? It seems that the board is in World Space, but I just change the camera rotation and position (and set it as prospective instead of orthographic).

1 Like

hello LuxUnity
Thank you for version 2.2.5.
The issue has been resolved.
it feels so good.

However, I found another problem.
Tap the falling gem to It will stop falling.

http://160.16.227.253/movie/TapStopFalling.mp4

You can also check with demo_3match/index.html
You can also check with version 2.2.3.

I also tried creating a solution code,
Are there better solutions?

Hi, that is not a bug, it is the correct behavior.

You can interact with the gems by tap>hold>swipe, but also by tap>release>tap another gem.

So when you tap on a gem, that gem will wait until you end the move that you initiate with that tap on it.

In your video, you select a gem, then tap on a gem that is not close to it, the game register the second tap as an invalid move and releases the first gem.

Hi, that is not a bug, it is the correct behavior.
You can interact with the gems by tap>hold>swipe, but also by tap>release>tap another gem.

hello LuxUnity

Oh, so it was the correct behavior.
I did not know that it was a specification.
I am very sorry.

When a new ruleset Template is created and I set the win condition to Enemy_hp_is_zero or lose condition to Player_hp_is_zero, IndexOutofRangeException triggers.

The former one produces this error log:

IndexOutOfRangeException: Index was outside the bounds of the array.
RulesetTemplateEditor.ArmorBattle_CharacterInfo (Character thisCharacter) (at Assets/3match/Editor/RulesetTemplateEditor/RulesetTemplateEditor_ArmorBattle.cs:31)
RulesetTemplateEditor.PlayerHpIsZero () (at Assets/3match/Editor/RulesetTemplateEditor/LoseConditions/RulesetTemplateEditor_PlayerHPisZero.cs:26)
RulesetTemplateEditor.MainRules () (at Assets/3match/Editor/RulesetTemplateEditor/RulesetTemplateEditor_MainRules.cs:139)
RulesetTemplateEditor.OnInspectorGUI () (at Assets/3match/Editor/RulesetTemplateEditor/RulesetTemplateEditor.cs:16)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.b__0 () (at <13e852a0caac41f981d50cc29ae40ac7>:0)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&)

and the latter one this:

ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <46a5f68c38604d68a85231bbf55f6b8f>:0)
RulesetTemplateEditor.EnemyHpIsZero () (at Assets/3match/Editor/RulesetTemplateEditor/WinConditions/RulesetTemplateEditor_EnemyHPisZero.cs:27)
RulesetTemplateEditor.MainRules () (at Assets/3match/Editor/RulesetTemplateEditor/RulesetTemplateEditor_MainRules.cs:118)
RulesetTemplateEditor.OnInspectorGUI () (at Assets/3match/Editor/RulesetTemplateEditor/RulesetTemplateEditor.cs:16)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.b__0 () (at <13e852a0caac41f981d50cc29ae40ac7>:0)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&)

Seems like Bonus Rules => give bonus => After_big_explosion in the new ruleset template give a similar error:

IndexOutOfRangeException: Index was outside the bounds of the array.
RulesetTemplateEditor.GiveBonus_AfterBigExplosion () (at Assets/3match/Editor/RulesetTemplateEditor/Bonus/RulesetTemplateEditor_Bonus_AfterBigExplosion.cs:32)
RulesetTemplateEditor.BonusRules () (at Assets/3match/Editor/RulesetTemplateEditor/Bonus/RulesetTemplateEditor_Bonus.cs:33)
RulesetTemplateEditor.OnInspectorGUI () (at Assets/3match/Editor/RulesetTemplateEditor/RulesetTemplateEditor.cs:18)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.b__0 () (at <13e852a0caac41f981d50cc29ae40ac7>:0)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&)

ⓐ new matching mechanism and a new special bomb
Most 3-match games nowadays have introduced a new matching mechanism, which requires 4 gems to be swapped in a form of a 2x2 box like this:
■■
■■
This produces a special bomb (typically something similar to an airplane) that will snipe stage target when triggered. For example, if the player is required to collect tokens, it will destroy a tile right below one of the tokens on board to help clear it out.
Wanted to and tried to code them myself, but my programming ability is pretty much limited.

ⓑ bomb combinations
Many 3 match games use bomb combinations when swapping two bombs.
For examples:

  • a “horizontal bomb” combined with a “big explosion bomb” clears 3 horizontal and 3 vertical blocks.
  • a “rainbow bomb” combined with a “horizontal bomb” changes the rarest colored gem blocks on the board to horizontal bombs.
  • an “airplane bomb” combined with another “airplane bomb” triggers 3 successive times.
    This mechanism makes 3 match games more engaging and exciting. It would be good to have them.

ⓒ etc
I also believe that some variables in the Board_C script(Number of tokens emitted and Ice grow-related ones) are more fit to be in the ruleset template. Just food for thought.

This is a very solid tool. I want to praise you for the good and only 3 matching games making tools in the asset store.

P.S. Do you plan to update or rewrite the code in the near future? I am planning to learn through your code. If you do, I can wait.

Thanks for your feedback. Your errors don’t appear to me, but even so, those errors mean that the inspector UI fails to update just after your changes, right after the error it will update again and fix it. So everything will work fine in any case. I’ll see how to implement your suggestions.

Version 2.3 is submitted to the Asset Store right now with this new requested feature:

1 Like

2x2 explosion works well, and the errors are gone(dunno why). The customizing feature is insane as well. Thanks for your hard work and friendly fast support. :slight_smile:

I promise I will give you a good review, as soon as the asset store allows me; it says I should download the asset first to write a review(which is downright weird because I already did).

1 Like

What a great tool kit!
Quick simple questions:

  1. Is there a minimum size to a tile and where would that size be set? Cuz I made a map that was 30x12 and it extended outside the Game view rather than shrink down.

  2. Is there an “infinite” mode where I could let the player just go on forever? (I will code my own “alternate” conditions for end-game)

Thanks!

Thanks!

  1. You can have a map that large, but you have to use a custom camera setting

  2. In the ruleset file, set lose condition = Relax_mode

1 Like