How to Scoring System for dart board?

What would be the best way to design a scoring system for detecting where a dart hits a dart board?

For a standard archery target with 10 in the middle, 9 next ring, then 8 etc. I would measure the distance from the centre of the target and set some thresholds for each point score. However a dart board has numbers all over the board and areas for doubles and triples etc.

No idea the best way to attack this problem. Any help much appreciated.

There are 20 fields distributed over the full 360 degrees. Not taking the separation between the fields into account that makes 360/20=18 degrees per field. So if you have a reference world position of the board and the reference vector to one of the fields (say World up 0,0,1 corresponds to 20) then for any point you can calculate the angle AND the distance to the center and combine both to get the score. I.e. distance determines whether its 50, 25, single, double or triple and if its either of the “multipliers” the angle determines the field number you need to multiply with (-9…9 degrees → 20, 9…27 degrees → 1, etc.)

1 Like

That’s a fantastic solution. I understand exactly what you mean. The logic is great and very accurate. More so than collision boxes which was my first thought. Now, being new to UE, i just need to work out how to implement it with Blueprints. Many thanks!

The scoring system for a dartboard is surprisingly simple! Each numbered segment (1-20) on the outer ring is worth its face value. Scoring gets exciting with the thin rings: hitting the outer one doubles the segment points, the inner one triples it. Bullseyes are worth 50 (outer ring) or 25 (inner ring). Remember, to win most games like “501”, you need to land on zero with your last dart in a double or bullseye!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.