1 분 소요

한 줄 정리

Spotlight Blending은 원래 게임에서 플래시라이트 같은 빛 효과를 구현할 때 쓰이는 기법이다. 이 글에서는 그 분포 설계 원리를 응용해, 극단적 편향 없이 “납득 가능한 랜덤”을 만드는 방법을 정리한다.


왜 필요한가

뽑기 시스템에서 순수 랜덤(균등 분포)을 쓰면 이상한 일이 생긴다. 특정 결과가 연속으로 여러 번 나오거나, 좋은 결과가 한꺼번에 몰리거나, 반대로 아예 안 나오는 구간이 생긴다.

사용자 입장에서는 확률이 공정하게 동작하고 있어도 “게임이 뭔가 조작된 것 같다”는 느낌을 받는다. 통계적으로 올바른 결과가 심리적으로는 부자연스럽게 느껴진다.

Spotlight Blending은 이 문제를 해결하는 데 응용할 수 있다. 결과가 기준값 주변에 자연스럽게 모이되, 극단값도 완전히 배제하지 않는 분포를 만든다.


어떻게 동작하나

핵심 구조는 세 가지다.

기준값(base): 분포의 중심이 되는 값이다. 대부분의 결과가 이 값 근처에서 나온다.

분산 범위: 기준값으로부터 얼마나 퍼질지를 결정한다. 범위가 좁을수록 결과가 기준값 주변에 집중되고, 넓을수록 더 다양한 결과가 나온다.

극단값 허용 확률: 좋은 결과와 안 좋은 결과 모두 낮은 확률로 허용한다. 완전히 배제하지 않기 때문에 사용자는 간헐적으로 예상을 벗어나는 경험을 한다. 이 간헐성이 오히려 자연스러운 랜덤처럼 느껴지게 만든다.

분포 모양은 가운데(기준값)가 높고 양쪽 끝이 낮은 종 모양에 가깝다. 정규 분포와 비슷하지만, 적용 범위와 극단값 처리 방식을 직접 제어할 수 있다는 점이 다르다.

항목 순수 랜덤 Spotlight Blending
분포 형태 균등 (모든 값 동일 확률) 기준값 중심 집중
극단값 출현 다른 값과 동일 확률 낮은 확률로 허용
연속 편향 발생 가능 억제됨
사용자 체감 때로 인위적으로 느껴짐 납득 가능한 자연스러운 흐름


실제 사용 예시

결과값 범위가 1~10이고 기준값이 5인 뽑기 시스템을 예로 들면 다음과 같다.

  • 기준값 주변(4~6): 전체의 약 50~60%가 이 범위에서 나온다
  • 중간 범위(2~4, 6~8): 전체의 약 30~40%
  • 극단값(1~2, 9~10): 전체의 약 5~15%로 낮게 유지

사용자는 5 근처의 결과를 자주 받지만, 가끔 1이나 10 같은 극단값도 경험한다. 이 간헐적 극단값이 “뭔가 특별한 일이 일어났다”는 느낌을 주면서도, 시스템 전체가 불공정하다는 인상은 주지 않는다.


주의할 점

기준값을 너무 좋은 값으로 설정하지 않는다. 기준값이 항상 높은 결과를 가리키면, 평균적인 결과도 실망으로 받아들여진다.

극단값 확률을 0으로 만들지 않는다. 극단값을 완전히 배제하면 사용자가 결과를 예측할 수 있게 되고, 시스템이 오히려 더 인위적으로 느껴진다.

기준값이 고정인지 동적으로 바뀌는지 먼저 결정한다. 게임 진행에 따라 난이도나 보상이 달라진다면 기준값도 함께 이동해야 할 수 있다. 설계 초기에 이 부분을 고려하지 않으면 분포 전체를 나중에 재설계하게 된다.


언제 쓰면 좋은가

순수 랜덤이 통계적으로는 공정해도 사용자에게 부자연스럽게 느껴질 때 Spotlight Blending이 유효하다. 뽑기 보상, 추천 결과의 다양성, 시뮬레이션의 변동성 조정 등이 대표적이다. 공정성보다 납득 가능성이 더 중요한 영역에서 특히 효과적이다. 정확한 균등 분포가 필요한 통계 샘플링이나 보안용 난수 생성에는 적합하지 않다.