언어/기타
2006.09.16 18:51

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

조회 수 1447 추천 수 5 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

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


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


한 글자 적어봅니다 >_<


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


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


 


________________________________________________________________________________________


 


게임프로그래밍을 하는데 왜 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언어를 통해 어떻게 게임을 만들어가는지


 


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


 


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


 


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

?

  1. 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법

  2. [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집

  3. rpg vxa 로 겜만들때 데미지 설정 공식[링크]

  4. [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템

  5. JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기

  6. 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요

  7. RPG MV에서 플러그인 오류의 원인에 대하여

  8. RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME)

  9. 게임의 버전을 짜 보자! - 유의적 버전 2.0.0

  10. 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다!

  11. rpgmv 마우스 지원과 터치 지원이 되니.

  12. RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상.

  13. RPG게임 뻔한요소들.

  14. 자바스크립트와 관련해서 참고할 만한 사이트들

  15. 꿀잼이군요!

  16. [RPG2000/3 팁] 간편한 이벤트 단축키

  17. [RPG2000/3 팁] 간편한 이벤트 단축키

  18. [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계

  19. 오다 주웠습니다.

  20. 무료 이미지 사이트 Pixabay!

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)