1인 개발/기능 구현

    Weighted Random Picker (가중치 랜덤 뽑기)

    Weighted Random Picker (가중치 랜덤 뽑기)

    이번에도 예시는 Path Of Exile 게임이다. 이 게임은 아이템의 옵션을 무작위로 재설정할 수 있다. 그리고 등장할 수 있는 옵션들에는 사진과 같이 500, 1000, 250이라는 가중치가 붙어있다. 이 가중치에 비례해서 등장 확률이 결정된다. 대부분의 다른 게임들은 뽑기 확률을 %로 표기하는데, 이는 일반 유저들이 이해하기 쉽도록 그렇게 하는 것일 뿐 실제로는 확률이 아닌 가중치를 통해서 계산을 한다. 그리고 이 가중치에 의한 랜덤 뽑기 코드는 구글링 하면 꽤 많이 나오는데, https://rito15.github.io/posts/unity-toy-weighted-random-picker/ Weighted Random Picker (가중치 랜덤 뽑기) Note 게임에서 각각 n% 확률로 존재하는 ..

    Bit Flag Enum으로 스킬 태그 만들기

    Bit Flag Enum으로 스킬 태그 만들기

    Path Of Exile 게임의 스킬 툴팁을 보면 스킬마다 여러 가지 태그를 가지고 있는 것을 볼 수 있다. 스킬 태그 목록을 이용하여 여러가지 작업을 할 수 있다. 예를 들면 '카오스 스킬 사용시 잃은 체력 1% 회복'이라는 옵션을 가진 아이템을 플레이어가 착용했다면 어떤 스킬을 사용할 때마다, 해당 스킬의 태그 목록에 '카오스'가 있는지 확인하고 체력을 회복시키는 로직을 쉽게 구현할 수 있을 것이다. 아니면 '저주 면역'이라는 옵션을 가진 몬스터에게 플레이어가 어떤 스킬을 사용하면 해당 스킬의 태그 목록에 '저주'가 있는지 확인해서 해당 스킬이 몬스터에게 통할지 안 통할 지를 정할 수 있다. 또 다른 예시로, 궁수의 전설의 스킬 툴팁을 보자. 어떤 태그들을 가지고 있는지 표시하고 있지 않지만, 만약 ..