워낙에 많고 다양한 모바일 플랫폼을 개발을 하고(한 툴에 겨우 익숙해지면 다른 플랫폼 개발 프로젝트가 떨어지게 된다.) 그 다양한 이기종간에 네트워크를 개발하다보니...
바이트 오더링이 여간 신경써지는게 아니었다.
서로 네트워크 패킷이 오갈 때 사용하는 바이트 배열값이 동일한 플랫폼에서는 신경 안 써도 되는 것이지만, 이기종이다 보니 종종 원치 않는 값을 얻어오기도 한다.
게다가 모바일에서 주로 사용하는 Arm 프로세서라는 넘은 스위치 조작에 따라 빅엔디안과 리틀 엔디안을 설정할 수 있다.(둘다 지원한다는 소리다.)
그래서 값을 바이트 배열에 넣을 때는 무조건 아래 함수를 사용하는 버릇이 생겼다.
int getUint32(unsigned char * data, int index)
{
return ((data[index] & 0xff) << 24) | ((data[index + 1] & 0xff) << 16) | ((data[index + 2] & 0xff) << 8) | (data[index + 3] & 0xff);
}
void setUint32(unsigned char * data, int index, int i)
{
data[index] = (byte)(0xff & (i >> 24));
data[index + 1] = (byte)(0xff & (i >> 16));
data[index + 2] = (byte)(0xff & (i >> 8));
data[index + 3] = (byte)(0xff & i);
}
int getUint16(unsigned char * data, int index)
{
return (int)(((data[index] & 0xff) << 8) | (data[index + 1] & 0xff));
}
void setUint16(unsigned char * data, int index, int i)
{
data[index] = (byte)(i >> 8);
data[index + 1] = (byte)i;
}
64비트도 뭐... 이런식으로 하나 만들어서 사용해 왔다.
워낙 오래된 버릇이라 불편한 것도 몰랐고, 이젠 당연히 쓰게 되었다.
어느날 팀원에게 소스 주면서 아무 생각없이 이걸로 쓰라고 하자..
"왜요? 귀찮자나요.."
라고 한다..
달리 반박할 말이 생각나질 않는다..
동일한 플랫폼 안에서는 별 필요 없지 않은가????
쓸데 없는 버릇인가?
아닌 것 같은데......
Comments List
ㅋㅋㅋ
ㅋㅋㅋ
저도 답방겸.. ^^;; 제 Guestbook에 답글을 안다는 버릇이 있어서 이렇게 다시 들립니다.
저는 최근에는 게임자체를 '잘'만드는 업체는 게임빌이 컴투스 보단 더 잘만든다는 생각을 하고 있었습니다. 요즘 Gameloft게임들 보면서 그부분도 생각이 바뀌고 있긴 하지만요.
컴투스를 보면서, 그리고 현재 저도 모바일 게임 해외비지니스를 담당하고 있는 입장(디자이너라고 하셨는데, 처음에는 개임 개발자에서 시작해서 지금은 이일을 하고있습니다^^)에서 어찌보면 경쟁사이기도 하지만 컴투스가 해외에서 그리 좋은 성적을 내지 못한것에 대해 무척 아쉬워 하는 입장입니다. 나름대로 왜 그랬는지는 대략 분석하고 있지만 다 적기에는 너무 길어질것 같구요...
이 바닦이 워낙 좀아놔서 어쩌면 한,두다리 건너면 서로 알지 않을까 하는 생각을 해봅니다만...
답글이긴 하지만 너무 두서가 없군요 쩝...
업체들의 해외 진출은 답답한 국내시장을 한편으로는 떠나는 기회를 제공하기도 하지만 대부분의 결과는 비슷하더군요.
여러가지 원인이 존재하겠지만..
가장 중요한 것은 해외 진출의 목적의 명확성이 중요하다고 생각합니다.
진출해서 다운로드만으로 매출을 올릴 것인지, 해당 국가에서의 다른 전략적인 Plan이 있던지, 해외 진출을 통한 국내에서의 다른 이득을 얻는다던지...
게임이 재미있으면 되지...
라는 것은 컨텐츠가 문화와 트렌드를 통한 산물이라는 것을 너무 무시하는게 아닌가.. 하는 생각이 들더군요.
컴투스의 일본 미니게임천국 메뉴가 다운로드 상위를 항상 유지 했지만..
일본의 가격 정책, 포탈 운영의 방식의 차이..
등에 대한 이해력이 부족하였고…
일본 메뉴의 상위에 위치했다는 것을 다른 방안으로 적극 활용을 하지 못함으로서 해서 잠재적인 매출을 많이 놓쳤다고 생각합니다..
M-Dream의 최근 중국 시장에의 결과물은 이러한 명확성이 얼마나 중요한지 보여준다고 생각합니다. 모든 걸 다 얻기는 세계 시장도 아직은 좁다고 생각합니다.. ^^