[GpGiki 대문으로]

크라이 엔진 2


크라이 엔진 2 (Cry Engine 2)

가격 : ?

개발사 : 크라이텍 (CryTek)

엔진 역사 : 크라이 엔진 1에서 한단계 업그레이드 한 엔진이다. 차이점으로는 렌더링 엔진과 물리 엔진이 최신 하드웨어의 기능을 활용하는 차세대급 엔진으로 개선됐다는 점이고 툴셋이 최근의 추세에 따라 몇가지 기능을 추가된 점 이외에는 다른 부분은 이전의 엔진과 동일하다. 크라이 엔진 1이 국내에서 아이온과 카일라스에서 사용되고 있어서 크라이 엔진 2를 이 목록에 놓아두기는 했으나 사실 이 엔진이 채택할 곳은 거의 없을것으로 생각된다. 현재 크라이 엔진 2는 엔진의 개발사에서 만드는 크라이시스라는 게임이 뛰어난 그래픽을 구사하는 것으로 유명하며 언리얼 엔진 3와 라이벌급으로 비교될 정도로 언론에 언급되고 있다. 하지만 이 엔진은 FPS용 게임엔진이며 언리얼 엔진 3는 범용 엔진으로 개선이 되었고 툴셋이나 엔진의 구조적인 유연성이나 다양한 형태와 장르의 게임을 고려해서 다양한 기술과 여러가지 기술 파트너쉽을 맺고 기술들이 제공되고 있는 언리얼 엔진 3를 선택하는게 비슷한 가격에서 훨씬 나은 선택이기 때문에 이러한 많은 부분이 전체적으로 개선이 되지 않는 이상에는 언리얼 엔진 3와의 경쟁은 사실상 이루어질 수는 없을 것이다. 가격이 언리얼 엔진 3에 비해서 많이 싸다면 경쟁이 되겠지만 이 엔진의 개발 비용이 매우 많이 들었기 때문에 라이센스 비용은 언리얼 엔진 3와 비슷하다. 쥬피터 EX 같은 경우엔 가격이 싸고 중~고사양의 FPS를 만들기에 적합한 특색으로 언리얼 엔진 3와의 직접적인 경쟁은 피했기 때문에 많은 나름대로 라이센스 시장의 틈새를 파고 들 수 있었지만 크라이 엔진 2는 그런 틈새 미들웨어 시장보다는 언리얼 엔진 3와 직접적인 경쟁을 해야할 조건의 엔진이지만 언리얼 엔진 3와 비교되기엔 여러가지 많은 부족한 점들 때문에 미들웨어 라이센스 시장에서는 크게 빛을 보지 못할 것으로 보여진다. 그래도 일말의 가능성을 위해 이 곳에 이 엔진을 적어 둔다.

추가 설명: 위의 이야기는 모두 다맞는 이야기입니다. 하지만 크라이텍에선 FPS 엔진이란 단점을 보완하기 위해 스튜디오를 확장하고 여러개의 다양한 장르의 게임을 개발하는데 각각의 스튜디오에서 만드는 게임에 최적화된 버전들을 따로 준비하고 있는데 그중에는 MMORPG의 개발도 하고 있으며 그에 따라 MMORPG에 최적화된 변형 버전 크라이 엔진 2도 개발되고 있습니다.

위의 설명처럼 크라이 엔진 2가 언리얼 엔진 3보다 코드 커스터마이징과 구조적인 유연함에서는 떨어지는게 분명한 사실입니다. 하지만 각각의 스튜디오에서 만드는 다양한 장르의 게임에 맞게 개발사에서 최적화 해놓은 버전들을 따로 만들어 둠으로서 여러 장르에 도입할 길을 열어두고 있는 중에 있습니다.

엔진 구성 및 타입

크라이텍은 현재 3개의 스튜디오가 존재하고 각각의 스튜디오에선 크라이 엔진 2를 각기 스튜디오에서 개발하는 게임에 최적으로 만들어가고 있습니다. 일부분의 기술들은 모듈로 분리되어 엔진 버전업에 통합이 되지만 각각의 다른 스튜디오에서 만드는 중인 게임들에 기반한 서로 분리된 버전의 엔진들입니다. 서로의 코드가 섞이지 않도록 주의해야 합니다.

크라이텍 제3스튜디오는 MMORPG를 만들고 있으며 제3스튜디오의 게임에 기반한 엔진은 MMORPG 엔진으로 탈바꿈해 만들어지고 있습니다.

의견

눈팅중에 더하고 싶은 들말이 생겨서 여기에 써봅니다.

저희는 스튜디오에서 두엔진을 모두 보유하고 있는데 두팀에서 언리얼엔진3과 크라이엔진2를 비교해가면서 사용하고 있습니다.

두엔진 다 이전버전인 언리얼엔진2와 크라이엔진1을 써가며 고생했던 경험이 있던터라 두엔진의 구조에 대해서는 어느정도 알고 있습니다. 두엔진, 아니 총 네개의 엔진(크라이1,2와 언리얼2,3)를 설명해 보겠습니다.

언리얼엔진2와 크라이엔진1의 비교하면 크라이엔진1은 지형 렌더링에 강하고 DX9 셰이더를 기본 지원합니다. 언리얼엔진2는 DX8에 기반하고 DX9 셰이더를 지원하려면 약간의 추가 작업을 해야합니다. (어렵지는 않습니다)

에디터는 크라이엔진1의 Sandbox는 지형툴이 강력하고 언리얼엔진2의 UnrealEd는 실내지역에 세세한 부분을 꾸미는게 강력합니다.(그렇다고 UnrealEd의 지형이 나쁘다는말은 아닙니다) Sandbox는 Additive 스타일로 맵을 만들고 UnrealEd는 Additive와 Subtractive라는 두가의 스타일을 모두 지원합니다. Additive는 지형맵에 유리한 조건이고 Subtractive는 미로나 던전등 매우 복잡한 실내맵을 효과적으로 만들때 유리합니다.

둘다 FPS용 엔진이지만 언리얼엔진2는 코드의 Modulation에서 훨씬 우위의 구조를 갖추고 있습니다.

크라이엔진1은 엔진의 모든 부분이 상호간에 긴밀하게 얽혀 있습니다. 언리얼엔진2도 대부분의 코드들이 서로를 보완하는 식이지만 함수의 체계화와 소스의 정렬이 커스터마이징을 고려한 구조로 짜여져 있습니다. 그리고 언리얼 Core 시스템에서 만들어내는 언리얼 버추얼 머신의 개념은 단지 게임 스크립팅을 위한 도구가 아닌 엔진 전체에 걸친 연동화 작업을 해주는데 이것역시 상당히 유용합니다. 크라이엔진1이 내부적으로 렌더링, 물리, 네트웍, AI, 사운드 시스템까지 모든게 얽혀져서 커스터마이징에 상당히 애를 먹는 반면에 언리얼엔진2는 크라이엔진1에 비하면 비교적 훨씬 수월한편입니다. 언리얼엔진2는 크라이엔진1에 비하면 네트웍 분리, 물리엔진의 분리, AI, 사운드 시스템을 비롯해 모든 부분의 분리와 개조나 교체가 간단한편입니다.

이제 크라이엔진2와 언리얼엔진3를 비교하겠습니다.

크라이엔진2는 크라이엔진1과 비교하면 Entity 시스템과 GamePlay 그룹등의 엔진의 큰 함수 몇가지가 소스 코드상에서 별도의 DLL 모듈레이션으로 분리는 되있습니다만 실제적인 구조는 크라이엔진1과 거의 차이가 없습니다.

단지 외관의 줄만 위치가 바꼈고 실제 내부의 내용은 같다고 하면 이해가 쉬울까요?

DLL로 빠져있는건 물리, 사운드, 네트웍, 렌더링, AI등 빠져있을건 다 빠져있지만 그게 Extensible, Flexible, Modifible을 의미하진 않습니다.

코드상에서 Modulation으로 소스가 분리되어 있을뿐 그안에 소스가 얽혀있고 Lua 스크립트를 엔진의 라이브러리 삼듯 코딩이 되어있어서 엔진 전체에 얽혀있는점은 크라이엔진1과 다를바가 전혀없습니다.

크라이텍은 엔진상의 대형 함수만을 DLL로 빼놓으면 그게 엔진이 Highly Module화, Component성을 띈다고 생각한것 같은 모양입니다.

결론적으로는 말하자면 크라이엔진1처럼 엔진이 수정이 어렵고 다루기 힘든건 마찬가지란겁니다. 특히 크라이엔진1에서도 가장 심한 부분인 Lua 스크립트가 엔진 전체에 걸쳐 얽혀있는점은 상당한 문제가 있었는데 크라이엔진2도 역시 그문제를 고스란히 담고 있습니다.

다만 이번에는 크라이텍이 내부적으로 MMOG 프로젝트를 개발하는 관계로 MMOG용으로 엔진을 커스터마이징하고 MMOG용 네트웍 모듈을 삽입해 놓은 버전이 따로 존재합니다.

언리얼엔진3는 언리얼엔진2에 비하면 거의 모든 시스템이 재작성됐고 정말 판이하게 다릅니다만 언리얼 Core에 기반한 시스템만 이해하고 있으면 언리얼엔진3를 잘 사용하는데 무리는 없습니다.

언리얼엔진3의 코드의 구조는 크게 Core, Engine, Editor, UnrealEd라는 메인 모듈이 존재하고 나머지는 서브 모듈이나 익스텐드 모듈에 속합니다.

언리얼엔진3는 대부분의 기술적인 내용들은 Engine으로 정의된 모듈 내에서 수정을 하게 되는데 코드가 얽힌 부분이 없고 방대한 엔진 크기와 내용임에도 거의 완전한 코드 모듈레이션이 되어있어서 엔진을 수정하는데 큰 어려움이 없이 엔진을 커스터마이징이 가능한 수준이고 여기에 외부의 컴포넌트들을 매우 쉽게 연동하고 끼웠다 뺐다하는 식으로 쓸수도 있습니다.

기술적인 부분을 Engine에 담지않고 따로 빼는것도 얼마든지 가능하고 프레임웍을 프로그래머가 정의하는게 가능합니다.

그뿐 아니라 게임프레임웍과 파일 시스템 프레임웍도 프로그래머가 임의대로 정의할수 있습니다.

언리얼엔진3는 언리얼스크립트라는 엔진 자체내의 고유한 스크립트 언어를 사용하는데 이언어가 엔진 코드 전체에 걸쳐 써있지만 크라이엔진2처럼 Lua로 얽혀 수정을 힘들게 하는 구조는 아닙니다.

언리얼엔진3는 비교적 이쁜 구조에서 코드 커스터마이징도 수월한 편이고 구조 자체도 특정하게 얽매이지 않고 수정이 쉽게 가능한 구조입니다만 언리얼엔진3은 제대로 쓸려면 초반에 상당한 배움과 익힘이 필요한 엔진입니다.

언리얼스크립트를 익혀야하고 언리얼 Core의 개념과 그 개념으로 작동하는 작동 원리를 알아야만 제대로 써먹고 마음대로 수정할수 있습니다.

그걸 모르고 그냥 쓴다면 삽질도 잦고 엔진도 반쪽짜리 엔진으로 쓸수밖에 없습니다.

그대신 그 구조를 잘 익힌후 사용한다면 그것을 잘 익힌 프로그래머들에게는 무엇보다도 최고의 엔진이 될수 있습니다.

언리얼엔진이 다른 엔진과 차별화되는 독특한점은 그고유한 언리얼 Core의 개념과 그것의 구조적인 면과 거기에 기반한 작동법을 잘 익혀둔다면 나중에 언리얼엔진으로 새로운 프로젝트를 들어가더라도 또는 언리얼엔진으로 누가 개발하던 프로젝트를 다시 다루더라도 쉽게 적응이 가능합니다.

보통은 같은 상용화된 엔진을 사용했더라도 남이 한참 커스터마이징 해놓은 엔진을 프로그래머가 도중에 바톤터치 되거나 한 일이 발생되서 거기 적용하려면 잘 안되거나 매우 어려운게 사실입니다.

하지만 언리얼엔진일 경우엔 모든게 고유의 언리얼 Core에 기반해서 작동하고 엔진을 어떻게 수정해도 언리얼 Core에 기반해 모든 코드 작성이 이루어지기 때문에 도중에 프로그래머가 바껴도 언리얼 Core를 잘이해하고 있는 프로그래머들이라면 큰 문제가 없이 바로 적응이 되고 어떻게 엔진을 변형하고 사용해왔는지 이해도 빠르게 됩니다.

해외나 국내나 개발자 구인내용중 프로그래머에 보면 특히 언리얼엔진의 사용경험자와 언리얼스크립트 유경험자 우대라는 사항이 있는데 그말은 이유없이 나오는게 아닙니다.

디자이너의 경우에 각 엔진의 툴에 익숙한 디자이너를 우대하는거야 당연하지만 프로그래머로서 그런 경험이 필요한 엔진은 언리얼엔진같은 경우를 제외하고 없다고 봐도 무방합니다.

쓰다보니 언리얼엔진3가 짱이다라는 글이 되버렸는데 사실 말마따나 언리얼엔진3가 더좋긴 좋습니다.

크라이엔진2도 렌더링, 툴에서는 결코 언리얼엔진3에 비해 크게 밀리는 수준은 아니며 어느 부분에 있어선 오히려 더 뛰어난 점도 있습니다.

하지만 두 엔진중에 언리얼엔진3를 더 좋게 평가하는 가장 큰이유는 이런 통합구조 엔진에 있에서 가장 중요한건 역동적인 개발과정 상황속에서 유동적이고 변화무쌍한 기획과 기술적인 변화에 대한 요구조건을 빠르게 적용하고 코드가 거기에 맞게 빠르게 변화해야 되는데 이런걸 더잘해줄수 있는 엔진이 언리얼엔진3이기 때문에 언리얼엔진3를 더높게 평가하고 있습니다.

제공되는 소스 : 크라이텍의 크라이 엔진 2 기반의 모든 게임들의 소스 코드, Sandbox 2의 및 유틸리티의 소스 코드

제공되는 툴

제공되는 컨텐츠 : 크라이텍에서 만드는 모든 게임들의 컨텐츠들 일부

엔진 개발사에서 만든 게임


   파 크라이의 판권이 Ubisoft로 완전히 넘어간 상태며 파 크라이 2는 크라이텍과 아무런 관련이 없이 Ubisoft에서 자체 개발된다.

   파 크라이 2는 크라이 엔진도 크라이 엔진 2도 아니며 Ubisoft가 자체 개발한 엔진인 Dunia 엔진으로 만들어진 게임이다.

   Dunia 엔진은 특별히 파 크라이 2만을 위해 개발된 엔진으로 파 크라이 2의 배경인 사막 표현에 특화되었다.

   파 크라이 2를 크라이 엔진 2로 착각하지 말아야한다. 두 엔진은 지향하는 기술, 툴, 모든것이 너무나 다르기 때문이다.

   Ubisoft는 엔진 라이센스 사업을 별도로 하지는 않는다.

국내에서 쓰이는 게임

해외에서 쓰이는 게임

크라이 엔진 2의 특징

플랫폼 지원

멀티 쓰레딩

렌더링 엔진

물리 엔진

인공지능 엔진

사운드 엔진

네트워크 엔진

기타

토론 및 의견


상용 엔진 정보

분류 엔진


제일 위로
최종 수정 일시: 12월 08일(2007년) 01:38 AM 편집 | 정보 | 차이 | 비슷한 페이지 DebugInfo
유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular