그냥 생각나는대로 끄적여 본 낙서입니다.
개발자분들은 좀 더 상세한 부분을 더 알고 계시겠지만 전 일개 유저라 ^^;;
----------------------------------------------------------------------------
1. 랜덤 리젠이 적용된 유명 게임 사례 : 로즈 온라인, 월드 오브 워크래프트
2. 목적 (장점)
- 맨날 같은 장소에 같은 몬스터만 보는 단조로움의 패턴에서 벗어난다.
- 오토를 막는 하나의 패턴으로 사용된다.
3. 단점
- '어디에 무엇이 있다'라는 명확한 정보가 조달되기 힘들다.
따라서 지역에 대한 정보 빠른 파악이 힘들고, 흥미를 떨구는 요소가 될 수 있다.
모든 유저가 맵을 유심히 살피며 레벨 분포대로 순순히 이동해주는 것은 아니다.
- 랜덤 리젠의 레벨 범주가 클 경우, 의도되지 않은 상황을 초래할 수 있다.
+ 저레벨 지역에 고레벨 몬스터가 출몰하여 대량 학살을 유도한다.
+ 고레벨 지역에 저레벨 몬스터가 대량 출몰하여 일시적인 비효율 사냥을 강요한다.
+ 레벨 범주의 폭이 적은 사냥터가 인기 지역이 되어 그곳에 유저가 밀집될 수 있다.
4. Detail Concept
- 랜덤 리젠의 레벨 범주 설정
+ 비슷한 레벨을 가진 복수의 몬스터를 리젠 포인트의 목록에 등록.
+ 낮은 확률로 조금 더 강력한 고급 몬스터 출몰.
+ 몬스터 리젠 포인트에 킬링 카운트 변수를 지정.
1시간 동안 사망한 몬스터의 개체수가 x 이상일 경우,
-> 리젠 확률의 변경. (상승 혹은 감소)
-> 특정 몬스터 지정 소환.
- 리젠 좌표의 범주 설정
+ 리젠이 발생할 수 있는 범위(서버 리젠 좌표의 범주)를 설정할 수 있게 제작.
- 필요 기능
+ 랜덤 리젠 공식 - 서버에 적용될 실 공식
+ 랜덤 공식이 적용되지 않는 100% 확률의 지정 리젠 포인트 기능.
+ 고급 몬스터의 특별한 인공지능과 그에 따른 합당한 보상.
+ 고급 몬스터의 출몰 전에 발생하는 간단한 연출 (대사 혹은 이펙트 효과 등)
5. 응용
- 전체 월드 내에 랜덤하게 한군데에서만 생성되는 골드 드래곤
+ 지정 몬스터 변수 처리.
서버 내에 골드 드래곤 생성 시 값이 상승. (+1)
사망 시 값이 하락. (-1)
변수 값이 +1 이상일 경우 랜덤 공식에 의한 조건이 만족되어도 리젠 중지. 체크 초기화.
+ 해당 지역에 골드 드래곤에 출몰했음을 알리는 월드 메시지.
모든 지역의 플레이어가 공유할 수 있는 채팅 채널 기능.
드래곤 관련 대사 스트링과 그에 따른 DB
다수의 플레이어가 협공해야 하는 몬스터-> 전술적 플레이를 유도하는 합당한 인공지능.
+ 당연하겠지만 골드 드래곤을 죽여야할 동기를 부여하는 "유혹의 보상"
- "헤르샤 일족" 소굴에 등장하는 '군집형 몬스터 무리'
+ 전사형, 법사형, 사제형, 포고꾼형의 몬스터를 DB에 등록
+ 해당 몬스터의 ID를 리젠 정보에 등록 후 각각의 확률에 따른 랜덤 공식 적용.
[결과] 플레이어는 매번 다른 패턴의 조합을 이루고 있는 몬스터 무리를 처치하기 위해 즉흥적인 전술을 세우는 과정에서 재미와 도전 의식을 제공.
6. 랜덤 출몰
- 개발자 분들이 더 상세히 알고 계시겠지만, 토론해보고자 하는 부분에 대해 끄적여 보았습니다. 너그러히 읽어주셨으면 좋겠습니다.
+ 기본 패턴
-> 리젠 정보의 목록은 등록되는 몬스터의 순서 정보에 확률과 마리수 정보를 갖는다.
-> 예제
[1] 몬스터A 20% 2마리
[2] 몬스터B 40% 1마리
[3] 몬스터C 10% 3마리
> 설명 <
-> 서버는 리젠 정보를 1부터 3까지 순차적으로 체크하며
해당 확률에 따른 몬스터를 'x' 마리씩 출몰시킨다.
-> 그리고 리젠 정보는 최대 마리수 제한 값을 갖는다.
-> 서버는 리젠 정보를 순차 체크하다가 마리수 제한 값에 다다르면 리젠을 중단시킨다.
-> 재생성 조건 및 체크 알고리즘 생략.
+ 문제점
-> 순차대로 목록을 체크해나가기 때문에
상위 몬스터가 계속 출몰하여 마리수 제한 값에 도달.
따라서, 하위에 속한 몬스터의 실제 체감 리젠 확률이 대폭 하락.
+ 해결책
-> 상위에 속한 몬스터의 확률과 마리수를 낮추고 하위를 상대적으로 높인다.
-> 100% 출몰하는 몬스터는 반드시 하위에 속하게 지정한다.
저는 서버 프로그래머가 아니기 때문에 이러한 구조 이외의 방법은 잘 모르겠습니다.
만일 프로그래머 분이 이 글을 보신다면 더 나은 해결책을 알려주시면 감사하겠습니다.
7. 기타
- 이건 여담입니다만, 본 기능을 오토를 막기 위한 수단으로만 생각하신다면,
그라나도 에스파다의 오토 킬러 몬스터의 랜덤 리젠(골드 드래곤에서 보상이 제외된)을 생각하시는게 편할 수도 있습니다.
하지만 그렇게 사용하기엔 너무 재미있는 기능이고,
때에 따라선 하나의 컨텐츠를 반복 이용했을 때에도 쉽게 질리지 않게해주는
중요한 포지션을 차지하고 있기 때문에 (제 개인적인 생각입니다.)
조금 더 게임을 즐겁고 컨텐츠의 수명을 길게 늘이는데 공헌할 수 있는 효자 시스템으로
생각하시어 발상의 전환을 해보시는게 어떨까 해서 글을 남겨 보았습니다.
재밌고 즐거운 게임을 접하고자하는 유저가 끄적이며 지나갑니다.
좋은 하루 되세요.