bard님 말씀이 정답일 듯..
숫자가 많은 것보다 작은것이 사기나 관리하기가 쉽죠.
DB상에서도 숫자가 적다면 관리 용량도 적어질테구요 (늘어난다면 테이블이 늘어나겠지만 ㅋㅋ)
2009.12.10 13:31:26 (*.36.230.141)
해피해킹
1. 서버와 DB에서 적용할수 있는 수치 이상 적용되었을 경우를 막기 위해
2. 예를 들어 1000만원을 거래한다고 하였을 경우 만원짜리 천장보다 천만원짜리 수표한장이 거래하기 편하기 때문
일듯 하네요
2009.12.10 13:34:00 (*.221.81.89)
graytutor
시작은 D&D의 시스템에서 온 것 같은데요..
거기의 시스템이 금/은/동/호박금화 같은 식으로 되어 있었지요.
이걸 좀 더 단순화시킨 게 오늘날의 시스템이라고 생각되네요.
2009.12.10 13:57:02 (*.131.190.145)
bard
처음처럼//
근데 프로그래머 입장에서야 금/은/동 을 표시할때만 나눠주는게 더 편하죠.. 안그럼 더하기 빼기 할때마다 수동으로 단위(금/은/동에따라)를 올리고 내려줘야 하는데.. 그게 더 불편 할듯 ;]
2009.12.10 13:59:37 (*.131.190.145)
bard
딱히 DB나 서버상의 표현 능력으로 인한 한계는 아닐듯 합니다. unsigned long long 같은 경우 범위가 0 ~ 18,446,744,073,709,551,615 정도인데.. 웬만한 게임이 몇년간 거래된 화패를 다 합한 후에 그걸 copper 단위로 한다고 해도 이 보다 많지는 않을듯 싶네요 ;]
위에서 말했듯이 사칙연산상의 불편함(특히나 수수료처리 같은건 더더욱이나) 때문에라도 내부적으로는 통합화폐(가장 작은단위) 단위로 관리하고, 표시할 때 사용자들의 편의를 위해 금/은/동 같은 단위로 보여주게 되는거 아닐까 싶어요.
※ 2009-12-10 14:00:32 에 "bard(bard)" 에 의해 수정됨
2009.12.10 14:13:21 (*.234.33.129)
처음처럼
bard님//
말씀하신 내용 다 공감 갑니다 ^^;
전 단일 화페 체계의 온라인 게임 개발 중에 클라이언트쪽에서 오버플로우를 경험해 봐서요;;;
사체 업자로 계정 정지 시켜야겠다는 생각을 했습죠 ㅋ 생각만;;;
2009.12.10 14:19:49 (*.19.122.87)
옛날사람
서양게임들은 주로 화폐단위를 나누는듯,
예전에 Darklands란 게임에선, 게임의 배경이 되는 중세시대(암흑시대) 중부유럽 화폐단위인, Florin, Grossen, pfennig를 사용했습니다.
대략 찾아보니 1Florin=6Grossen=120pfennig (1Grossen=20pfennig) 인듯.
와우 골드/실버/코퍼 단위처럼 100진수가 아닌 더 헷갈리는 화폐 환산 법도 있습니다.
그리고 지금도 서양에서는 적어도 두가지 단위를 사용하고 있으니까. 현실을 반영하는 게임안에서도 연속적으로 사용하는 것 아닐까요. (유로>센트, 달러>센트)
저도 bard씨의 의견과 비슷합니다.
아마도 저렙에서는 낮은 단위의 돈을 사용하고, 레벨이 높아질수록 사용하는 돈의 크기가 커지는데 그걸 다 낮은 단위로 사용하면 숫자가 너무 커져서 그런듯,
우리나라에서도 예전에는 '푼'같은 '원'보다 하위 단위를 평상시에서도 사용했지만, 이젠 사용하지 않고 있습니다. 제가 알고 있기로는 일본이나 중국도 비슷한걸로..(엔, 위안)
동양(?)게임으로는 이례적으로 '대항해시대 2'에서는 보유액이 1만이 넘어가면 상위 단계 화폐가 올라갔던 것 같습니다. (코퍼->실버 수준까지만)
물론, 온라인 게임 같은 곳에서 인플레이션이 발생해서 최고 단위 (골드 단위) 액수도 커지면 별 의미가 없겠지만,
와우에서도 요새 인플레이션이 심해서 골드팟 경매 시작가격이 500골드 정도로 알고 있습니다.
필요하다면, 골드단위 상위 단위도 만들수 있겠군요.
현실(?)에서는 0이 많이져서 헷갈리지않도록 쉼표(,)로 천단위씩 끊어서 표시를 하죠, 액수가 커지면 ~~천원 식으로 천으로 나눠서 표시하기도 하고요.
우리나라 말에서는 만단위로 끊어서 읽는 것이 보편화 되었으니 만단위로 끊어서 골드/실버/코퍼 처럼 표시해도 될것 같군요.
예) 123456789원 -> (1단계) 123,456,789원 -> (1.5단계) 1,2345,6789원 -> (2단계) 1억 2345만 6789원
레임 어디선가 화폐단위에 관한 글이 있었던것 같은데..
2009.12.10 15:11:17 (*.36.230.139)
채이아빠
단위를 적절히 도입하면 시인성이 좋아지지요. 아직도 하드 단위를 말할때 기가라는 단위를 안 쓴다고 가정하면...
2009.12.10 17:51:17 (*.189.163.250)
ENII
금은동 나눠지는 게임도 각 단위별로 따로 변수를 할당하진 않아보이던데요. 즉 오버플로우가 늦게 오는 용도는 거의 없다는...
무슨말이냐면 와우가 대략 21만골드 정도가 한계치이고요 이거는 2^31 코퍼이기 때문에 한계가 되었다는 거죠. 즉 저장 자체는 코퍼로만 하고 보여주기만 골드 실버 코퍼로 나오는것 같습니다.
2009.12.10 20:28:50 (*.221.252.50)
무료한하루
해외에선 실 생활에서 만 단위 정도까지 밖에 사용되지 않는다고 합니다.
그래서 그 이상 되면 제대로 인지를 못한다고 하더군요.
예를 들어 우리야 연봉이 수천만~억 단위라 천만 단위나 억 단위에 별 거부감이 없지만,
해외(특히 북미?)에서는 만 단위 정도라 그 이상 넘어가면 제대로 세질 못하는 경우가 있다고 합니다.
2009.12.12 00:39:50 (*.51.74.159)
AI
다른 말씀 다 옳은 말씀입니다.
하나 더 굳이 세분화하면 유저의 보상수준이 달라집니다.
99쿠퍼와 100쿠퍼의 보상체계와 99쿠퍼 1실버의 차이를 인정하지 않으시면 모르지만..
99실버와 1골드의 차이도..
몇쿠퍼들이 모여 실버가되고 실버가모여 골드가 된다. 시인성,DB를 떠나 애초에 99쿠퍼 100쿠퍼 10000쿠퍼와 보상이 다른 컨텐츠입니다.
2009.12.15 18:35:10 (*.141.7.33)
재와니
간단하게. 사기율 감소, 화페관리가 편해짐..
단지 게임 운영쪽에 관련된 장점이지 서버쪽과 클라이언트쪽의 장점이라고는 할수 없군요.
단점은 화페구분이 하나의 시스템으로 적용되는만큼 보상방식부터 거래 방식도 시스템으로 따로 구축해야된다는 정도 아닐런지..
현실에서 모두 1원짜리를 쓰면 불편한 것과 마찬가지 아닐까요?