SAMUDRA All work
Case notes / 04

MOBILE LEGENDS · iOS APP

MLBB Heroes Matchup
Decision Support System.

Helping players choose counter heroes by understanding an opponent’s playstyle, strengths, and weaknesses, all within a SwiftUI app.

MLBB Heroes Matchup hero listMLBB matchup recommendations with contributing scores
SwiftUITop 5 counter picksOn-device calculations

Project context

Understand the matchup.
Make an informed pick.

About the app

MLBB Heroes Matchup Decision Support System is a SwiftUI app that helps casual Mobile Legends players choose a hero. Inspired by the habit of making picks based on intuition, the project offers a more structured way to understand relationships between characters.

The system uses a rule-based scoring engine built in Swift. Heroes are evaluated through three main factors: playstyle or archetype, traits, and weaknesses. The relationships between these factors produce counter recommendations that can be explained to users.

Data and calculations

Hero data is stored in local JSON files, using online references and input from experienced players as sources. All calculations run on the device, so recommendations do not depend on an external server.

How recommendations work

Three factors, one matchup score.

Each hero selection produces five recommended counters, with transparent scores.

01 / PLAYSTYLE

Understand the playstyle

Archetypes such as teamfight, pickoff, and split-push have counter relationships. These relationships form one part of the evaluation between the selected hero and potential opponents.

02 / TRAITS & WEAKNESSES

Find the weaknesses

A candidate’s traits are matched against the target hero’s weaknesses to see how its abilities can exploit them.

03 / TOP 5 COUNTER PICKS

Explain the score

Scores are normalized to keep comparisons fair and avoid double counting. Users can see the rankings and the factors contributing to each score.

App foundations

Built to run on the device.

The iOS interface and matchup logic live in one app.

SwiftUI
Interfaces for the hero list, search, character details, and recommendations.
Swift
Application logic and the matchup scoring engine.
Local JSON
Storage for the hero data used in the evaluation.
Rule-based scoring
Scoring rules based on archetypes, traits, and weaknesses, with score normalization.

The next adventure

Have an app idea
you want to develop?

Let’s connect