게임 엔진이란건 어떻게 만드는 건가요?
글쓴이: visual00 / 작성시간: 목, 2015/01/01 - 10:10오전
안녕하세요 컴퓨터와 게임개발에 관심이 많은 한 학생입니다.
개인적으로 공부하면서 항상 궁금한 점이
"게임엔진 이란건 어떻게 만들까?" 입니다.
제겐 게임엔진이란 정말 놀랍고 신기한 프로그램입니다.
게임엔진이란 것은 자기 자신이 프로그램임에도 불구하고
다른 프로그램(게임)을 만들 수 있습니다.
또한 스크립트 언어라는 것을 가끔씩 내장하여
자신의 기능을 확장한다니 정말 멋집니다.
다른 프로그램을 만들어주는 프로그램이라 이런건 과연 어떻게 만들까요?
일반적인 프로그래밍 입문서들을 보면
프로그래밍 언어를 기계어로 번역해주는 컴파일러를 통해서
실행 파일을 만든다고 적혀있는데
게임엔진을 만든다는 것은 컴파일러를 만드는 것과 같은 건가요?
그렇다면 게임엔진을 만들기 위해선 컴파일러를 제작하는 방법부터 파고들어야 할까요?
지식이 부족하다 보니
제가 너무 두서없고 뜬금없는 질문을 막 던졌네요 죄송합니다.
.
.
그리고 또 뜬금없지만
KLDP의 모든 개발자분들 새해 복 많이 받으세요
Forums:
일단 게임 엔진 하나를 잘 써보시는 것이 좋을 것
일단 게임 엔진 하나를 잘 써보시는 것이 좋을 것 같네요.
예를 들면 cocos2d-x 같은 오픈소스 엔진을 분석해보는 것도 좋으리라 생각합니다.
http://www.cocos2d-x.org/download
---
http://coolengineer.com
오 감사합니다.
오오 감사합니다. 참고하겠습니다.
게임엔진 = 프레임워크
프레임워크란 쉽게 생각하면
C언어 라고 보시면 됩니다.
컴퓨터는 01밖에 못알아들어서 이진법으로 코딩해야하지만...
엄청난 노가다겠죠...그래서 나온게 어셈블리어
발전한게 C언어 입니다.
C언어로 모니터에 문자 출력할려면 코드몇줄만 써주면 되죠.
기존에 누군가가 코딩해서 컴파일 해놓은 라이브러리를 사용하기 때문입니다.
printf 문자출력 라이브러리입니다.
scanf 입력 받는 라이브러리입니다.
위2가지 라이브러리를 묶어서 텍스트 게임엔진이라고 해도 됩니다.
문자 입출력이라는 핵심기능을 미리 만들어 놓고 이제 만들려는 게임에 따라
만들면 되겠죠.
하지만 현대 게임은 GUI를 사용하고 3D게임이 많아서
그런 여러 기능들을 만들어 묶으면 그게 게임엔진이에요.
제가 엔진이 마치 컴파일러와 같이 실행파일을
제가 엔진이 마치 컴파일러와 같이 실행파일을 만들어주는
마법의 도구라고 생각하고 있었는데 이게 잘못된 생각이였군요
엔진의 정의가 무엇인지 생각을 다시 생각해보게 되었습니다.
답변 감사합니다 ^^
?
정의에 따라 조금 다를 수 있습니다만, 요즘 나오는 유니티, cocos2d 등과 달리
예전으로 치면 게임브리오, 초기 언리얼 엔진, 퀘이크 엔진 등의 엔진들은
지금 말씀하시는 엔진과는 조금 다릅니다.
위의 것들은 사실상 가장 핵심적인, 렌더러 부분만 강조된 엔진이고
실질적으로 렌더링 엔진이라고 봐도 무방합니다만 예전엔 이런 엔진을 구입해서 사용했습니다.
(물론 지금도 사용하고 있는 경우도 많습니다.)
그 경우 그냥 엔진 소스 자체를 가져다가 붙여서 쓰는 방식이 대부분이었고
이러면 말씀하신 것과 같은 일은 없습니다.
게임 엔진이 아니라 RPG쯔꾸르 같은 것만 봐도 신기하실 것 같습니다.
왜냐면 결과적으로 지금 생각하시는 거나 RPG쯔꾸르나 완전히 동일한 원리입니다.
저도 이것에 대해 궁금해요~
언리얼 엔진이나...
유니티 엔진 보면...
멀티 플랫폼을 지원하기도 하고...
컴파일 하고나면 별도의 실행 파일이 나오는데...
게임 엔진을 만들때 컴파일러가 포함된건가요?
정말 궁금합니다... 프로그래밍을 애매하게 알고 있다보니 더 햇갈리기도 한거 같습니다...
정말 알고 싶어용 자세히 알려주세용 ㅠㅠ;
댓글 달기