· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
정말초짜게임개발입문자를위한FAQ

RenameThisPage
페이지 이름을 바꾸었으면 좋겠습니다. 좀 더 공식적인 이름으로 제안해주세요 --WkPark
그냥 간략히 '게임개발입문 FAQ'는 어떨까요? --gilchris 게임프로그래밍입문은 어떨까요 -- 세벌 2007-07-20 11:16:23

1. 게임 프로그래머를 주위에서 시작하는 사람이 많습니다. 뭐, 한번 해볼려고 하는데 어떤 분야인가요?

바야흐로 컴퓨터 게임은 TV나 신문에서 뿐만 아니라 이제는 모르는 사람이 없을 정도로 사회에서는 하나의 문화가 되었습니다. 어떤 것을 가지고 논다는 행위는 컴퓨터가 있기 전에서도 물론 존재했었지만, 컴퓨터라는 기계의 다양한 용도는 그만큼 다양한 장르의 게임을 양산하는 원동력이 되었던 것이 사실입니다. 이제는 TV에서 게임 플레이를 실시간으로 중계해 줄 정도로 인기가 올라갔지만, 컴퓨터 게임의 그 의미는 옛날이나 지금이나 거의 같습니다. (요즘의 포트리스2 같은 게임을 보면 옛날 게임으로 돌아가는 것이 아닌가 하는 생각마저 듭니다.)

하지만, 게임을 하는 것과는 달리 프로그래머의 입장에서 게임 프로그래밍이라는 부분은 그리 만만한 분야가 아닙니다. 단순한 하나의 게임을 만드는데 있어서 상당한 량의 지식과 두뇌노동을 요구합니다. 그 이유는 웹 프로그래밍, 시스템 프로그래밍과 같이 단지 하나, 혹은 두가지정도의 분야에만 성능개선 및 구현을 생각하는 것이 아니라 거의 모든 프로그래밍 분야를 섭렵하면서 가장 빠르면서 가장 보기좋은 것을 만들어내야하기 때문에 그 난이도는 상당히 높은 분야라고 할 수 있습니다. 국내, 해외에서도 게임개발에 대한 인식이 굳어져있는 까닭에 이제는 개발하는데 있어서 필요한 부분이 다소 정리되어있는 것은 그나마 다행이라고 할 수 있습니다.

현재는 전문화가 많이 이루어져 2D/3D, 네트워크등등 각 분야별로 나누어 인력을 모집하는 추세입니다. 그렇다 하더라도 각각의 분야에 대한 공부는 약간이라도 해두는 것이 좋습니다. 현재는 게임개발에 대한 서적이나 학원이 많이 생겨있으므로 여러군데를 알아보는 것도 좋을 것 같습니다.

2. 개발자 입장에서의 게임의 구성요소는 어떻게 되나요?

우선 실제로 게임을 플레이하는 것과 만드는 것과는 많은 차이가 있습니다. 특히 이런 점은 프로그래머외에 다른 분야의 사람들과 많은 이견을 나타내기도 합니다. 보통 기획자는 프로그램의 재미와 특징을 보다 많이 넣기를 프로그래머에게 요청하며, 그래픽 디자이너는 보다 편한 방법으로 게임에 쓰일 데이타를 넘겨주길 원합니다. 그런 것들은 프로그래머에게는 의무이자 부담으로 다가오게 되죠. 보통 게임을 제작하게 되면 팀을 이루어서 일하게 되는데 이때 필요한 게임을 제작하기 위한 분야의 인력은 보통 크게 3가지로 나누어지며, 각 분야의 역할은 다음과 같습니다.

  • 게임 기획자
    • 게임의 구성, 재미를 연출하는 아이디어등을 제시 및 창안
    • 게임의 세부적인 데이타 및 룰의 정의

  • 게임 프로그래머
    • 상품화될 게임 프로그램 작성
    • 디자이너의 작업을 돕는 게임개발툴의 작성
    • 기획자 및 레벨디자이너의 작업을 돕는 게임디자인툴의 작성

  • 게임 디자이너
    • 원화 및 전체 게임 이미지 디자인
    • 게임 상의 시각적인 모든 데이터의 작성
    • 3D 모델링 (3D 게임일 경우)

우리나라의 현실상 게임업계에서의 프로그래머의 비중이 큰 것이 사실입니다만, 실제로 프로그래밍과 그 이외 분야를 겸하는 전문가는 드물다고 할 수 있습니다. 게임프로그래밍에 있어서 하나의 게임을 만드는데 고려하는 사항들은 다음과 같습니다.

  • 자료를 어떻게 저장해야하는가 - 지금의 PC의 성능이 상당히 높아진 것이 사실이지만 그만큼 게임 데이타의 양이 커진 것도 사실이므로 게임의 쓰일 데이타들과 게임중에 만들어지는 정보들을 효율적으로 다루는 것은 개발에 상당히 중요한 부분입니다. 가능한한 빠르게 데이타를 저장하거나 얻어내는 부분과 관리하는 부분이라고 정리할 수 있습니다.
  • 어떻게 효율적으로 화면에 출력하는가 - 비트맵이라고하는 그림데이타를 모니터 화면에 빨리 찍는 방법, 3차원 입체데이타를 모니터에 부드럽게 애니메이션 시킬 수 있는 방법들을 고려해야 합니다. 특히, 움직이는 3차원 입체를 다루는 것은 상당한 기술과 학습량을 요구합니다.
  • 다른 게임 플레이어와 어떻게 통신하는가 - 인터넷이나 내부 네트워크를 통한 기술을 적용해서 게임에서 게임을 즐기는 사람들끼리 대전할 수 있도록 만드는 것은 매우 중요합니다. 특히 요즘의 추세를 봐도 당연히 고려해야 하는 부분입니다.

다른 분야의 사람들과는 달리 게임 프로그래머는 성능이라는 부분을 고민하는 분야입니다. 게다가 프로그래머가 구현할 수 있는 여부가 재미있는 게임을 기획하고 만드는데 있어서의 필수조건인 것도 명심해야 합니다. (즉, 3D를 구현못하는데 3D게임을 만들수는 없는 일이겠지요.)

3. 그렇군요. 공부해야하는 분야는 그럼 어떤 것이 있나요?

아래는 게임 프로그래밍을 시작하기 위해서 일반적으로 공부하게 되는 것들을 나열한 것 입니다. 물론 간혹 특이하게 개발하시는 분들도 계시지만 대부분의 프로그래머들이 겪게되는 단계라고 생각하시면 되겠습니다.

3.1. 프로그래밍 언어

  • C : 구조적 프로그래밍 언어의 대표격인 이 언어는 거의 게임 프로그래밍의 대명사입니다. 과거 MS-DOS시절때부터 사용되어온 프로그래밍 언어로써 포인터라는 특수한 문법과 빠른 실행속도때문에 대부분의 프로그래밍 개발환경에 꼭 포함되어 있으므로 꼭 익혀두어야 할 언어라고 할 수 있습니다.
  • C++ : C 언어로부터 파생되어져나온, 객체지향적 프로그래밍이라고 하는 좀더 진보된 프로그래밍 기법이 추가된 언어로 추가적으로 학습해야하는 부담만 제외하면 상당히 정리된 프로그래밍을 할 수 있게 해주는 언어입니다. 오늘날에는 거의 모든 개발툴들이 C와 C++을 모두 지원하며, 실제 프로그래밍 할 때에는 이 두 언어를 하나로 간주하고 쓰게 될 경우가 많습니다. 대표적인 Windows 개발툴인 Visual Studio는 C/C++을 둘다 지원하고 있습니다.
  • PASCAL : Inprise사의 델파이라는 툴에서 지원하는 언어로 상당히 구조적인 언어입니다. 윈도우의 사용자 인터페이스 부분은 거의 코딩을 하지 않아도 될 정도의 쉬운 개발환경을 제공하므로 게임자체를 개발하기보다는 게임 제작용 툴을 개발하는데 많이 사용되고 있습니다. 실제 게임프로그램 본체에는 타 라이브러리와의 호환성 문제로 잘 쓰이지 않고 있습니다.

3.2. Microsoft Windows Platform SDK (Win32 SDK)

Microsoft에서는 윈도우즈 프로그래밍을 위해서 C 전용 함수(하나의 기능을 수행하기위한 명령어들의 모음. C 문법 중 하나입니다.)들의 분야별 모음을 제공하고 있습니다. (이것을 흔히 라이브러리라고 합니다.) 공부하기에 상당히 방대한 양을 자랑하고 여러 분야로 나뉘어 있어 윈도우즈 프로그래밍을 시작하는 사람들의 가장 큰 난관이 되고 있는 부분이기도 합니다.

3.3. 자료구조 및 알고리즘

어느정도 언어에 익숙해지면 내부적인 데이터 관리가 상당히 중요해집니다. 이런 데이타 관리방법에 대한 이론을 보통 자료구조''라고 지칭하는데 게임 프로그래밍 성격상 어느정도 계속 학습을 해주어야 하는 분야이기도 합니다. STL과 같은 C++ 표준라이브러리를 보시면 도움이 많이 될 것 입니다. 알고리즘'''이라고 하는 것은 어떠한 기능이나 효과를 구현하기 위한 일련의 단계나 방법을 정형적으로 설명한 것이라고 생각하시면 됩니다. 간단히 말하면, 어떤 것을 구현하는데 괜찮은 방법이 하나 있다라고 말하는 것을 어떤 것을 구현하는 알고리즘을 제시한다라고 하죠.

3.4. 2D 게임개발 라이브러리

흔히 우리가 접하기 쉬운 2D 게임을 제작할 수 있도록 도와주는 라이브러리들입니다. 상업적인 게임프로그램 제품을 만들기 위해서는 어느정도 고성능을 내기 위한 특수한 기능의 함수들을 사용해야하는데, 주로 화면 출력을 담당하는 경우가 많습니다. 다음은 그 종류 입니다.

3.4.1. DirectX 7.1 - DirectDraw

Microsoft사에서 제공하는 게임전용 화면출력 라이브러리를 말합니다. 상당히 빠른 속도를 자랑하지만 상당히 화면출력 하드웨어 구조에 대해 어느정도의 이해가 있어야하고 함수들의 사용법이 난해한 것이 단점입니다. 오늘날 가장 많이 사용되는 라이브러리라고 할 수 있습니다.

3.4.2. GDI

위에서 언급한 Win32 SDK의 한 부분으로 화면출력만을 담당하는 부분을 말합니다. DirectDraw보다는 느리지만 게임 이외의 분야에도 보편적으로 사용되며 사용하기 비교적 쉽다는 것이 장점입니다.

3.4.3. SDL

Loki Software라고 하는 회사에서 만든 Linux용 게임 라이브러리입니다만, 윈도우즈에서도 사용할 수 있습니다. 한번의 코딩으로 여러 운영체계용 게임을 동시에 만들수 있다는 것이 장점이지만 디버깅이 어렵고 한글지원이 안되는 등 여러가지 단점때문에 아직은 발전단계에 있는 라이브러리라고 할 수 있습니다.

3.5. 3D 게임개발 라이브러리

현재 게임개발에서 이슈가 되고 있는 3D 게임을 개발하기 위한 기초 라이브러리들입니다. 수학적인 바탕까지도 요구하는 상당한 난이도를 필요로 하는 분야라고 볼 수 있습니다. 다음은 게임업계에서 가장 많이 사용되는 라이브러리들입니다. 보통 아래 나열한 두 개중 하나의 라이브러리위에 엔진이라고 하는 좀더 고급 라이브러리를 제작하여 사용하는 것이 보통입니다.

3.5.1. DirectX 8 - DirectGraphics

Microsoft사에서 제공하는 게임전용 3D 라이브러리를 말합니다. (앞서말한 DirectDraw를 포함하고 있으며 버전 8부터 명칭이 바뀌었습니다.) 윈도우즈용 3D 게임프로그램을 작성하시게 된다면 꼭 고려해보셔야하는 라이브러리 중 하나입니다. 단점이라면 M$의 지원하에 이루어지는 라이브러리이고 공개가 아닌 까닭에 신규 기술에 대한 내용을 제시하는 웹상의 자료에서나 서적에서는 많이 언급하지 않는 편입니다. 많이 라이브러리의 성능이 좋아진 까닭에 현재는 Directx를 주제로한 서적도 많이 출간되는 상황입니다.

3.5.2. OpenGL

SGI(실리콘 그래픽스)에서 창안하여 전세계 3D 프로그래밍 표준으로 자리잡고 있는 라이브러리입니다. ID Software의 퀘이크라는 게임이 이 라이브러리를 기반으로 사용하여 제작한 후 전세계적으로 큰 인기를 누리면서 같이 유명해진 라이브러리라고 볼 수 있습니다. 여러 운영체계를 지원하므로 리눅스, 윈도우즈, 매킨토시등 어디서나 사용할 수 있는 장점이 있는 반면, 윈도우즈상에서는 DirectGraphics보다 약간 성능이 떨어지는 것으로 알려져 있습니다. 국내외 웹에서 상당한 자료를 찾을 수 있으며 (원서지만) 많은 서적이 출간되어있습니다. 거의 대부분의 3D 이론이나 알고리즘은 이 라이브러리로 설명하는 편입니다.

3.6. 네트워크 라이브러리

현재 상당한 수의 네트워크 프로그램용 기반 라이브러리가 나와있습니다만, 대표적으로 게임쪽으로 알려진 것은 두가지입니다.

3.6.1. DirectPlay

Microsoft에서 제공하는 게임서버및 클라이언트 제작용 라이브러리 입니다. 비교적 쓰기 쉽다는 것이 장점이며 버전 8이 되면서 많이 안정화가 되었습니다. 대규모 개발에는 어울리지 않으며, P2P 기반의 게임에는 쓸만하다는 평가가 있습니다.

3.6.2. Winsock2 - socket

게임서버 뿐만이 아니라 네트워크 프로그래밍 전분야에 걸쳐서 일반적으로 사용되는 라이브러리이지만 네트워크에 대한 많은 지식을 요구하며, 기반적인 코드만이 존재하는 것이 단점입니다. 다시 말하면, 상당히 저레벨 함수들만 있어 대부분의 기능은 손수 개발해야 합니다.

3.6.3. ACE(Adaptive Communication Environment)

개인적으로 제가 사용하는 C++ 기반의 네트워크 라이브러리입니다. 미국의 대학 연구실에서 몇 년에 걸쳐서 개발한 오픈소스 라이브러리이며, 상당히 고성능의 서버 구조를 제공합니다. 배우기 어렵고 자료가 거의 없는 것이 단점이지만, socket 라이브러리를 사용해서 개발할 때 생길수 있는 시행착오에 대한 요소들을 많이 보정한 것이 장점이며, 패턴과 연구논문들에 기반한 상당히 고성능의 서버형식을 지원합니다.

4. 어떻게 프로그램을 만들죠?

프로그램은 일반적으로 exe화일 형태로 제공됩니다. exe화일은 소스코드로부터 컴파일러와 링커에 의해서 생성됩니다.

5. 소스코드가 뭐죠?

소스코드는 프로그래머가 작성하는 산출물을 의미합니다. 다음과 같은 것을을 말하죠:

highscore[game]++;
printf("%d\n",highscore[game]);


이 소스 코드 현재 게임의 하이스코어를 1 증가시키고 그 내용을 출력하는 내용입니다. 프로그래머는 많은 량의 소스코드를 작성합니다. 1만 라인의 소스코드를 작성하는 것 정도는 그렇게 특이할 만한 일이 아닙니다. 좀더 세련된 게임은 훨씬 더 많은 라인을 가지는 것이 보통입니다.

6. 컴파일러라는 게 뭐죠?

컴파일러는 소스코드를 exe 화일로 바꾸어주는 툴입니다. 최신의 컴파일러들을 몇가지 쓸만한 툴들을 같이 제공하는 것이 보통입니다. 이것은 소스코드 에디터나 디버깅 툴들을 말합니다.

7. 링커가 뭐죠?

링커는 컴파일러와 비슷한 역할을 하는 프로그램입니다. 오늘날에는 이것은 컴파일러의 부속품으로 포함되는 것이 보통입니다. 링커는 링킹 처리만을 전담하는데, 이 처리는 소스코드가 컴파일된 후 생성된 이진 화일들과 자원화일, 라이브러리화일등등을 조합하여 exe 화일을 생성하는 작업을 의미합니다.

8. 컴파일러를 어디서 얻을 수 있을까요

구입하세요.상당한 다양한 종류의 컴파일러를 구할 수 있을 겁니다. (Inprise나 Microsoft등등) gnu c++과 같은 공개용 컴파일러들도 구할 수 있으나, 상용보다는 사용하기가 어렵고 까다로운 것이 보통이죠.

9. 어떤 컴파일러가 가장 좋은 컴파일러죠?

각각의 컴파일러마다 나름대로의 특징을 가지고 있습니다. 여러분이 선호하는 컴파일러를 고르면 됩니다. 각 컴파일러별로 지원하는 기능의 차이가 약간씩 있으므로 나름대로 비교해보는 것이 좋습니다. 간단한 비교를 하자면,

  • MS의 Visual Studio 개발툴은 상당히 사용하기 편한 에디팅환경과 디버깅환경을 지원하지만, 가격이 비싸고 윈도우 운영체계만을 편중되게 지원하는 단점이 있습니다. 하지만, 대부분의 개발자가 이것을 사용하므로 반드시 익히셔야하는 개발툴 중 하나입니다.
  • Inprise의 C++ 빌더, 델파이와 같은 개발툴 제품은 다소 불편한 에디팅환경이며, 익숙해지는데 시간이 걸리지만, 훌륭한 코드 부품(컴퍼넌트라고 한다) 개념들이 존재해서 결과 프로그램을 제작하는데 있어서의 시간을 상당히 줄일 수 있는 장점이 있습니다. 게다가 kylix라고 하는 리눅스용 개발툴도 발표한 상태이므로 운영체계별로 별도로 개발해야하는 부담을 덜어줄 수 있습니다. (하지만, 여전히 비쌉니다.)
  • GNU C 컴파일러는 완전히 공개이고, 비용이 전혀들지 않지만 부가적인 에디터를 제공하지 않으며, 메뉴얼이나 도움말도 아주 단순한 형태로 제공합니다. 컴파일 기능도 자동화 되어있지 않고 사용법을 익히는데 상당한 시간이 소요될 수 있습니다. 하지만, 거의 모든 운영체계와 언어들을 지원하는 상당히 강력한 개발툴입니다. 어느 정도 다른 사용하기 쉬운 개발툴로 시작한 후에 접하면 좋을 겁니다.
  • Metrowerks 사의 Codewarrior 제품군은 상당히 여러 운용체계와 언어를 지원하며 (GNU C 컴파일러의 지원분야와 거의 맞먹습니다.) 나름대로 컴팩트한 에디팅 및 디버깅환경을 지원합니다. 개발툴의 가격이 저렴한 편이며, 몇몇 운영체계 개발에서는 이것만이 유일한 개발툴인 경우도 있습니다.

10. 프로그래밍 언어란 뭐죠?

소스코드는 각각의 다른 언어로 쓰여질 수 있습니다. 가장 인기 있는 언어는 C, C++, PASCAL(델파이에서 사용하죠), FORTRAN, BASIC을 들 수 있습니다. 모두 장점, 단점을 가지고 있습니다. 몇몇가지는 배우기 쉽고, 강력한 특징을 가지고 있습니다. 전문적인 프로그래머는 보통 한가지 이상의 언어를 알고 있는 경우가 보통입니다.

11. 무슨 언어를 반드시 익혀야만 하나요?

그것은 전적으로 여러분의 선택에 달려있습니다. 단지 한번 해볼까...하는 측면이라면 Microsoft의 비쥬얼 베이직이나 Inprise의 델파이가 좋은 선택이 될 수 있습니다. 하지만 전문적인 프로그래밍에 대한 실력을 높이시려면 반드시 C/C++은 고려해야할 것입니다. 이 언어는 난이도가 있으므로 차근차근 진입하는 것이 좋겠죠.

12. C와 C++언어 사이에 차이점이 무엇이죠?

C++은 C에서 약간의 확장 문법을 첨부한 언어입니다. (클래스라고 하죠) 하지만, 이 첨부된 문법덕분에 "객체지향"이라는 아주 진보적인 개념으로 프로그래밍할 수 있게 되었답니다. 기존의 C언어는 "구조적" 방식의 프로그래밍 구조를 택하고 있습니다. 당연한 이야기겠지만, C++을 배우기 전에 C를 먼저 익히시는 것이 좋습니다.

13. 디버깅이란 뭐죠?

디버깅이란 버그라고 불리는 프로그램상의 "실수"를 고치는 일을 말합니다. 이것이 "벌래"를 잡는 것만큼 귀찮고 힘든 일이라는 의미에서 이런 이름이 붙게 되었죠. 몇몇 버그는 컴파일러가 알아서 검사한 후 제시하므로 쉽게 고칠 수 있습니다. 하지만 흐름이나 로직상의 버그는 계속 신경써서 고쳐나가야 합니다. 완성된 게임도 계속해서 "patch"라는 것을 내놓는 것을 볼 수 있는데, 이것은 버그의 수정본을 대체하는 것을 의미합니다. 프로그램을 작성하는 것보다 이 버그를 잡는 일이 프로그래머에게는 가장 큰 고역이라고 할 수 있죠. (소화불량이 생길 정도랍니다. ) 일반적으로 프로그램을 작성하는 시간보다 디버깅에 걸리는 시간이 더 많습니다.

14. 어떤 수업이나 과목을 공부해야 할까요?

이것도 물론 여러분의 선택에 달려있습니다. 하지만 가능한 많은 과목과 많은 수업을 듣기를 추천합니다. 특히 다음과 같은 과목이 도움이 되겠죠:

  • 수학
  • 물리학
  • 기계공학
  • 프로그래밍
  • 알고리즘

다음과 같은 것들이 여러분의 게임제작실력을 높이는 데 도움을 줄수 있습니다:

  • 아티클 (인터넷에 많이 기고되어있는 지금 여러분이 읽고있는 이런 형태의 글들)
  • 심리학 (이것은 게임을 구입하거나 플레이하게 하는 성향을 이해하는데 도움을 줍니다)
  • 역사 (전략게임이나 전쟁 게임을 제작하는 데 있어서 필요)
  • 문학 (게임상의 대사나 스토리라인의 제작에 필요)
  • 마케팅 (게임을 홍보하거나 파는데 중요)
  • 미술/디자인 (두말할 필요가 없겠죠?)
  • 음악 (게임의 분위기를 ↑해주는 역할을 합니다)

일반적으로 성공한 게임 제작자들은 상당히 다양한 분야에 대한 지식을 가지고 있는 것이 보통입니다. 꼭 해당분야의 학위가 필요한 것은 아닙니다만, 항상 관심을 두고 공부하는 것이 중요하겠죠.

15. 게임 개발자는 얼마나 많이 법니까?

벌수 있는 한계는 정확히 정할 수는 없습니다만, 수입에 대한 것은 전적으로 그 개발자의 실력에 달려있는 경우가 많습니다. 게임개발에 대한 기술은 상당히 빨리 변하는 경향이 있으므로 살아남기 위해서는 기술에 대한 공부나 구현에 항상 신경을 써주어야 합니다. 대부분의 게임 개발자는 수입보다는 자신의 일에 대한 애착이 중시되는 경우가 많기 때문에 수입이 그리 높지 않다고도 말할 수 있겠죠. 일반적으로 완제품의 상용수준의 게임을 개발할 수 있는 실력이면 상당한 수입을 얻을 수 있지 않을까 생각합니다.

16. 어떻게 게임에 그래픽요소들을 집어넣죠?

디자인 산출물을 게임에 적용하는 방법이 상당히 다양하므로, 그것에 따른 라이브러리를 사용하는 것이 보통입니다. 2D 데이타 같은 경우는 이미지를 메모리로 읽어들이기 위한 라이브러리를 사용하는 경우가 일반적입니다. 3D 데이타 같은 경우는 직접 해당 그래픽 저작 툴에 대한 가져오기 툴이나 변환기 프로그램을 만들어서 여러분의 코드로 읽어오는 경우가 일반적입니다. 지금은 라이브러리에서 이런 툴이나 기능을 제공합니다.

17. DirectX가 뭐죠?

DirectX는 Microsoft에서 지원하는 게임 및 멀티미디어 전용 라이브러리의 명칭입니다. 이것은 각 역할 별로 몇가지 부분으로 나뉘는데, DirectGraphics, DirectSound, DirectInput등등이 있습니다. 각각, 화면 입출력이나 조이스틱 입력의 처리, 사운드 입출력등등을 담당하며, 만일 윈도우 기반의 게임을 만든다면 거의 필수적인 라이브러리라고 할 수 있습니다. 상당히 윈도우 운영체계에 최적화된 처리를 할 수있다는 장점이 있지만, 배우기 난해하고 라이브러리의 변화의 폭이 큰 까닭에 기술습득이 다소 불편하다는 단점이 있습니다. (이것은 버젼 8에서부터는 다소 나아졌다는 평입니다.)

18. OpenGL이 뭐죠?

OpenGL은 DirectX의 대체라이브러리이며, 특별하게 3D부분에 대해서만 기능을 지원하는 라이브러리입니다. 상당히 강력하고 윈도우뿐만 아니라 리눅스등등 다른 운영체계에서도 동작하는 게임을 만들때 유리합니다. 퀘이크라는 1인칭 슈팅 게임이 이 라이브러리 기반으로 만들져서 유명해졌죠.

19. 어떤 책을 봐야하나요?

게임관련추천서적을 참조하세요.

행운을 빕니다!






sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2007-07-20 11:16:23
Processing time 0.0173 sec