Unity puzzle and battle game development

Match
Clash.

A puzzle board that changes the battle above it.

At JetApps, I was the sole Unity developer for Match Clash. I designed and built the game’s code: linking puzzle tiles chooses which units enter the battle and where they fight. I also built the automatic combat, player upgrades and tools for the designer to configure levels.

My role and the team’s contribution

I programmed the game.
The team created its art and design.

I was responsible for Unity programming. The artist created the visuals, and the game designer supplied the design direction.

My responsibility

All Unity programming

I built the puzzle board, combat, units, towers, upgrades, interface behavior, saves and tutorials. I also created the level-editing tools, prepared mobile builds and updated the code as the team tested ideas.

Team contribution

Art and game-design direction

The artist created the visuals, and the game designer set the design direction and gameplay requirements. I programmed these ideas and assets into the working Unity game.

How a round works

Puzzle moves control the battle.

Each puzzle move chooses a unit type, its strength and the lane it enters. Battle rewards then help the player upgrade units for later rounds.

  1. 01

    Puzzle move

    Link matching tiles

    Drag through adjacent matching sword, bow or shield tiles on a 6×6 board. The archived build resolves chains of two or more; earlier product exploration also covered match-3 directions.

  2. 02

    Lane choice

    Choose the lane

    Ending a chain on the left or right side of the board chooses which player tower sends units into battle.

  3. 03

    Battle result

    Send units into battle

    Matching sword, bow or shield tiles creates that type of unit. Stronger chains create higher-level units, or more units in the experimental crowd mode.

  4. 04

    Progress after battle

    Reward and upgrade

    Wins and losses update trophies and coins. Unit cards, upgrade costs, health, damage and visual tiers carry progression into the next battle.

Puzzle board

Choose the unit, its strength and its lane.

Battle

Units move, choose targets and attack towers.

Game systems and level creation

What makes each round work.

I connected puzzle input, automatic battles and saved upgrades, and built tools that let the designer create more levels.

Puzzle board

A board that stays playable.

Selection validation, diagonal adjacency, bonus tiles, static obstacles, gravity and refill, reversible drag paths, tutorials and automatic reshuffling when no valid move remains.

  • 6×6 grid
  • Match-2+ chains
  • Bonus tiles
  • Refill & reshuffle

Battle rules

Three lanes, towers and units that fight automatically.

Player and CPU turns coordinate three towers per side, lane routing, melee and ranged attacks, nearest-target selection, health, destruction and win/lose state.

  • Sword · Bow · Shield
  • Rule-based CPU turns
  • Tower routing
  • Combat targets

Rewards & upgrades

Battle rewards improve the player’s units.

Players earn coins, trophies, unit cards and reward chests. Upgrades are saved and carry into later battles.

  • Cards & coins
  • Unit upgrades
  • Trophy ladder
  • Local saves

Level creation

The designer could create and adjust levels.

ScriptableObject data and a custom Odin editor exposed board layouts, available units, enemy timing, unit levels and authored spawn sequences without rewriting runtime code.

  • 60 level assets
  • Two mode variants
  • 6×6 level editor
  • Enemy sequences
112
Custom C# files
7,600+
Lines of gameplay code
60
Configured levels
3
Unit types
Unity 2021 LTS
Archived project version

Game performance

Reuse objects for repeated attacks and effects.

An object pool reuses board cells, tiles, three unit types, arrows, lines and effects. This reduces repeated memory allocation when objects appear and disappear during play.

Turn sequence

Puzzle and battle advance as one turn.

Async animation sequences, game events and controlled time scaling keep input, tile resolution, unit spawning, CPU actions and the next player decision in a deliberate order.

Reusable combat

Different units share reusable combat code.

Units and towers share code for movement, weapons and target selection, while keeping their own attack behavior. This supports melee, ranged, shield and tower-archer variants without putting all combat logic in one script.

Touch, animation & feedback

Make each action clear on a phone screen.

Haptics, DOTween-driven UI and combat feedback, tutorial guidance, health bars and responsive reward sequences make the systems legible on a portrait mobile screen.

Development in 2022

I designed and programmed the game’s systems.

I developed Match Clash in 2022. The board rules, turn sequence, combat systems and editing tools came from direct programming and debugging. Today I can use AI to assist development while remaining responsible for understanding and checking the code.

Public project video

Watch how puzzle moves affect the battle.

The three-minute portfolio video shows puzzle selection, live unit battles, tower pressure, victory rewards, the trophy ladder and unit-upgrade screens.

Watch on YouTube

Gameplay video and thumbnail are from Artem Shkabura’s public YouTube portfolio.

Completed work

What I built for this project.

  • 01All Unity programming for the puzzle, battles, rewards and upgrades
  • 02Level-editing tools with 30 standard levels and 30 crowd-mode configurations
  • 03Object reuse for performance, vibration feedback, tutorials and saved progress for mobile play
  • 04Reusable code that let the team test different matching rules and battle results

This case documents my Unity engineering scope, the archived repository and publicly visible gameplay. It does not claim a store release, online PvP, a live leaderboard, commercial results or sole authorship of the art and game design.

How I can help your project

Building a game that combines different ways to play?

Let’s turn your game idea into a playable version.

I can build and test a game that combines different mechanics, develop the code needed for a full game, or update an older prototype for another test with players.

Have a limited budget? Tell me your priority and the range you’re comfortable with. I’ll be clear about a realistic first step.

Confidential from the first conversation

I count contact interactions in aggregate, without visitor IDs or message contents.

Back to projects