DEV Community

Dingiu Liao
Dingiu Liao

Posted on

I Built a Breeding Calculator for 299 Pals — Here's How the Math Works

Child = closest_match((Parent_A_BP + Parent_B_BP) / 2)

Every Pal has a hidden Breeding Power from 10 to 1500. That's it. No RNG on species.


Why I Built This

Most breeding calculators only go one direction: A + B → C. But players usually have the opposite problem — they know what they want and need to figure out the easiest way to get there with what's in their Palbox.

So I built three modes into one tool:

  • Calculator — A + B → C (44K+ combos for all 299 Pals)
  • Finder — "I want Anubis. Show me every parent pair, ranked easiest first"
  • Shortest Path — multi-generation chains (Shadowbeak starting from only Chikipi)

The Data Layer

The entire tool is static HTML + vanilla JS, powered by a 248-Pal JSON dataset scraped from wiki.gg. Each Pal entry includes breeding power, elements, skills, work suitability — everything needed for lookup and ranking.

The finder algorithm:

  1. Take the target's BP
  2. Calculate the required BP sum: target_BP × 2
  3. Loop through all 299×299 pairs, filter by sum proximity
  4. Rank by parent availability score (lower BP = harder to get)

No server, no API calls, loads in under 200ms.


What I'd Do Differently

  • BP data validation — wiki numbers had 3 errors I caught manually. Should've built a sanity checker first.
  • Mobile UX — the breeding tree graph is unusable on phone screens. Still figuring this one out.

Live tool: https://palworldguides.com/breeding-calculator/

Top comments (0)