둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
게임 엔진 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
게임 엔진
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
== 개요 == 게임 엔진은 [[게임]]의 심장부에 해당되는 [[미들웨어]]이다. == 구성 == 아래 엔진 중 예시로 든 엔진들은 대중적으로 알려진 게임 엔진들이다. === 렌더링 엔진 === 렌더링 엔진은 화면에 물체를 출력하는 기능을 가진다. 2D 렌더링 엔진과 3D 렌더링 엔진으로 나눌 수 있으며, 보통은 3D 렌더링 엔진에서 2D 렌더링도 지원한다. * [[게임브리오 엔진]] * [[일리히트 엔진]] * [[Ogre3D 엔진]] === 비디오 디코딩 엔진 === [[인코딩]] 된 동영상을 [[디코딩]]하여 화면에 표현하는 기능을 제공한다. 게임에만 사용되는 엔진은 아니지만 그렇다고 동영상 플레이어에서 사용되는 엔진도 아니다. 동영상 플레이어는 보통 대상 플랫폼의 [[API]]에 초점을 맞추며 사용자가 코덱을 따로 설치하면 그 코덱도 지원할 수 있게 개발되지만 게임용 비디오 디코딩 엔진은 크로스플랫폼 개발을 보장하면서 특정 코덱만 지원하는 경우가 많다. * Bandivid * [[BINK]] === 사운드 엔진 === [[인코딩]] 된 오디오를 [[디코딩]]하여 출력해주는 기능은 물론이고, 경우에 따라 출력 시 [[디지털 신호처리]]하여 에코나 고음 강화와 같은 여러 가지 효과를 주는 기능도 지원한다. * [[FMOD]] * NAudio === 물리 엔진 === 물리 엔진이라고 하면 보통 [[역학 물리]]와 관련된 연산을 수행하는 엔진을 말한다. 보통은 게임용으로만 개발되지는 않기 때문에 게임 이외에도 영화, 애니메이션 등에도 사용되고 있다. 연산할 물체 양이 많아지면 [[CPU]]만으로는 연산 속도를 1/60초 내에 수행할 수 없는 경우도 있어서 PhysX나 Bullet Physics와 같은 엔진들은 [[GPGPU]]를 활용하기도 한다. * [[NVIDIA PhysX]] * [[Bullet Physics]] * [[box2d]] * [[하복 엔진]] * [[도미노 엔진]] === 네트워크 엔진 === 네트워크 엔진은 서버 및 클라이언트의 통신에 사용되는 엔진이다. 위 엔진들과 달리 보통은 자체 엔진을 사용하지만 최근에는 상용 네트워크 엔진도 자주 사용된다. 보통은 통신과 관련된 기능만 제공을 해 왔으나, 최근에는 게임 서버 프로그램의 기반 코드도 제공해주는 경우가 많아 게임 서버 엔진이라고도 한다. * [[프라우드넷]] * [[CGCII]] === 경로 엔진 === 게임 요소의 길찾기에 사용되는 엔진이다. 길찾기는 A* 알고리즘과 같은 공개된 알고리즘이 많아 엔진을 사용하는 경우는 드물다. 다만, 3D 게임의 길찾기는 평면 길찾기와 좀 달라 상용 엔진을 사용하는 경우도 종종 있다. * [[패스 엔진]] === 인공지능 엔진 === 게임 요소의 인공지능에 사용되는 엔진이다. IT 산업 전반적으로 이용되는 인공지능에는 신경망 기반 기계학습이 주로 사용되지만, 게임에 사용되는 인공지능은 패턴에 따른 동작만 가능하면 되므로 따로 엔진이 상용화 된 경우는 흔치 않으며, 통합형 엔진에 컴포넌트를 추가하는 정도로 그치는 경우가 많다. === 통합형 엔진 === 거의 대부분의 게임 엔진은 위의 엔진 구성 요소 중 두 개 이상의 것을 포함하면서 게임 로직 작성에 도움이 되는 기능들을 포함하고 있다. 이런 엔진을 지칭하는 용어는 없지만 굳이 정한다면 통합형 엔진이라고 할 수 있을 것이다. 위 엔진들은 단독으로 사용할 수 없지만 통합형 엔진은 해당 엔진만 가지고 게임을 개발할 수 있도록 구성된다. 통합형 엔진의 대부분은 개발에 사용할 수 있는 맵 툴이나 스프라이트 툴과 같은 유틸리티 프로그램을 제공한다. * [[유니티 엔진]] * [[언리얼 엔진]] * [[cocos2d]] 및 [[cocos2d-x]] * [[소스 엔진]] * [[하복 엔진|프로젝트 아나키]] * [[네코노벨]] * [[크라이 엔진]] * [[마비노기|플레이오네 엔진]] * [[어쌔신 크리드 시리즈|엔빌 엔진 및 엔빌 넥스트 엔진]] * [[심시티 (2013)|글래스박스 엔진]] * [[검은사막|검은사막 엔진]] * [[배틀필드 시리즈|프로스트바이트 엔진]] == 자체 엔진의 개발 == 게임 개발에 자체 엔진을 사용한다는 말은 곧 해당 게임 회사의 기술력이 높다는 것을 의미한다. 게임 엔진의 개발에만 규모에 따라 짧으면 몇 개월에서 길면 몇 년이 소요되며, 엔진에서 버그가 없어야 게임 로직 작성에 있어서 [[디버그]]에 들어가는 시간도 감소되기 때문에 테스트에 들어가는 시간도 많이 소요된다. 또한 엔진의 재사용을 위한 설계에만 해도 전체 개발 기간의 80% 이상이 소요되는 만큼 긴 기간 눈에 보이는 결과가 안 나오는 엔진 개발에 자금을 쏟는 회사는 찾기 드물다. 그러나 기술력이 높은 회사에서도 상용 엔진을 사용하는 경우가 대부분이며 보통은 개발 기간과 개발 비용을 이유로 한다. 엔진 개발 및 유지보수를 담당할 인원에게 들어가는 인건비와 테스트 비용이 상용 엔진의 라이선스 비용을 넘어설 수 밖에 없는 온라인 게임에서는 더더욱 상용 엔진을 사용하는 편이다. [[마비노기]]나 [[검은사막]]과 같은 게임이 특수한 경우라고 할 수 있다. 자체 엔진을 자사 게임 개발에 사용하고 다른 회사에도 납품하는 경우도 종종 있는데, [[크라이 엔진]]이나 [[언리얼 엔진]]이 그런 경우. 크라이 엔진은 [[파 크라이 시리즈]]나 [[크라이시스 시리즈]] 개발에 사용한 엔진을 라이선스하고 언리얼 엔진은 [[언리얼 토너먼트]] 개발에 사용한 엔진을 라이선스한다. == 엔진의 교체 == 일부 구형 게임의 경우 플레이어들이 게임의 엔진을 최신 하드웨어 기능을 활용할 수 있게 교체해야 되는 것 아니냐는 말을 하는 경우가 종종 있다. 그러나 개발 중, 또는 개발 완료된 게임의 엔진 교체는 거의 불가능하다. 엔진이 곧 기반 코드이기 때문에 엔진을 교체한다는 것은 그에 기반된 모든 코드를 교체해야 한다는 말이므로 재개발한다는 말과 같다. 심지어 같은 엔진의 다른 버전으로의 교체도 불가능한 경우도 있다. 예를 들면 언리얼 엔진 3로 개발된 게임은 언리얼 엔진 4로 교체할 수 없다. 다만, 물리 엔진과 같은 부가 엔진 및 컴포넌트들은 [[리팩토링]]만으로 교체가 가능한 경우도 존재한다. 예를 들어, [[디아블로 3]]는 물리 엔진을 하복에서 도미노로 교체하였다. == 오픈 소스 엔진과 상용 엔진 == 상용 엔진의 경우 라이선스에 따라 제공되는 구성이 다른데, 보통은 이미 빌드된 엔진 라이브러리 및 유틸리티 정도만 제공하나 일부 제품은 비용을 더 지불하고 엔진의 소스코드까지 제공받을 수 있다. 언리얼 엔진 4의 경우 상용 엔진이기 때문에 한 달에 $19.99를 지불하는 엔진 구독자에게만 소스 코드를 공개했으나 현재는 엔진을 구독하지 않아도 무료로 사용할 수 있는 만큼 소스 코드도 일반에 공개되어 있다. 오픈 소스 엔진의 경우 지불해야 하는 금액은 없지만 오픈 소스 커미터로부터 아무런 지원을 받을 수 없다. 문제가 발생하면 보통은 당사자가 해결해야 하며, 해결한 내역은 다시 오픈 소스 커뮤니티에 기여할 수 있다. 만약 오픈 소스 프로젝트에서 적용한 라이선스가 [[GPL]]인 경우 해당 엔진을 사용한 게임의 소스 코드도 [[GPL]]을 적용해 오픈 소스로 공개해야 하는 문제도 있다. [[분류:분야/게임]]
게임 엔진
문서로 돌아갑니다.
다른 언어