미즈키 나나 싱글 앨범 - Exterminate

프로그래밍 2009. 7. 10. 21:04


게임을 좋아한다면 게임 회사에서 일하고 싶다는 생각을 한 번쯤 해봤을 것이다. 올해부터 시작된 각 회사의 공채 덕분에, 면접에서 어떤 질문을 하는지 알아낼 수 있었다.

 

게임 회사에서 일할 수 있는 분야는 게임 기획, 디자인, 프로그래밍, 기술 지원, 경영 등 다양하다. 따라서 관련 전공 질문은 제외하고 일반적인 질문만 모아봤다.

 

 

1. 우리 회사의 강점과 약점은 무엇이라고 생각하는가?

 


2. 유저의 폭을 넓히고 싶다. 더 나이가 많은 연령대나, 여성 유저를 늘리기 위해선 어떻게 해야한다고 생각하는가?

 


3. 게임(회사의 특정 게임)의 장점과 단점을 들어보라.

 


4. 부분 유료화에 대해서 어떻게 생각하는가?

 


5. 아이템 현거래에 대해서 어떻게 생각하는가?

 


6. 게임 뭐 좋아하나? 얼마나 했나? 무엇을 잘 하는가?

 


7. 현재 게임(회사의 특정 게임) 운영을 어떻게 평가하는가? 다른 아이디어가 있는가?

 


8. 왜 우리 회사에 지원했는가?

 


9. 주 5일 근무라고는 하지만 사실상 지켜지기 힘들다. 개인 시간을 가질 수 없을 만큼 회사에서 보내는 시간이 절대적이다. 괜찮은가? 애인 만날 시간도 없는데 어떻게 하겠는가?

 


10. 게시판에 올라오는 고객의 비난 글을 본 적 있는가? 어떻게 해결해야 된다고 생각하는가?

 


11. 게임을 얼마나 했는가? 레벨이 몇인가?

 


12. 게임(회사의 특정 게임)을 소개하고 파는 멘트를 해보라.

 


13. 다른 나라(일본/대만/중국/미국 등등) 시장에 진출하려면 어떻게 해야 되겠는가?

 


14. 온라인, 오프라인 이벤트를 만든다면 어떤 것이 효율적이겠는가?

 


15. 향후 게임 산업에서 주류가 될 플렛폼은 무엇이겠는가?

 


16. 미국의 E3나 동경 게임쇼에서 출품된 차세대 모델에 대해 아는가?

 


17. 우리 회사에서 교육용 게임을 만들려고 한다면 어떤 식으로 해야할까?

 


18. 우리 회사에 지원했는데, 입사하기 위해 어떤 노력을 했는가?

 

 

조사 대상은 2005년 엔씨소프트, 제이씨엔터테인먼트이고 자료 조사는 실제로 올해 면접을 봤던 사람들의 후기를 모 카페에서 보고 정리했다.


posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 21:03

21.게임회사 면접


게임 회사 면접 목록을 올렸더니. 의외로 관심있는 분들이 많아서..

저도 면접을 준비하기 위해서 조사했던 자료중에서 하나를 더 꺼내봅니다.^^

아마 저번에 네이버 백수 카페인가에서 '면접관련' 게시판에서 스크랩했던

기억이 납니다.

 

NC의 면접 목록인데.. 대부분의 내용이 아래와 겹치네요.^^

-----------------------------------------------------------------------

1. 자기소개를 하시오.


2. 업무가 과중해서 스트레스 및 사회생활을 제대로 못할 수도 있는데 어떻게 하겠는가?


3. 본인의 전공에 대한 자세한 질문


4. NC소프트에 지원한 동기


5. 리니지, 리니지2의 성공요인은 어디에 있다고 생각하는가?


6. 개발능력에 대한 질문 다이렉트X, 인덱싱, 객체지향언어, MMORPG의 정의, ART GRAPHIC에 대한 설명(개발자의 경우)


7. 본인이 만들고 싶은 게임장르는 무엇이며 다른 장르와 비교설명하라.(개발자의 경우)


8. 향후 NC는 어떤 시장을 개척해야 하는가 그 이유를 설명하라. (마케팅/전략)


9. NC에서 제작한 게임을 사용한 적이 있는가 장단점에 대해 설명하라.(마케팅/전략)


10. 국내 게임시장은 어떻게 변모할 것이며 어떻게 대응해야 하는가.(마케팅/전략)

 

'프로그래밍' 카테고리의 다른 글

22.게임 회사 면접에 나오는 질문 목록  (0) 2009.07.10
21.게임회사 면접  (0) 2009.07.10
20.그래픽 카드중direct x와 openge가 무엇인가요  (0) 2009.07.10
19.Win API에 관한 질문 입니다..  (0) 2009.07.10
18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 21:03

20.그래픽 카드중direct x와 openge가 무엇인가요


Direct X와 OpenGL

워낙 전문적인 분야라 대략적인 상식선의 대답밖에는 못 드릴 듯 합니다.

Direct-X와 OpenGL은 그래픽을 어떻게 가속해 보여줄 것인가에 대한 정의입니다.

다이렉트X는 마이크로소프트사에서 개발한 독자적인 인터페이스이고, OpenGL은 세계유
명 IT 기업들이 참여해 규격을 제정하고 각각의 방법으로 그 표준을 지원하는 인터페
이습니다. 리눅스, 유닉스, 맥OS 등의 모든 운영체제에서 오픈GL을 지원합니다.

그 용도에 있어서 다이렉트X는 아직까지는 게임, 멀티미디어 용도로 밖에 사용되고있
지 못합니다. OpenGL은 게임보다도 3D에니메이션, CAD 등 전문 산업용도로 사용되고
있습니다.
간혹 OpenGL을 사용하는 게임이 있는데, 이것은 미니GL이라고 하며 게임에서 사용되
는 몇가지 OpenGL의 기능을 모아놓은 것입니다.

범용적으로 OpenGL을 풀 가속할 수 있는 그래픽카드는 수백만원에서 수천만원씩 합니
다. ^^

최근 MS는 OpenGL 포럼에서 탈퇴를 선언했습니다. 아직까지 그 의도가 파악되고 있지
못한 상태지만 다이렉트X를 본격적으로 키워보려는 생각인지도 모르죠.


사용중인 그래픽카드를 알고 싶으시면 케이스 열어서 그래픽카드를 뽑아들고 적혀있
는 제조사/모델명을 확인하시는 방법 밖에는 없습니다.
단순히 어떤 칩셋이 쓰였다 알고 싶으면 디스플레이등록정보에서 살펴보시면 나옵니
다.

=================
답변입니다 아는것만요

다이렉트X는 M$에서 만들었습니다 윈도에서 게임이나 동영상 돌릴수 있게 하기위해서죠
그 종류가 다이렉트3D,다이렉트드로우,다이렉트뮤직,다이렉트사운드,다이렉트인풋 등등이
있습니다 이것들을 통틀어서 부르는거구요 OPEN GL은 다이렉트X가 맘에 안들어서 ID소프트,
에픽게임즈와 같은 게임제작사들이 만든 규격입니다 3D에는 확실히 강하죠 다이렉트X는
9.0까지 나왔지만 안정성이 없다시피하구요 8.1이 좋습니다
오픈GL은 1.3까지 나왔지요 다이렉트X보다 업데이트는 느리지만 아직도 3D는 다이렉트X 보다
우위에 서있지요 그리고 그래픽카드 확인방법은 제어판->시스템->장치관리자탭->디스플레이
클릭하시면 됩니다

=================
간단하게 답변드리죠

길면 서로 힘들기에...간단하게 하겠습니다.

다이렉트엑스라함은....
소프트웨어로 그래픽을 보여주는것을 말합니다.
마이크로소프트에서 개발하는 소프트웨어죠.
사용분야가 너무 많아서 설명하기엔...모 하여튼 그래픽,사운드등
여러가지 다용도 엔진이라고 표현하면 쉽겠네요.

이 다이렉크X를 이용하여 그래픽을 보여준다는것이고요...
오픈GL이라함은.... 하드웨어방식으로 보여주는 것을 의미합니다.

당연히 오픈GL을 지원하는 그래픽카드여야합니다.
그래픽카에사에서 오픈GL기능을 심어서 판매하는 것입니다.
그 기능때문에 수십만원에서 수백만원의 그래픽카드까지 나옵니다.
저는 백만원이 조금 넘는그래픽카드는 써봤으나...
돈있는 사람들이 할짓이죠. 저라면 그돈으로 듀얼그래픽으로 사용하겠죠.

하여튼... 이런식의 정의고요...
대부분 3D그래픽을 보여주는데 사용되는 기능입니다.
3D그래픽소프트웨어나 3D게임등에서 지원하는....
당연히 보이는 것도 틀리게 보이고(많이는 아닙니다.)
스피드차이는 많이 납니다.
다이렉트X가 좀 수상하게 깔리면 이기능사용시 다운이 될수도 있고요,..
둘중에 모가 좋냐고 물으신다면 당연히 오픈GL이겠지만....
가격이나 시대배경, 북미관계, 풍수지리등을 고려한다면...
다이렉트X도 상당히 훌륭합니다.

자신의 그래픽카드를 알아보는 방법중 제일 좋은것은
컴을 뜯어서 직접 눈으로 확인하는게 제일이고요...
윈도우상에서는 바탕화면의 내컴퓨터를 클릭한후 (오른쪽버튼으로)
맨밑에 등록정보를 보시면 하드웨어에 장치관리자-에서 디스플레이어댑터에
나와있으나 드라이버가 엄한게 깔리면 다른 그래픽카드라고 말할때도 있습니다.

'프로그래밍' 카테고리의 다른 글

22.게임 회사 면접에 나오는 질문 목록  (0) 2009.07.10
21.게임회사 면접  (0) 2009.07.10
20.그래픽 카드중direct x와 openge가 무엇인가요  (0) 2009.07.10
19.Win API에 관한 질문 입니다..  (0) 2009.07.10
18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 21:01

19.Win API에 관한 질문 입니다..


일단 gunys 님이 답변 하신 내용중에 틀린것이 있어 그것 부터 이야기 드립니다..

 

API - Application Programming Interface

영어에서도 보듯이 응용 프로그래밍 환경. 윈도우의 라이브러리에서 지원해주는 함수들로 응용해서 프로그래밍을 하는 환경입니다.

 

MFC - Microsoft Foundation Class

MS사에서 기초적으로 만든 클래스를 지원해줍니다. API를 객체화 했다고 보면 되죠..

 

C언어를 객체화 해서 C++이 나왔듯이 API를 클래스화 시켜서 많은 기능을 지원해주는 환경입니다.

 

이 둘은 개발 언어가 아닌 개발 환경입니다. C와 같은 언어가 아니죠

 

굳이 말을 하자면 Visual C, Visual C++이 언어라 할 수 있고, API와 MFC는 이 언어들이 돌아가는 환경입니다.

 

돌아가는 구동 방식이라면 윈도우 라이브러리 자체내에서 정의해놓은 함수들이 있습니다.

 

C를 보시면 printf, scanf  함수들이 미리 정의가 되있듯 라이브러리 자체내에 이런게 어떻게 연결이 되서 구동이 되는지 정의해 놓은 함수들이 있는 겁니다.

 

그 함수들을 이용해서 프로그래밍을 하는 것이죠.

 

그냥 지정되있는 함수를 이용해 전달 값, 또는 이름들을 입력해 주신다면 윈도우 내에서 알아서 파일을 불러오고 돌아가는 것입니다.

 

그러니 윈도우 환경에서 돌아갈것들을 만드신다면 이런 지원되는 것으로 하면 훨씬 더 쉽게 프로그래밍 할 수 있으며 윈도우에서 응용이 더 잘되겠죠..

 

물론 그 라이브러리하며 함수들 하며 엄청나게 많습니다.

 

여기까지가 API와 MFC에 대한 간략한 소개였구요..

 

볼만한 책으로는 gunys님이 추천해주신 가남사의 'Windows API 정복' 책을 보신다면 처음 공부하시는데 많은 도움이 되실 겁니다.

 

MFC같은 경우는 C++(클래스, 객체)에 대해서 잘 이해하시고 API를 어느정도 다루실 줄 아신다면 사용하시는데 큰 문제는 없으실 겁니다.

 

지원되는 함수가 조금 달라져서 혼란스럽기도 하지만 MFC가 지원해주는게 API보다 훨씬 간편해서 처음에만 어렵게 접근되지 나중되면 무지 간편하게 가져다 쓸 수 있습니다.

 

그리고 숙제에 대해서 말씀을 드리자면..

 

사각형 그리기를 해보셨다 했는데 사각형을 그릴 때 좌표를 입력해 주셨죠?

 

그런식으로 표를 좌표를 입력해서 그려주시는데 다르게 할것은 좌표를 변수로 주시라는 겁니다.

 

변수로 주신후에 그 안의 색깔은 배경화면 색 바꾸는것처럼 브러쉬를 이용하는데 바탕화면은 그냥 뿌려주면 됐잖습니까?

 

사각형 영역을 지정을 해주셔서 브러쉬로 뿌려주시면 표 안에 색깔이 있겠죠?

 

각 표 영역마다 다른 색깔을 주시고..

 

좌,우 방향키를 누를 때마다 좌표 이동 방식이 있습니다.

 

다른 방식으로는 정렬같은 알고리즘은 아실거라 생각합니다. 그걸 응용하시면 되겠습니다.

 

왼쪽을 눌렀다 하면 맨 왼쪽에 있는 색깔을 어느 변수에 저장을 하고 하나씩 당겨오고..

 

변수에 저장한 걸 맨 마지막에 넣으면 되겠구요..

 

 

 

 

 

 

 

 

 

안녕하세요

 

먼저 api, mfc 둘다.. c 를 기반으로 한 windows 프로그램 언어라고 생각하시면 됩니다.

 

api는 c++ 기반의 언어이고... 거기에 업그레이드 대서... 기본적인 툴을 만들어주는것을

 

mfc라고 생각하시면 됩니다.

 

다른예를 들면.. html이란 언어 아시죠?

 

그것을 일일히 코딩하면 api, 나모 웹 에디터같은 것으로 그림이나 글자를 치면..

 

그것이 code화 대는것이 mfc..

 

일단 단순히 이렇게라도 이해하시는것이 도움이 될것입니다.

 

왜 그림이 나오는지 궁금하시다고 하셧져?

 

api나 mfc는 ms사에서 제공하는 라이브러리를 사용하는데..

 

그 라이브러리가.. 그림을 그린다거나.. 윈도우창을 만든다거나.. 등등등을 해줍니다.

 

결국.. ms사가 자기 windows 개발을 위해서 제공하는 언어이죠...

 

먼저 배워야 하는 순서는 c > c++ > api > mfc 이런씩이구욤..

 

흠.. 책은... 가남사에서 나온 "완전정복 api"라는 책을 추천드립니다.

 

예제위주로 상세히 설명되어 있는 책이니.. 공부하기엔 그리 어렵지 않으실겁니다.

 

님께서 말씀하신 문제와... 프로그램 돌아가는 방식은.. 그 책에...

 

다 기술되어있으니.. 공부하는 입장에서 함 보시기 바랍니다.

 

(사실.. 제가 충분히 찾아서.. 올릴수 있으나.. 귀차니즘 ;; )

 

그럼 열공하세용!!

'프로그래밍' 카테고리의 다른 글

21.게임회사 면접  (0) 2009.07.10
20.그래픽 카드중direct x와 openge가 무엇인가요  (0) 2009.07.10
19.Win API에 관한 질문 입니다..  (0) 2009.07.10
18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10
16.DirectX 개론  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 20:57

18.[[이론]] RPG의 종류


강의가 시작됩니다. 만약 끝까지 보셔도 이해가 잘안되시면 질문게시판에 글을 올리세요

 

(´□`) Danger

 이번편은 RPG의 종류에 대해 알아보는겁니다.

 RPG가 뭐하는건지도 모르는

 또는 스타크래프트를 모르는 사람은 ←Back Space 를 누르세요.

 

안녕하세요. 이상한 강좌로 대충 우려먹으려는 엽기RPG입니다.

이번 편은 RPG의 종류입니다.

 

보통 RPG는

구상->지형만들기->데이터 세팅->트리거작업->마무리->프로텍트

  또는

구상->데이터 세팅->지형+트리거작업->마무리->프로텍트

이순서로 만듭니다.

 

뭐 각자 적절한 차이가 있죠.

저같은 사람은

"종종 작업하다가 맨처음엔 ABCD 로 시작하려그랬는데

나중에 보니 ACBD 가 되어있는 경우"가있어서

지형 스케치, 데이터 세팅사항 기록, 게임의 흐름을 종이에 적어놓습니다.

뭐 글씨는 나만알아보는 개발랄한 암호처럼 적어놓습니다만.

아무튼 이렇게 만들든 저렇게 만들든

RPG 입니다 ABCD 든 EXPF 든 RPG를 만들려 했으면 RPG로 끝납니다.

설마 RPG를 만들다가 나중에 보니 디펜스가 되어있을리가 없잖아요.

 

거두절미 하고 본론으로 갑시다.

 

원래 스타크래프트는 대전+전략게임입니다.

말안해도 알죠? 그런데에 RPG시스템이 생긴다는건 꽤 힘든 일이죠.

하지만 우리가 누굽니까. 불굴의 유저입니다.

결국 RPG가 유즈맵계에 뿌리깊게 자리잡았습니다.

 

일단 맨처음으로 생기고 가장 만들기 쉬운 RPG가

"Small RPG" 입니다.

 " 아니 이 양반이 지금 뭐하는거야? 당연히 노멀RPG가 가장 먼저 생기잖아! "

아닙니다. 노멀RPG 의 특징 및 성격은 아래와 같습니다.

 

RPG 는 Role Playing Game 의 약자이다.
우리나라 말로 역활수행게임이라고 할 수 있다.
여러가지 게임 장르중의 하나이고 일반적으로 다른 게임 장르와 다음과 같은 차이점이 있다.

1. 캐릭터가 성장한다. 보통 캐릭터의 레벨이 존재한다.

2. 캐릭터의 직업구별이 뚜렸한 경우가 일반적이다. 그리고 직업에 따른 능력차이도 뚜렷하다.

3. 아이템으로 캐릭터의 능력치를 향상시킬 수 있다.

4. 일정한 스토리를 가진다. 하지만 캐릭터의 자유도는 높은 편이고 캐릭터의 활동에 따라 스토리를 바꿀 수 있다.

5. 다른 플레이어와 협력해서 스토리를 전개해 나갈수 있다.


 

결국 맨 처음 자리잡은건 레벨제도 없는 Small RPG 입니다.

따지고 보면 노멀RPG 도 4번의 사항에 어긋납니다.

그건 스타크래프트에선 그냥 RP 라 불리죠. RP는 할줄 모르는 사람이 끼면 방이 깨지기 때문에 유즈맵계에서 소외받고있는겁니다.

 

Small RPG 는 레벨도 없고 죽어라 몬스터를 잡아갑니다. 스타크래프트의 기능상

"레벨" 대신 "업그레이드(무기, 갑옷강화"가 있습니다. 레벨은 번거롭지만 업그레이드는 그냥

엔지니어링 베이 딱 갔다놓으면 되잖아요?

 " 그러면 어떤거에 보니까 애들 한참잡고 중간쯤 되니까 막 유닛 세지던데 그건 노멀RPG인가요? "

 

... 할말이..

아무튼 그 다음에 나타난건 우리의 "노멀 RPG"입니다.

가장 재밌죠. 노멀 RPG는

사람들이 모두 한편입니다. 두편이상으로 갈려서 사람들이 싸우는건 DOTA 또는 대전RPG 입니다.

노멀RPG는 재밌는건 진짜 재밌습니다. 죽음의동굴 아시죠? 1년동안 유행했었고,

되게 유명한 맵이지만 이제 저편으로 떠나는군요.

죽음의 동굴 할줄아는사람들끼리 모이면 끝까지 다깨고, 다들 재밌다고합니다.

죽음의동굴3편은 맵을 뜯어서 만든 사기작품이라고 하지만,

맵을 뜯어서까지 자기가 그 맵만든사람을 어리숙하게나마 흉내내고싶어하는건,

그 맵이 잘만들어진거라서입니다.

빛이없으면 그림자도 없듯이말이죠.

 

노멀RPG는 레벨과 경험치, HP와 MP, 스킬과 마나, 몬스터와 캐릭터, 서로 협동하는 동료들

이런 주제로 만들어진것입니다.

다음은 RP입니다. 따지고 생각하면 원래 RP가 RPG입니다 ㅅ-;

 

제가 위에 나타낸 RP의 철칙 4가지를 모두 갖추었고, 특히 3번과 4번이 제대로 되어있는것이

RP입니다. 그러나, 맵메이커의 심정을 유저가 제대로 아는건지 모르는건지 -ㅅ-; 모르는사람들끼리

플레이하면 방이 깨진다죠.

대표적인 RP의 거장이 판타지마스터입니다. 대전게임 판마 말고, 판타지마스터말입니다.

멸망한 세상에서 여러명의 전사가 미래,현재,과거로 가서 세상을 고치는겁니다.

제일 덜 타락했던 과거는 Easy이고요,

멸망한 시점인 현재는 Narmal,

미래는 악이 지배하는 세상인Hard입니다.

외국맵이고, 1.5년 전 작품으로 기억하고있습니다.

매우 유명했고, 저 또한 친구들과 재밌게 플레이 했던 맵입니다.

사람들의 대사만 잘 이해한다면 너무 슬프기도 하고 그런 맵입니다.

 

다음은 대전RPG입니다.

2편 혹은 3편으로 갈려져서

서로 싸웁니다. 하지만 그 팀이 하나의 캐릭터로 싸운다는건,

RPG철칙 3번과 4번을 준수한RPG라고 할수있습니다.

대전RPG하면 고대의 문이나 판데모니엄 하는데, 그건DOTA이지, 대전RPG가 아닙니다

대표적인 대전RPG로 스타크래프트RPG가 있습니다.

 

마지막으로 DOTA

이건 고대의 문이나 판데모니엄 같이 대전RPG에서 발달된것으로,

몬스터가 존재하되, 아군몬스터와 적군몬스터가있습니다.

대표적인 DOTA로 판데모니엄이 있는데,

더 큰것으로 워크래프트에있는 DOTA맵중 뭐더라.. 가 있습니다.

스토리까지 잘 설명하고 결말까지 잘 나온

나이스 한 맵입니다.

 

여기까지RPG의 종류에대해서 알아보았습니다.

뭐가 가장 만들기 좋나고요? 뭐가 가장 쉽나고요?

다 일장일단이죠. 유즈맵의 재미에는 상하가 없습니다.

오로지 누가 더 잘만들었냐, 뭐가 대세이냐 에 따라

달라지는 갈대같은 유저의 마음을 잘 사로잡는

편이지요. 저는 개인적으로 갈대의 입장보다는

갈대를 잡는사람을 평가하는 농삿군 시아버지

의 입장이 되고싶습니다. 여러분은 어떻습니까?


언제든지 질문게시판에서는 질문을 받습니다

'프로그래밍' 카테고리의 다른 글

20.그래픽 카드중direct x와 openge가 무엇인가요  (0) 2009.07.10
19.Win API에 관한 질문 입니다..  (0) 2009.07.10
18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10
16.DirectX 개론  (0) 2009.07.10
15.c 언어강좌 (12)  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 20:55

17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL


추천하는 순서는 다음과 같습니다.

 

C언어->WinAPI->DirectX->C++->STL->Socket->MFC->Direct3D또는OpenGL.

여기까지 배우시면 왠만한 온라인 게임 정도는 만들 수 있습니다.

게임회사에 취직하시려면 Direct3D쪽을 강력히 권해드립니다.

 

라이브러리 프로그래머라...??;;;;

자신의 라이브러리를 높은 레벨로 창조하고 싶으시면,

C++공부를 많이 하고 경험을 많이 쌓으시길 바랍니다.

요즘은 C언어보다 C++언어를 더 먼저 배울만큼 객체지향을 중요시 하는 시대라서,

무엇보다 OOP설계능력을 키우는게 급선무입니다.

그러려면 대형프로젝트에 자주 참가하셔서 많이 만드셔야 하지요.

하지만 대형 프로젝트에 참가하려면 C언어 기초쯤은 완벽히 마스터 해야합니다.

'프로그래밍' 카테고리의 다른 글

19.Win API에 관한 질문 입니다..  (0) 2009.07.10
18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10
16.DirectX 개론  (0) 2009.07.10
15.c 언어강좌 (12)  (0) 2009.07.10
14.c 언어강좌 (11)  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 20:54

16.DirectX 개론


◈ DirectX란?

DirectX는 윈도우에서 게임을 즐기거나 또는 게임 제작을 하고자 할 때 필요하다. 과거 도스 시절에는 게임 제작의 한계가 있었지만 Wing-G를 거쳐, 오늘날 DirectX가 탄생되었다.


◈ 참고 : DirectX의 장점 및 특징

DireectX는 빠르다.

이유는 다른 것을 거치지 않고, 직접 DirectX에 집결되기 때문이다. 즉, 프로그램를 다룰 때는 마우스나 사운드 카드, 비디오 디스플레이를 공유하게 되는데, 일반 Win application은 - DirectX application의 경우와 달리 - 다음과 같은 과정을 거치게 된다. 즉, 그래픽은 GDI를, 사운드는 multimedia extentions을 사용하므로 속도가 느리다. 그러나, DirectX는 이런 것을 거치지 않는다. (그러나, 제 홈의 소스에는 GDI를 사용하는 내용들도 나온다.)

DirectX는 또한 각 버전이 호환되는 장점이 있는데, 바로 COM 덕분이다. (COM에 대한 자세한 내용은 몰라도 게임 제작에 지장은 일단없다. COM에서 게임 제작에 사용되는 함수를 얻어다 쓰게된다.)

그리고, DirectX는 하드웨어를 직접 컨트롤한다. 이것을 HAL이라고 한다. 그러나 각종 카드 등이 하드웨어를 직접 지원하지 못하게 된다면 DirectX는 HEL 상태로 컨트롤 해 주게 되는데 이렇게 소프트적인 방법으로 게임을 지원해 주는 것을 HEL이라고 부른다.

 

◈ DirectX에 들어가 있는 것.

흔히 'DirectX 구성 요소'라는 표현을 쓰고 있는데, 다음과 같은 7~8가지를 지원해 주고 있다.


① DirectDraw

기본적으로 공부할 내용이다. 이것을 이용하여 그래픽과 글자를 처리하게 된다. 10여가지 함수만 이해하면 되며, 시작 부분이므로 초보자의 경우에는 다소 어렵다고 느낄 수 있다. (이것만 가지고도 멋진 게임 제작이 가능하다.)


② DirectInput

자판이나 마우스, 죠이스틱을 다룰 때 사용된다. 쉬운 편이며, 이것없이도 작동을 시킬 수는 있지만, DirectInput을 사용하는 것이 보다 효율적일 것이다.


③ DirectSound

각종 효과음을 넣고자 할 때 사용되는 기능이다. wav 화일을 사용하며, 개념은 복잡한 편이다.


④ DirectMusic

DirectX 6.0버젼 이후에 등장하며, 배경에 음악을 넣고자 할 때 사용된다. mid 화일을 사용한다.


⑤ DirectPlay

온라인 게임이나 채팅에 대한 것을 제작할 때 사용된다. 웹 용어 및 흐름에 대한 이해가 필요하므로 다소 어렵다고 할 수 있다.


⑥ Direct3D

DirectDraw을 통해 2D 게임을 제작한다면, Direct3D를 통해 3D 게임을 제작한다. 2차원 게임과는 차원이 다르므로 어렵다고 할 수 있다.


⑦ DirectShow

동영상의 처리를 위해 필요한 듯. (동영상은 DirectDraw로도 가능한 듯?)


⑧ DirectSetup

내가 만든 게임을 cd 등으로 배포를 원할 때 사용한다.

참고 : 저는 먼저 DirectDraw - DirectInput 정도는 필요시 추가하면서 - 만으로 규모있는 게임 제작을 해 본 (2~4년) 후에 나머지 기능을 공부하는 것이 좋다고 판단됨.


김남수-(끝)

 

'프로그래밍' 카테고리의 다른 글

18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10
16.DirectX 개론  (0) 2009.07.10
15.c 언어강좌 (12)  (0) 2009.07.10
14.c 언어강좌 (11)  (0) 2009.07.10
13.c 언어강좌 (10)  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요

프로그래밍 2009. 7. 10. 20:53

15.c 언어강좌 (12)


=================================================================
C 프로그래밍 12회
=================================================================

이번 강좌 에서는 외부 프로그램과 연결하는 방법, 그리고 라이브러리에 대해 알 아보도록 하겠습니다.

1. 외부 프로그램?
만약 a.c라는 소스 파일과 b.c라는 소스 파일이 있다고 합시다.
이때 a.c에서 볼때는 b.c가 외부 프로그램이 되고
b.c에서 볼때는 a.c가 외부 프로 그램이 되는 것 입니다.
즉 외부프로그램이란 자신과 다른 소스 파일을 말하는 것이죠.

2. 외부 프로그램과 연결?
외부 프로그램에 있는 변수나 함수를 사용할수 있을까요?
C에서는 외부 프로그램에 있는 변수나 함수를 사용할수가 있습니다.
단 지역 변수의 경우 사용할수 없습니다.
그럼 외부 프로그램에 있는 변수, 함수를 사용하려면 어떻게 하면 될까요?
방법은 무지무지 간단한데, 각각의 소스 파일을 컴파일 한 후 링크시에
같이 링크를 해 주기만 하면 됨니다.

(1) 외부 프로그램에의 변수 사용
다음과 같은 프로그램이 있다고 합시다.

/* 파일 이름 : C12-1.C 프로그램 내용 : 외부 프로그램 연결 예제. */
int variable;
이 프로그램에는 variable라는 전역변수 한개가 정의되어 있습니다.
그럼 이 프로그램의 variable라는 전역변수를 외부 프로그램에서 사용하려면 어떻 게 해야 할까요?

/* 파일 이름 : C12-2.C 프로그램 내용 : 외부 프로그램 연결 예제. */
#include void main()
{
variable=3;
printf("Variable : %d\n",variable);
}

이렇게 그냥 사용하고 링크시에 C12-1.C와 같이 링크만 해 주면 될까요?
이렇게 하면 당연히 않되죠.
이유는 C12-2.C에는 variable라는 변수가 선언되어 있지 않기 때문에 컴파일시 에러가 나게 됨니다.
그럼 어떻게 하면 될까요?
variable라는 변수를 C12-2.C에도 선언하면 될까요?
그렇게 하면 링크시에 variable라는 이름의 전역 변수가 2개가 있다고 하며 에러가 나게 됨니다.
그럼 정말 어떻게 할까요?
이때는 variable라는 변수를 사용하는 곳
즉 C12-2.C 에 이 변수가 외부 프로그램에 있음을 알려주면 됨니다.
저번 전역 변수를 배울때 변수를 선언한 곳이 그 변수를 사용하는 곳보다 아래에 있으면
사용하는 곳 위에다가 그 변수가 있다는 것을 알려주어야 한다고 했는데,
이때와 똑같은 방법으로 변수가 있다는 것을 알려주면 됨니다.
그러니까..
extern 데이터형태 변수명;
이렇게 해 주면 되죠.
위의 소스를 제대로 고쳐서 C12-3.C를 만들면 다음과 같습니다.

/* 파일 이름 : C12-3.C 프로그램 내용 : 외부 프로그램 연결 예제. */
#include extern
int variable;
void main()
{
variable=3;
printf("Variable : %d\n",variable);
}

이렇게 해 주고 C12-1.C와 같이 링크를 해 주면 C12-1.C의 variable라는 변수를 사용하게 되는 것이죠.

(2) 외부 프로그램의 함수 사용
외부 프로그램의 함수를 사용하는 것은 변수 사용보다 훨씬 쉽습니다.
예를 들어 다음과 같은 소스가 있다고 합시다.

/* 파일 이름 : C12-4.C 프로그램 내용 : 외부 프로그램 연결 예제. */
#include void message()
{
printf("Example program.");
}

이 소스에는 message라는 함수가 있는데, 이 함수를 외부에서 사용하려면
다음 과 같이 그냥 사용하고 링크시에 같이 링크만 해 주면 됨니다.

/* 파일 이름 : C12-5.C 프로그램 내용 : 외부 프로그램 연결 예제. */
void main()
{
message();
}

그런데 이렇게 그냥 사용하면 에러를 방지할수 없으므로 프로토타입을 선언해 주 는 것이 좋습니다.
즉 다음과 같이 하면 더 좋다는 것이죠.

/* 파일 이름 : C12-6.C 프로그램 내용 : 외부 프로그램 연결 예제. */
void message();
void main()
{
message();
}

이렇게 하고 나서 아까 C12-4.C와 같이 링크를 해 주면
C12-4.C의 message함수 를 사용하게 되는 것 입니다.

(3) 외부 프로그램에서 사용 못하게 할수는 없나?
외부 프로그램에서 자신의 변수와 함수를 사용하지 못하게 해야 할 경우가 있습니다.
이럴땐 어떻게 하면 될까요?
언젠가 정적 전역 변수라는 것을 배운적이 있습니다.
그때 정적 전역 변수는 정적 지역 변수와는 달리
외부에서 엑세스 하지 못하게 하는 것이 목적이라고 했었습니다.
이걸 기억하신다면 외부 프로그램에서 자신의 변수를 사용 못하게 하는 방법은
이미 알아차리셨을 겁니다.
방법은 정적 전역 변수로 선언해 주면 되는 것이죠.
정적 전역 변수를 선언하는 방법은 이미 배웠지만 다시 한번 설명해 드리죠.
아주 간단한데, 그냥 변수 선언과 똑같지만 앞에 static키워드를 붙여 주기만 하면 됨니다.
예를 들어 아까 처음 나왔던 C12-1.C는

/* 파일 이름 : C12-7.C 프로그램 내용 : 외부 프로그램 연결 예제. */
static int variable;

이렇게 해 주면 이 소스의 variable라는 변수는 외부에서 사용할수 없게 됨니다.
그럼 함수는 외부에서 사용하지 못하게 하려면 어떻게 하면 될까요?
함수 역시 정적 함수라는 것으로 만들어 주면 됨니다.
방법은 정적 변수처럼 단지 앞에 static키워드만 붙여 주면 되죠.
예를 들어 아까 C12-4.C는

/* 파일 이름 : C12-8.C 프로그램 내용 : 외부 프로그램 연결 예제. */
#include static void message()
{
printf("Example program.");
}

이렇게 고쳐주면 됨니다.
이렇게 하면 외부 프로그램에서 이 함수를 사용할수 없 게 됨니다.

3. 라이브러리
라이브러리에 대해서는 2회때 간략히 말씀드린 바가 있습니다.
그때 라이브러리는 한개 이상의 목적 파일을 합쳐 둔 것이라고 했죠.
그럼 그 라이브러리에 대해 더욱 자세히 알아보죠.

(1) 라이브러리를 왜 쓸까요?
위에서 외부 프로그램의 변수와 함수를 사용하는 방법을 배웠습니다.
그런데 그걸 어디에 써먹을까요?
여러분이 자주 쓰는 유용한 함수들을 만들어 두 고 컴파일해 목적 파일로 만들어 둔 후
사용할때마다 같이 링크를 시켜주면 되겠죠?
이때 그 유용한 함수들이 들어있는 소스 파일에 10개의 함수가 들어 있다고 합시다.
그런데 이 함수 중에서 1개의 함수가 필요해서 이 목적 파일을 같이 링크 시켰다면 비록 1개의
함수만을 쓴다고 해도 이 목적 파일에는 10개의 함수가 들어 있으므로 모든 함수의 내용이
실행파일에 들어가 실행파일의 크기만 커지게 됨니다.
그럼 이걸 해결하려면 어떻게 할까요?
각각의 함수별로 소스 파일을 분할해 10개의 소스 파일을 만들어 컴파일해 목적 파일을 만들어 두면
되겠죠?
그리고 사용 할땐 필요한 함수가 들어있는 목적 파일만 같이 링크 시키면 되고요.
하지만 10 개의 함수를 모두 사용한다고 생각해 보세요.
그러면 10개의 목적 파일을 같이 링크시켜야 하므로 정말 귀찮겠죠?
이럴때 라이브러리를 사용하면 됨니다.
10개의 목적 파일을 묶어서 라이브러리 파일로 만들어 두고, 사용할땐 단지
이 라이브러리 파일만 같이 링크 시켜 주면 링커가 필요한 함수가 들어있는 목적파일만
라이브러리에서 찾아 끄집어 내서 같이 링크 시켜 주게 됨니다.
이렇게 라이브러리를 사용하면 정말 편리하게 되죠.

'프로그래밍' 카테고리의 다른 글

17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10
16.DirectX 개론  (0) 2009.07.10
15.c 언어강좌 (12)  (0) 2009.07.10
14.c 언어강좌 (11)  (0) 2009.07.10
13.c 언어강좌 (10)  (0) 2009.07.10
12.c 언어강좌 (9)  (0) 2009.07.10

posted by 연이v
Trackback 0 : Comment 0

댓글을 달아 주세요