인디 게임 무료 효과음 모음 & 다운
게임 만큼 rand() 함수를 많이 사용하는 프로그램도 없을 듯 하다.
그동안 느껴던 rand()함수에 대해서 몇자 적어 볼까 한다. 지극히 필자의 개인 적인 의견이며 게임 개발에 정답은 없으니 그럴수도 있지 정도의 수준에서 읽어 주시길 바랍니다.
보통 c++의 rand()함수는 구글링 해보면 RAND_MAX (32767) 값이 존재 하면 게임의 확률 테이블 구성시 최대 값이 해당 수치 이상의 확률은 제어 할수 없다.
게임은 개발 하다보면 기획자의 요구 또는 게임 재미를 위하여 좀더 세밀한 확률 제어가 필요할때가 있다.
보통 RAND_MAX값 이상 랜덤 값을 얻기 위하여 필자는 rand()함수 2개를 연결하여 1/100,000까지 나오는 함수를 자체 제작하여 활용하고 있다.
아래와 같이 차트 구성시 특정 몬스터 사냥시 아이템 드롭 확률을 1/100,000확률 값으로 사용
여러해 게임을 운영하다 보니 랜덤 함수에 대한 사용자 불만 이랄까 도저히 상식적으로 이해가 않되는 경우가
발생 되곤 한다.
점검 (서버 재시작 이후) 후 게임 이용자로 부터 강화 확률이나 아이템 드롭 확률을 몰래 하향 시켰다는 항의가 자주 접수 되곤 한다. 데이타 베이스 백업 및 서버를 재시작 만 한 경우에도 접수 된다.
아무것도 한개 없는 사용자들이 그렇케 느낄때는 내부적으로 어떤 변화가 있었던것으로 판단되며 rand()함수 사용자 srand()를 초기화 하는 부분과 연관이 있는것으로 판단 됩다.
솔직히 확률이다 보니 사용자들이 느끼는 감정에 대해서는 이해는 하나 해결 할수 있는 솔류션은 찾지 못하혔다.
사용자들이 이런 오해를 최소화 하려면 최대한 서버 점검 회수를 줄이는 것이 정답 일까
다른 경우는 실제 등록된 확률 보다 10~20%정도 아이템 드롭이나 옵션을 더 얻는 경향이 있다.
필자가 함수 구현을 잘못할 수 있는 가정은 있으나 실제 게임 운영하면서 필드 데이타를 확인 하였으며
혹 확률 관련하여 게임내에서 좀더 정확히 제어 하고 싶은 기획자가 있다면 본인이 생각한 수치에서
10~20%정도 수치를 하향하여 차트 데이타 구성 해보시길 추천해 본다.
번호 | 제목 | 등록일 | 조회수 |
---|---|---|---|
10 | 라프 코스터의 재미 이론 | 2/27/2018 | 5089 |
9 | 게임인 필독 도서 : 놀이와 인간 - 로제 카이와 | 1/19/2018 | 4503 |
8 | 게임 예술에서 게임 공학으로 | 5/29/2016 | 3962 |
7 | 게임 개발 이야기 - Window API : rand() | 5/15/2016 | 4508 |
6 | 게임 개발 이야기 - Window API : timeGetTime()와 GeTickCount() | 5/2/2016 | 11804 |
5 | 아저씨 개발자의 미국 아마존 정착기 | 4/15/2016 | 6870 |
4 | 아저씨 개발자의 미국 아마존 진출기 | 4/8/2016 1 | 8330 |
3 | 회사 첫 출근 그리고 입사 교육 | 3/24/2016 | 4700 |
2 | 꼰대 개발자 이야기#2 | 3/21/2016 | 3672 |
1 | 꼰대 개발자 이야기#1 | 3/15/2016 | 29746 |