GPG 3권 번역일지 2002.10.13

제목 그대로..<BR>번역하면서 생각나는 것들을 올리겠습니다... 가끔 질문도 할께요(번역 용어 등등)..

Moderator: 류광

류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

GPG 3권 번역일지 2002.10.13

Post by 류광 »

계속해서..

1.4는 1권에 나왔던 함수 바인딩 기법을 플랫폼 독립적으로 확장시킨 것입니다... 스크립팅 구현이나 네트웍 상의 RPC 관련. 글에 나온 주요 기술은 Lex와 Yacc를 이용해서 함수 바인딩용 C 코드를 자동 생성하는 것입니다...

개인적으로는 스크립팅에서 LUA 같은 기존 언어와 Swig를 이용하는게 백배는 편할 듯 하고(실제로 이 글에도 기존 스크립팅 언어를 사용한다면 Swig를 참고해 보라고 되어 있네요) 글이 너무 짧아서 좀... 다만 이 글을 통해서 Lex와 Yacc에 관심을 가질 독자들도 있을 것 같습니다.

1.5는 핸들 기반의 똑똑한 포인터(스마트 포인터).. 기본적으로 메모리 관리 문제입니다. C++ 고급 과정으로 넘어갈 때 반드시 마주치는 똑똑한 포인터와 C API들에도 많이 쓰이는 핸들의 장점만을 결합한다....라는 요지의 글입니다. 활용가능성 100 점의 글이라 평가합니다..

1.6은 STL 할당자를 직접 정의해서 쓰는 방법인데 개인적으로 무척 재미있게 읽었습니다. 번역하기도 쉬웠구요... 참고서처럼 잘 요약된 글이네요. 대체로 기조는 '이부분은 그대로 따라하고 이 부분은 필요에 맞게 조금만 수정하면 된다'라는 식의 제가 아주 좋아하는 스타일입니다 ^^

1.7은 게임 저장에 대한 글입니다. 물론 게임 기획 차원은 아니고, 프로그래밍 차원에서 게임 객체들의 직렬화와 그러한 직렬화를 어느 정도 자동화하는 쪽의 접근입니다.

본문은 말하고자 하는 내용에 비해 짧은 느낌.. 대신 CD의 소스를 파고들어야 할 듯...

1.8은 지금까지 나온 글들 중 가장 눈에 들어왔던 글.. 자동목록(autolist)라는 패턴을 소개하고 있는데요. 자동목록 패턴이란 간단히 말하면, 객체를 생성하기만 하면 자동으로 그 객체가 그 객체의 클래스에 고유한 목록에 추가되고, 객체를 파괴하면 자동으로 그 목록에서 제거되는 것입니다.. 후후후... CD에 구현 코드가 들어 있음. 짐작하셨겠지만 상속, 정적 멤버, 생성자과 소멸자의 적절한 호출, 그리고 템플릿으로 구현됩니다. C++에 어느 정도 익숙하신 분이라면 구현 코드를 보지 않고 개념만으로도 직접 구현할 수 있을 듯....

클래스 별로 객체들의 목록을 관리한다고 할 때 상당히 편한 기법인 것 같습니다. 패턴이라기보다는 숙어(idiom)에 가까울 것 같기도 하구요.

1.9는 부동소수점 예외 처리에 대한 것인데 특히 정교한 3D나 물리 시뮬레이션을 꿈꾸는 분들은 한 번 심도있게 파볼 분야인 것 같습니다. 속도와도 관련이 있구요.... 컴파일러의 기본 설정에 그냥 만족하고 있었거나, 또는 수치 연산 결과가 이상하게 나왔던 경험을 가진 분들이라면 흥미를 가질만한 글입니다...

1.10은 UML을 통해서 게임 디자이너과 엔진 프로그래머 사이의 의사소통을 원활하게 하고, 그래서 프로그래밍 작업이 게임 디자인을 정확히 지키게 만드는 방법을 이야기하고 있는데, UML에 대한 내공이 부족해서 번역을 좀 미뤄두고 있습니다.

어쨌든 드디어 UML이 등장했군요.. 이런 글을 기다렸던 분들도 꽤 많을 듯...

1.11은 데이터 주도적 프로그래밍의 확장으로, 커스텀 데이터 파일의 파서를 Lex와 Yacc로 생성하는 기법을 이야기하고 있습니다. Lex와 Yacc를 짧은 글로 다루기에는 좀 벅찬 듯한 느낌이지만 어쨌든 Lex와 Yacc를 게임 개발자들에게 소개하고 간단한 예를 통해서 맛을 보게하는 정도로도 충분히 의의가 있을 듯 하네요.. 1.4 보다는 예제가 좀 더 많고 현실적입니다.

1.12에는 한국의 스타크래프트 열풍이 언급되어 있는데.... 왜냐하면 글의 주제가 세계 시장을 위한 게임 개발이기 때문입니다. 미국 이외의 나라에서 먼저 출시되어서 크게 성공한 사례로 리니지도 언급되어 있네요. 뭐 그렇다고 마케팅 차원의 글은 아니고, 국제화/지역화 공정에서 프로그래밍과 테스트 측면의 주요 고려 사항들을 이야기하고 있습니다. 주로는 다양한 언어들에 대한 문자열 표시와 입력, 편집 시 생길 수 있는 문제점과 해결책을 지적하고 있구요... 기본적으로 2바이트 문자 인코딩 체계를 사용하는 한국 독자 입장에서는 당연한 말들도 좀 있긴 하네요.