이 블로그나 소셜 네트워크 서비스를 통해 꾸준히 이런저런 이야기를 꾸준히 따라오는 분이 은근히 많은 것 같더군요. 분노와 짜증에서 비롯된 헛소리도 많은데 엄청난 인내심을 발휘하는 당신은 글 쓰는 이가 바라는 최고의 독자입니다.
열혈 독자라면 가끔 진행 중인 오픈소스 프로젝트에 대해 언급한 걸 기억할지 모르겠습니다. 오늘은 그 프로젝트에 대해 이야기해볼까 합니다.
먹는 거야?
프로젝트 얼그레이는 온라인 게임 서버 엔진을 개발하고자 시작되었습니다. 2009년 4월 당시에 함께 일하던 다섯 명이 참가해서 여태 이어져 왔습니다. 기본 엔진을 구현하고 책을 펴내려는 계획으로 현재도 진행 중입니다.
gwkang, initialjk, joe.joey, banyaji, 그리고 kaistizen (주인장)은 3D 온라인 소셜 네트워크/게임을 개발했습니다. 상업적인 면에서 만족할 만한 성과를 내지 못했지만, 기술적인 부분에선 상당히 실험적이었고 얻은 바가 컸기 때문에 그 결과물을 버리지 않고 잘 이어가고자 합니다.
아직 성숙 단계가 아니지만 일부 기능은 쓸모가 있고 학생이라면 공부할 거리가 될 정도로 쌓여갑니다. 집필 중인 책 중 일부는 앞으로도 쭈욱 공개할 생각입니다. 오늘은 그 중 일부를 소개하지요.
개요
아무리 멋진 프로젝트라고 해도 내가 못 써먹으면 소용 없겠죠? 그러니 우선 어떤 환경을 지원하는지부터 살펴봅시다.
- Visual Studio 2008 + SP1
- Windows Vista 이상 (XP도 되긴 하나 보장 안 함)
좀더 자세한 정보는 문서 저장소를 참고하시길 바랍니다. 이 글은 어디까지나 소개일 뿐이랍니다.
문서 저장소
미디어위키로 관리되는 이 곳에 가면 개념, 구성, 빌드하는 법 등을 알 수 있습니다. 소스 코드에 대한 설명도 부족하지만 하나 둘 추가되는 중이니 기다려주시구요.
엔진은 실제 개발에 쓰려면 아직도 갈 길이 멉니다. 물론 소스 코드를 샅샅이 분석한 후이고, 기반 코드가 전혀 없는 경우에는 상당히 도움이 되긴 할 것입니다.
현재로선 빌드 자동화 등에 쓰는 빌드 도구의 완성도가 높습니다. 최근에는 UnityBuild가 쓸만한 수준까지 완성됐고, MSBuild 확장기능도 꽤 있습니다.
프로젝트 본부
구글 코드에서 소스 코드와 이슈를 관리합니다. 저장소로는 서브버전(Subversion)을 사용합니다. 꽤 규모가 커져서 처음 체크아웃 받을 땐 제법 시간이 걸립니다만 그 후로는 불편한 점 없이 사용 가능하답니다.
마치는 글
이렇게 중간 공개를 하는 이유는 여러분에게 피드백을 받을 수 있을까 싶어서 입니다. 일에 치여 사는 사람들이 이렇게 큰 규모로 프로젝트를 진행하다 보니 더딘데, 피드백이 있으면 더 힘이 될 것 같습니다.
아, 어떤 주제에 관심이 있는지도 알고 싶네요. 오픈 소스 프로젝트 관리, 빌드 자동화, 병렬 프로그래밍, 메모리 등등 다양한 주제가 있겠지요. 참고로 현재까지 구성한 목차를 적어봅니다. 아직 목차는 위키를 통해 공개되지 않았거든요.
- 서문
- 시작하기
- 빌드하는 법
- 태스크 큐
- 메모리
- 네트워크
- 품질
- 실습
- 예제 서버
- 테스트 클라이언트
- 빌드
- 협업
- 부록
글이 길어졌네요. 그저 소개 글인데 이래서야…… 그럼 피드백 기대하겠습니다.
[…] This post was mentioned on Twitter by CHOI, Jaehoon, CHOI, Jaehoon. CHOI, Jaehoon said: New post: 프로젝트 얼그레이 소개 http://bit.ly/hbLxen […]