메뉴 건너뛰기

창조도시 기록보관소

언어 왜 C언어를 해야하나요? -1

2006.09.16 09:39

웁피 조회 수:670 추천:5

안녕하세요 ^^ 어제 막 가입한 웁피라고 합니다~


강좌라고 하긴 좀 뭐하고 그냥 제가 아는 정보를 공유 한다는 차원에서


한 글자 적어봅니다 >_<


허접하더라도 이해해주세요~


혹시라도 제가 잘못알고 있거나 틀린 내용은 언제든지 말해주세요 ^^


 


________________________________________________________________________________________


 


게임프로그래밍을 하는데 왜 C언어를 해야하나요?


 


라는 질문


 


혹은 게임을 만들고 싶은데 무엇을 공부해야 하나요?


 


라는 질문들


 


제가 어렸을 시절, 참 많이 생각하고 고민해왔던 것들입니다.


 


도무지 어떻게 해야 게임을 만들 수 있는건지 알 수 있는 방법이 없었죠


(그때는 인터넷이 그렇게 잘 보급 되지도 않았었죠.. ㅋ)


 


C언어 학원을 다녀 C언어를 조금 하게 되고


 


C++학원을 다녀 C++을 조금 하게 된 이후에도


 


전혀 이것으로 게임을 만들 수 있다는 생각은 들지가 안더군요


 


C언어를 처음 접해보는 분들은 윈도우 화면에


 


무엇인가를 그리는것이 아니라 검은 도스화면 같은 곳에 숫자나 문자등을


 


출력 밖에는 할 수 없다는 걸 보고


 


뭔가 허무하실 겁니다. 저도 옛날 어렸을때 다닌 컴퓨터 학원에서도


 


학원 선생님은 그냥 나중에 커서 C언어 공부하면 할 수 있다고만


 


말해주시더군요(지금 생각해보니 참 성의가 없으셨어 -_-)


 


자 서론이 좀 길었네요 ^^ 그럼 진짜 본론으로 넘어가서


 


C언어가 무엇인지를 제가 아는대로 간단히 말해보겠습니다.


 


가장 먼저 컴퓨터는 0과 1만을 알고 있다라는 사실을 알아야 합니다


(혹시 이 컴퓨터가 0과 1만으로 어떻게 돌아가는 가 하는가에 대해서도


궁금하시다면 차후 다른 강좌로 말씀드리겠습니다~)


 


그래서 기계어는 0과 1의 조합으로만 만들어져 있죠


 


가령 어느 공간에 어느 데이터를 넣어주세요 라는 명령어라면


 


011101010101010101010101010101001111010101과 같은 식의


 


명령어인데 우리는 알아보기가 힘들 것 입니다.


(물론 저게 화면에 뿌려주는 명령어는 아닙니다. 허허허)


 


이것을 우리가 알아보기가 힘들기에 누군가가 어셈블리어를 개발합니다


 


그래서 그 어셈블리어는


 


LOAD 100


STOR 200


과 같은 식의 명령어로 구성되어 집니다.


 


확실히 아까전의 숫자들의 나열보다는 우리가 알아보기가 쉽겠죠?(아닌가? -_-)


 


하지만 이 어셈블리어 역시 상당히 어렵고 하나의 연산을 처리하기에


 


너무 긴 연산들을 반복해야 하므로


 


다시 이 어셈블리어들을 묶어 C언어가 만들어지게 됩니다~(짜잔~)


(사실은 그 사이 조금 더 과정이 있을지도 모릅니다 =_= 잘 몰라서 죄송;;)


 


즉 C언어는 상당히 기계어와 가까운 언어입니다.


 


기계어와 가깝다는 이야기는 그만큼 빠르다는 이야기입니다.(해석과정을 더 적게 밟으니까요)


 


C언어의 장점은 이외에도 무수히 많지만


 


일단 게임프로그래밍과의 관계를 말하는게 목적이니 생략하도록 하겠습니다~


 


여러분도 아시다시피 게임은 상당히 고사양의 프로그램입니다.


 


사실 게임이 아닌 어떤 프로그램을 실행하기 위해 PC를 업그레이드 할 필요가 없다는 걸


 


생각해보시면 간단하게 이해가 가실겁니다.


 


C언어 이외에도 언어는 상당히 많습니다.


 


사실 JAVA로도 얼마든지 게임을 만들 수 있고요.


 


그러나 C언어를 많이 사용 하는 이유는(사실 요즘은 C++을 더 많이 사용합니다..;;)


 


같은 로직으로 게임을 만들었을떄 C언어가 훨씬 빠르기 때문입니다.


(수차 말하지만 기계어로의 해독이 다른 언어에 비해 훨씬 적기때문입니다.)


 


이것으로 왜 C언어를 게임프로그래밍에 사용하는지에 대해


 


간략히(?) 알아봤습니다. ^^


 


처음 해보는거라 많이 허접하고 내용도 빈약하고


 


일관성없이 이리저리 돌아다는것만 같네요 ㅜㅜ


 


다음 2부에서는 C언어를 통해 어떻게 게임을 만들어가는지


 


정확히 게임 프로그래밍을 위해서 어떤것을 공부해야하는지


 


그런것들을 이야기해보겠습니다~


 


길고 허접한 글 읽느라 수고하셨습니다 (__)

번호 제목 글쓴이 날짜 조회 수
329 획기적인 게임 제작 제1편(게임의 전체적인 분위기의 선택) [4] Santiago 2006.12.04 492
328 말풍선 대화창 [9] 그노에즈 2006.12.04 664
327 리듬액션 게임 아이디어. [12] file 켄타 2006.11.23 1481
326 액알 맵 1분 안에 만드는방법 [21] 천룡수 2006.11.12 1363
325 액션 알피지 노가다 줄이는 방법 [7] 다크세이버™ 2006.11.08 755
324 BGM 페이드에 관한 팁 [2] 『덩키동크』 2006.10.29 467
323 [자작]마름모형 거리 재기 [4] A. 미스릴 2006.10.22 801
322 스토리아이디어 [4] B HERO 2006.10.22 428
321 심심해서 생각해본 rpg2000툴로 전략시뮬(실시간) 만들기 [5] 감자는칩이다 2006.10.21 897
320 캐릭터 행동에 대한 팁? [6] mk_brand_ 2006.10.12 462
319 게임 구상을 해봤는데....이 게시판에 성격에 맞나? [5] mk_brand_ 2006.10.12 431
318 Love One 7차 체험판 [6] 자유의지 2006.10.10 1210
317 약간의 아이디어.. [2] 닉네임군 2006.10.08 509
316 게이지 시스템 [액알의 게이지 같은 거 아니에요. ] [4] S.단이한 2006.10.07 749
315 선행처리기 지시어. (#???) [3] 연지 2006.09.30 302
314 게임자체가 히든피스!! [10] [S's-S] 2006.09.28 762
313 그냥 심심해서 생각해낸 플레이어 낚기 이벤트인데요... [11] 네모상자 2006.09.24 491
312 인터넷 프로그래밍 강의 시간에 실습했던 것. 아란 2006.09.23 309
311 왜 C언어를 해야하나요? -2 [5] 웁피 2006.09.17 657
» 왜 C언어를 해야하나요? -1 [12] 웁피 2006.09.16 670