게임 개발할 땐 텍스트 파일 형식을 되도록 사용하세요.

많은 사람이 게임 개발을 편리하게 하는 것에 대해 깊이 고민하지 않습니다. 개발이 편해야 기능을 쉽게 변경할 수 있고, 그래야 사용자의 요구에 맞는 게임을 더 빨리 완성할 수 있습니다.

특히 이진 파일을 개발에 활용하는 경우가 많은데, 이보다는 텍스트 형식의 파일을 쓰는 게 개발을 편하게 합니다. 여기에서 말하는 텍스트 형식 파일은 .txt 확장자로 된 순수 텍스트 파일뿐만 아니라, XML, JSON, 또는 YAML처럼 사람이 읽을 수 있는 형식의 파일도 포함합니다. 텍스트 형식 파일의 유용함에 대해서는 <The Pragmatic Programmer>와 <The Art of Unix Programming>이라는 책에 잘 나와 있습니다.

<The Pragmatic Programmer>에서는 다음과 같은 점을 텍스트 형식의 장점으로 들고 있습니다. 형식에 대한 부분적인 정보만 갖고도 처리할 수 있어서 생명력이 길다는 것, 다양한 프로그램을 통해 자료를 처리할 수 있다는 것, 자료를 수정하며 시험하기가 쉽다는 것, 그리고 호환성이 좋다는 것 등입니다.

제 생각에 게임 프로그래밍에서 텍스트 형식의 가장 큰 장점은 복잡한 과정을 거치지 않고도 사람이 곧바로 이해할 수 있다는 것입니다. 예를 들어, 프로그램에서 이진 파일을 읽어 표시하는 어떤 값이 정상적이 아닐 때, 이게 파일의 문제인지 프로그램의 문제인지 파악하기 힘듭니다. 그래서 원인을 파악하려면, 디버깅을 하거나 로그를 남겨서 추적해야 합니다. (아니면 hex 편집기에서 파일을 불러다가 값을 16진수로 변환해서 찾을 수도 있습니다.) 하지만 텍스트 파일일 경우엔 일반 편집기에서 부른 다음, 눈에 보이는 값을 그대로 찾아서 확인하면 파일의 유효성에 대한 확인이 끝납니다. 파일에 대해 확신할 수 있으므로, 프로그램의 버그인지 여부가 분명해집니다.

또 텍스트로 작성한 자료를 이진 파일로 변환하는 프로그램을 돌려야 하는 일이 적어지므로, 개발의 속도가 증가되고 실수가 줄어든다는 장점도 큽니다. 크기가 고정되지 않아, 확장성이 뛰어나다는 것 또한 텍스트 형식 파일이 갖는 장점입니다.

읽기 속도 문제 때문에 텍스트 형식을 꺼리는 경우가 많은데, 용량으로 인한 속도 문제는 압축하면 됩니다. 압축으로도 속도 문제를 극복할 수 없다면, 개발엔 텍스트 형식을 쓰고 배포엔 이진 형식을 쓰는 것도 한 방법입니다.

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중