MMORPG를 개발하기 위해서 C, C++, OOP, 병렬 프로그래밍은 기본기와 같다. 그러기에 각각이 어떤 것인지에 대해서 간략히 정리하고 GameC++가 무엇인지 정의한다.
C
Unix 시스템에서 유틸리티 프로그래밍을 제작하기 위해서 만들었다고 한다1). 핵심 요소는 다음과 같다.
C++
C에 객체지향의 표현력을 추가하기 위해 만들었다. 객체 지향의 표현력 중에 어떤 것들인가?
Modern C++
탬플릿으로 대표되는 C++이지 않을까???
병렬
멀티코어 시스템에서 이제는 메모리 버스의 병목이 가장 큰 성능 이슈다.
GameC++
GameC++이란, 게임은 성능이 중요한 도메인이다. 하지만, MMORPG의 경우, 프로젝트의 규모도 크고, 서비스의 기간도 길기 때문에 유지보수를 위해 읽기 편한 표현을 필요로 한다. 많은 C++ 코드 중에 이 두가지의 균형이 잘 잡힌 것들 만을 모아논 서브셋을 말한다.