Game creation guide
How to make a match-3 game
A match-3 game is a grid of colored pieces where swapping two neighbors clears any line of three or more, the pieces above fall into the gap, and new ones refill from the top. The hard parts are not the swap: they are resolving cascades correctly, starting every board without a ready-made match, and designing level goals and blockers that make each level a different problem.
- Template: Match-3
- Play an example: Crown Match
- Updated

A prompt to build your first version
Copy it into EvonX, or send it from the box at the end of this page. Change the theme, the numbers and the twist to make it yours.
Create a match-3 puzzle game set in a royal castle with swap controls, cascades, special pieces for matches of four and five, crates and carpet as blockers, a collect-the-color goal, a move limit, 20 levels that get harder and a level complete screen.
Other directions to try:
- An underwater match-3 where each level asks me to free trapped fish, with a shell blocker that takes two hits
- A fruit match-3 on a 7×7 board with a blender booster that clears one fruit type
How match-3 games work
Every match-3, from the classic candy games to newer castle and farm themes, runs the same resolution loop. Getting this loop exactly right is what separates a satisfying board from a buggy one.
The swap is only valid if it makes a match
When two neighbors swap, check both positions for runs of three or more in a row or column. If neither forms a run, animate the pieces back. Most modern games do not charge a move for an invalid swap.
Clear, fall, refill, repeat
Remove every matched piece at once, let pieces above drop into the empty cells, spawn new pieces at the top, then check the whole board again. Each extra pass is a cascade, and cascades are where most of the satisfaction comes from.
Shapes create special pieces
A common set: four in a line makes a line-clearing piece, five in a line makes a color-clearing piece, an L or T makes an area bomb, and a 2×2 square makes a piece that flies to a target. The special appears where the player made the move, not at a random cell.
Goals give each level a reason
A level can ask for a score, a number of pieces of one color, cleared blockers, or items brought to the bottom row. The goal plus the move limit is what makes level 14 feel different from level 13.
Blockers change where matches matter
Crates fill a cell and break from matches beside them. Layered tiles under pieces need several matches on top. Creeping blockers hold pieces in place until cut free. Each forces the player to match in a specific area.
Step by step: building a match-3
1. Represent the board as data
Use a 2D array of cells, each holding a piece type (color or special) and an optional blocker. Keep rendering separate so you can run the rules without drawing anything, which makes testing much easier.
2. Fill the board without starting matches
When you generate the starting board, pick each piece so it does not complete a run with the two pieces to its left or the two above it. Then confirm at least one valid move exists; if not, reshuffle.
3. Implement the swap and the match finder
Scan rows and columns for runs. Record the shape of each run (line, L, T, square) because the shape decides which special to create. Reject swaps that produce no run.
4. Resolve cascades in a loop
Clear, apply gravity column by column, refill, and scan again until a pass finds nothing. Animate each pass in order. Lock input during resolution so the player cannot swap mid-cascade.
5. Add specials and their combinations
Give each special its effect, then decide what happens when two specials are swapped into each other. Combos are a big part of the late game, so plan them early.
6. Add goals, moves and the end screen
Show the goal and remaining moves in the HUD. Win when the goal is met, lose when moves hit zero. Award stars by score or moves left.
7. Detect dead boards
After every resolution, check that at least one valid swap exists. If none does, shuffle the board (without creating matches) and tell the player.
8. Introduce blockers and boosters on a schedule
Unlock one new element every few levels, each with a short tutorial board. Boosters such as a hammer or shuffle work as a safety valve on hard levels.
Level design and difficulty
Match-3 difficulty is tuned through four levers: number of colors, move limit, blocker count and goal type. Change one at a time so you can tell what made a level hard.
| Stage | What changes |
|---|---|
| Early levels | Four or five colors, no blockers, a score or collect goal that one or two cascades will reach. |
| Middle levels | One blocker type per level, a goal that needs matches in a specific area, five colors. |
| Hard levels | Six colors (fewer natural cascades), mixed blockers and a tight move limit. |
| Pacing | Follow a hard level with an easier one. A steady climb with no relief is the most common reason players stop. |
Build it with EvonX
1. Describe the game
Paste the prompt above or write your own. Naming the genre is enough for EvonX to start from its match-3 template.
2. Play the first version
The game runs in a phone preview next to the chat, so you can play it as soon as it is built.
3. Change it in chat
Ask for different levels, rules, art or difficulty and test each change straight away.
4. Publish a link
Published games open in mobile and desktop browsers, on the free Starter plan too (with the EvonX badge). EvonX does not package games for the App Store or Google Play.
What the match-3 template already includes
- Swap by tapping two neighbors or flicking one into the other
- Swaps that make no line swing back and cost nothing
- Rockets (line of four), TNT (L or T shape), light balls (line of five) and propellers (square of four)
- Cascades that clear in turn as pieces fall and refill
- Crates, two-layer carpet and ivy as blockers, each with an intro
- Hammer, bomb, shuffle, extra moves and pre-level boosters
- 20 starter levels with a collect-a-color goal and a move limit
Ways to make it your own
- Board size and shape, including holes in the grid
- How many colors are in play
- What a match of four, five, L or T creates
- New blockers and how many hits they take
- Move limit versus a timer
- The theme and every piece's art, from one sentence
Common problems and how to fix them
The board sometimes starts with matches already on it
Pick each starting piece so it cannot complete a run with its left and top neighbors, then verify the full board before the level opens.
Cascades resolve in the wrong order or pieces overlap
Resolve the board in discrete passes (clear, fall, refill, scan) and only start the next pass after the previous animation finishes. Keep input locked until no matches remain.
Players get stuck with no possible move
Check for at least one valid swap after every resolution and shuffle automatically when there is none.
Levels feel samey after a while
Rotate goal types and introduce a new blocker or special every few levels rather than only lowering the move limit.
FAQ
Can I make a game like Candy Crush?
You can make a match-3 game. The swap-and-match mechanic is used by many games. Use your own name, theme, art and levels; do not copy another game's branding, characters or assets.
What engine is best for a match-3 game?
Any 2D-capable engine works, because the rules are grid logic. If you would rather not code, EvonX builds a match-3 from a sentence starting from its match-3 template, and you tweak it in chat.
How long does it take to make a match-3 game?
Coding one by hand with good cascades, specials and dozens of levels is usually weeks of work. Generating a first playable version in EvonX takes minutes; tuning levels and art takes as long as you want to spend on it.
Can I change the special pieces?
Yes. In EvonX you can ask in chat for a different effect, a new special or a new combination, and test it straight away in the preview.
Make your own match-3 game
Start from the prompt, or describe something new. Building and playing in the preview are free.