UDK
[clearfix]
1. 개요
[image]
에픽 게임즈에서 언리얼 엔진 3를 소스 코드 공개 없이 '''조건부 무료'''[1] 로 배포하는 3D 게임 엔진 에디터.
2009년 11월에 첫 베타 버전이 배포를 시작으로 2015년 2월에 언리얼 엔진 3의 최종 업데이트와 함께 UDK도 마지막 버전이 배포되었다. 정기적으로 매월 1회 새로운 버전의 배포가 되었으며 버그가 발견된 경우에는 월 2회 배포된 경우도 간혹 있었다.
설치 파일명은 "UDKInstall-연도-월-BETA.EXE"이며 버그가 발견되어 월 2회 배포된 경우는 "UDKInstall-연도-월-BETA2.EXE"이다. 기본 설치되는 폴더명과 시작 프로그램명 역시 "UDK-연도-월"로 만들어진다.
정식 언리얼 엔진 3의 라이센스 업체가 받는 것과 거의 동일한 버전으로 매달 업데이트 되었으며 UDK의 최신 버전은 당연히 해당 달의 버전이다. 버전이 바뀌면서 엔진의 기능, 새로운 툴, 에디터의 편의성 개선, 하드웨어의 발전에 따른 새로운 기술 지원, 그래픽 기술 향상 등 버전업에 따른 변화의 차이가 꽤나 큰 편으로 최신 버전을 사용하다가 구 버전으로 돌아간다면 많은 기술적 격차와 함께 단순히 에디터를 사용하는 UI에서도 불편함을 느끼게 된다.
2012년 3월까지는 한달도 빠지지 않고 매월 배포되었으나 2012년 3월 GDC에서 언리얼 엔진 4 공식 발표 이후 5월, 7월, 11월로 듬성듬성 배포되었는데 사실상 이 떄는 언리얼 엔진 3의 업데이트가 거의 종료 된 시점으로 모든 개발력이 언리얼 엔진 4에 집중된 시기이다. 이후 2013년엔 2월, 5월, 7월로 연간 총 3번, 2014년엔 2월, 5월, 8월로 연간 총 3번, 그리고 2015년엔 2월에 마지막 버전이 배포되었다.
2013년 2월 버전까지는 "베타" 버전이었으나 2013년 5월 버전부터는 베타 딱지를 뗀 정식 버전이므로 설치파일명에서도 "BETA"가 빠지고 "UDKInstall-연도-월.EXE"로 되어있다. 2013년 이후의 업데이트는 큰 기능개선은 없고 거의 랜드스케이프, 폴리지 관련 기능 개선이나, 모바일 지원 관련 내용 위주로만 업데이트 되었다.
언리얼 엔진 4는 2014년 3월 19일 GDC에서 일반 대중에게 월 $19.99라는 저렴한 가격의 멤버쉽 라이센스 정책을 발표하였고 더 이상 UDK라는 명칭은 사용하지 않는다. 자세한 내용은 언리얼 엔진 참고.
당연하지만 상용되는 언리얼 엔진이 그대로 탑재되었기 때문에 일반에 공개된 엔진임에도 불구하고 '''현존하는 거의 대부분의 상용 엔진을 쌈싸먹을 최신예 기술들이 총집합'''(UDK 배포시기 기준) 되어있고 개발을 위한 모든 툴이 구비되어 있다. 레벨 디자인을 위해 키스멧 비주얼 스크립트, 랜드 스케이프, 마티네 등의 툴, 캐릭터 등을 위한 애니메이션 트리, 애니메이션 세트, 피직스 에셋 같은 툴, 그래픽 아티스트를 위한 머티리얼 에디터, 캐스케이드 등, 그리고 PhysX 물리엔진, FaceFX, 스피드트리, 스케일 폼, 심플리곤, 서브스텐스 등 외부 미들웨어는 세계적으로 인정 받는 검증된 모듈이며 UDK를 사용할 시 저 미들웨어들을 공짜로 사용 가능하다.
이것은 UDK의 공개 의도 덕분인데, 유니티 엔진의 엔진 시장 홍보, 크라이엔진의 기술적 홍보 등 여타의 엔진들의 홍보를 의식하여 언리얼 엔진을 더욱 강력하게 대중에게 각인시킴과 동시에 기존 시장뿐 아니라 모바일이나 인디개발자, 그리고 틈새시장까지 공략하고, 그와 더불어 언리얼 엔진의 잠재적인 사용자 풀을 늘리고 교육시키려는 의도를 가지고 배포한 것이다. 게다가 게임에 국한된게 아니라 애니메이션, 건축설계, 군사용 시뮬레이션 등 비게임 분야에서도 사용될 수 있도록 많은 노력을 기울이고 있다. 그러한 취지에서 대단히 방대하고 자세한 교육 문서를 제공하며 특히나 고급 라이센스 업체에게만 제공될 법한 무수히 많은 매뉴얼은 무료 제공 버전으로서는 파격적인 수준이다. 게다가 한글화된 문서를 제공하는 것뿐 아니라 엔진 자체를 한글화해서 제공하는 것 역시 거의 유일한 케이스에 속한다.
이러한 행보 덕분에 이 분야에서 앞서나가고 싶어하는 크라이 엔진 또한 교육용 무료 SDK를 2012년 8월 배포하였으나 UDK의 막상막하의 라이벌이 될 것이라던 예상과 다르게 별 반향이 없이 사그라 들었다. CryEngine3 SDK는 2013년 초를 기준으로 스텐드 얼론으로 실행 파일만 빼는것이 불가능하며 레벨디자이너-모델러-그래픽-프로그래머의 협업이 힘들다. 반면 UDK는 각 분야별 작업간 협업이 매우 쉽고 개발에 효율적이고 우수한 툴과 편의성을 비롯해 지속적인 업데이트와 함께 새로운 지술의 지원과 더불어 여러가지 사용법들이 사용자 친화적으로 강화되어 감에 따라 크라이엔진 SDK와의 차별성을 더욱 부각시켰다.
주기적인 업데이트로 UDK는 2010년 중순의 버전부터는 64비트를 지원하게 됐으며, 2010년 말에는 iOS를 지원하는 버전이 공개되었다. 처음 iOS버전이 공개되었을때+는 PC판과 모바일판(iOS용)의 관련 바이너리파일들과 에디터가 별도로 실행되었으나 2011년 중순의 업데이트로 동일한 바이너리파일 및 동일한 에디터 내에서 PC판과 모바일판의 작업을 별 다른 설정의 변경 없이 사용이 가능하게 되었으며 PC판<->모바일판의 변환도 쉽게 할 수 있다. 초반엔 키즈멧을 사용하면 모바일에서는 상당히 느리기 때문에 언리얼 스크립트만으로 작성해야 하는 우려가 있었으나 모바일 플랫폼의 괄목할만한 빠른 성능 향상으로 인해 그럴 필요가 없어졌다. 모바일용 키즈멧 기능이 별도로 존재하여 터치 기능들을 쉽게 개발할 수 있다.
2011년 3월 버전부터는 차세대 기술 시연으로 화제가 된 사마리아인 데모에 쓰인 Bokeh Depth of Field, Tessellation, Image Based Reflection, Subsurface Scattering 등 다양한 DX11 전용 신기술을 UDK에 도입하여 사용 할 수 있게 되었다.
사실 다른 거 안 따져도 에픽 게임즈는 실로 대인배가 아닐 수 없다! 아무리 변형이 되었고 제약이 걸려있다곤 하지만 현역으로 돌아가고 있는 엔진을 무료로 내놓다니! 거기에 '''제약 없이 언리얼 엔진 3으로 이식이 가능'''하다는 장점 또한 존재한다!
고가에 라이센스되는 실제 언리얼 엔진과의 가장 큰 차이는 C++로 이루어진 네이티브 코드에 직접 손을 댈 수 없기 때문에 엔진 깊숙한 곳의 모든 기능을 마음대로 수정을 가할 수 없다는 점이다.
하지만, UDK만으로도 갖가지 장르 및 게임 타입을 만들거나 새로운 기능을 추가하는 것은 전혀 문제가 되지 않는다. 언리얼 스크립트를 게임플레이 스크립트를 작성하거나, DLL 바인딩 기능을 이용하여 C++로 게임코드를 작성할 수도 있고 LUA와 같은 별도의 스크립트 언어도 탑재가 가능하다. UDK에서의 배치(Deployment) 작업을 통해 별도의 실행 파일(EXE)도 생성이 가능하다. 한개의 맵에 마타네를 이용해 오프닝 무비를 만들고 거기에 스케일폼을 이용해서 메뉴를 만들고 다른 맵을 로딩해서 플레이 한다거나 혹은 한개의 맵으로 스트리밍을 설정하여 연결할 수도 있다.
맨 처음 UDK가 나온 2009년 11월 버전에서는 언리얼 스크립트로만 프로그래밍이 가능했지만, 바로 다음달 버전인 2009년 12월 버전부터는 C++를 이용한 DLL 바인딩이 가능하다. 이를 이용해 Lua나 기타 스크립트 언어를 탑재할 수도 있다. 참고
게임 개발자가 되고 싶으면 한번쯤은 써보자. 특히 FPS 장르를 개발하고 싶다면 '''필수'''다. AVA 이후로 언리얼 엔진을 사용하려는 회사가 많아진 만큼 익혀두면 취업에 매우 유리하다. 다른 엔진들보다 언리얼 엔진은 언리얼 스크립트의 활용능력이 엄청나게 중요한데다가, 엔진의 인지도, 사용되는 범위 및 기존에 만들어진 언리얼스크립트 사용자 영역이 대단히 커서 본격적인 프로그래밍 언어를 제외하고서는 실제 게임 프로그래밍 업계에서 '실전능력'으로 가장 힘을 발휘할 수 있는 지식 중 하나다. 비디오 튜토리얼도 한국어 자막이 존재하기 때문에 습득하려고 마음만 먹으면 빠르게 익힐 수도 있다. 하지만 워낙에 기능과 툴이 방대해서 생각만큼 쉽사리 익히기는 힘들다. 게임 엔진이니 당연하지만.
언리얼 스크립트는 프로그래밍 언어인 관계로 다른 언리얼 에디터 툴의 기능 사용법같은 동영상 튜토리얼이 없다. 툴의 사용법을 공부하는데에는 약 2개월 정도(투자 시간에 따라 다를 수 있다) 걸리지만 언리얼 스크립트는 6개월 정도는 배워야 한다. 하지만 언리얼 스크립트는 프로그래밍의 기본을 알고 있다면, 특히 C++나 Java를 잘 알고 있다면 매우 친숙한 언어가 될 수 있다. 비록 게임플레이 구현에 특화되어 있는 만큼 전통적인 프로그래밍 언어와는 다른 부분이 있기도 하지만 프로그래밍의 기본을 안다면 UDN을 참고하여 언리얼 스크립트에 대한 내용을 큰 무리없이 습득 가능하다.
UDK는 Unity3D와 다르게 기본적으로 게임플레이 작동 부분들이 완성되어져 기본 탑재되어 있다. 이 부분은 언리얼 엔진에서 정의한 게임플레이 작동 관련 클래스들인데 이것을 언리얼 스크립트라는 언어 자체와 혼동하는 경우가 있다.
보통은 게임플레이에서도 언리얼 엔진에서 정의한 기본 클래스들을 사용하며 이 경우 특정 부분을 수정하려고 하면 관련 클래스 뿐만 아니라 전체가 어떻게 움직이는지 알아야 하며 한가지 간단해 보이는 기능도 수정하기 위해서는 두가지 클래스이상을 재정의 하여야 한다. 만약 근접 무기를 새로 만들고자 한다면 pawn->controller->inventory->weapon 4개 정도의 클래스가 관계됨을 알게된다.
이런 정보들은 UDN 혹은 기타 관련 페이지에서 대부분 참고가 가능하다. 관련 도서는 국내에선 약간 아쉬운데, 언리얼 디자인 관련 도서는 한국에 출시된 것이 5권 정도 있으나 스크립트는 2권(그나마도 iOS 타이틀을 달고 있는 책은 매우 부실하다.) 정도밖에 없고, 커뮤니티는 외국 영문 사이트인 언리얼 위키 등지에서 참고가 가능하나 한글 사이트로는 디자인 관련은 많아도 언리얼 스크립트 관련 커뮤니티가 부실해 사람들에게 도움을 받기도 애매한 편이다. 물론 자신이 처한 상황을 영어로 잘 풀어써서 포럼에 올릴 수 있을 정도라면 예외겠지만.
2. 세부 버전
언리얼 엔진 정확한 버전을 알아보려면 언리얼 에디터를 실행시키고 '''도움'''탭에서 '''언리얼 개발 키트에 대하여'''를 누르면 맨 아래쪽에 버전이 나온다. 이것은 언리얼 엔진의 Build 버전으로서 자세한 내용은 언리얼 엔진 참고.
2007년작 "언리얼 토너먼트 3"의 최종 패치인 v2.1에 사용된 언리얼 엔진 3 버전은 "3809", UDK의 최초 배포버전인 2009년 11월의 빌드 버전 숫자는 "5860", UDK의 최종 배포 버전인 2015년 2월의 빌드 버전 숫자는 "12791"이다. 빌드 숫자가 많이 올라가면 올라갈수록 기능의 개선, 신기술 및 신기능 추가, 개발툴의 추가에서 많은 차이를 보인다. 단순 버그 수정 등으로는 버전 숫자가 거의 차이나지 않는다. 보통 매딜 업데이트 된 버전들을 비교해보면 평균 100 안팎 정도로 올라가면서 기능, 기술, 툴이 개선되었다.
UDK는 아래와 같은 버전들로 배포가 되었으나 라이센스 업체에게 제공되는 언리얼 엔진 3는 UDK 월간 배포된 버전 사이의 버전도 제공되었다. 예를 들면 라이센스 업체에게는 UDK 2014-02(12097)와 UDK 2014-05(12264) 사이에 12178, 12181 등의 버전이 제공되었다.
참고로 언리얼 엔진 개발사인 에픽 게임즈에서 출시한 게임들을 비롯하여 언리얼 엔진 3로 만들어진 주요 게임(시리즈)들 및 연도별로 출시된 주요 국산 온라인 게임들에 사용된 엔진 버전을 비교하면 대략적으로 버전에 따른 차이의 정도를 알 수 있다.
패키지 게임
- 기어스 오브 워 시리즈 : 1(2310), 1 PC 버전(3329), 2(4638), 3(8653), 저지먼트(9026)
- 기어스 오브 워 얼티밋 에디션 : PC 버전(3329)을 기반으로 언리얼 엔진 3 후기 버전에 있는 Lightmass 기술 통합, PBR 셰이더 혼합
- 매스 이펙트 시리즈 : 1(3240), 2(3607), 3(6383)
- 배트맨 아캄 시리즈 : 어사일럼(4701), 시티(7748), 오리진(10070), 나이트(10246)
- 섀도우 컴플렉스 : 오리지널(5246), 리마스터드(10897)
- 블렛스톰 : 오리지널(7052), 풀 클립 에디션(12170, 패치후 12212)
- 인피니티 블레이드 시리즈 : 1(7595), 2(9059), 3(12068)
- 트랜스포머 시리즈 : 워 포 싸이버트론(3806), 다크 오브 더 문(4363), 폴 오브 싸이버트론(8787), 라이즈 오브 더 다크 스파크(10790)
- 보더랜드 시리즈 : 1(4871), 2/프리-시퀄(8623)
- 아메리카스 아미 시리즈 : 3(4206), 프로빙 그라운드(9656)
- 생텀 시리즈 : 1 첫 출시(7876), 1 패치 후(9953), 2(10246)
국산 온라인 게임들
- 2007년작 : 아바(28xx)
- 2011년작 : 테라(52xx), 스페셜 포스 2(6712)
- 2012년작 : 블레이드 앤 소울(36xx)
- 2014년작 : 블랙 스쿼드(10233)
- 2016년작 : 블레스(10499)
- 2017년작 : 뮤 레전드(12621), 라인오브사이트(10897), 메트로 컨플릭트(8171)
- 2018년작 : 테라 콘솔 버전(10897), 로스트아크(12097), 아스텔리아(10897)
- 2020년 출시 예정작 : 엘리온(10897), 크로스 파이어 HD(10897)
- UDK 2009-11-BETA : Unreal Engine 3 version 5860 changelist 309428
- UDK 2009-11-BETA2 : Unreal Engine 3 version 5860 changelist 309428
- UDK 2009-12-BETA : Unreal Engine 3 version 6094 changelist 422614
- DLL 바인딩 지원 : 네이티브 C++ 코드 확장 가능
- InteractiveFoliageActor 지원 : 바람, 플레이어, 기타 오브젝트 등 환경에 영향을 받아 움직이는 풀, 나무 등을 표현하는 기능
- UDK 2010-01-BETA : Unreal Engine 3 version 6165 changelist 436666
- UDK 2010-02-BETA : Unreal Engine 3 version 6262 changelist 450718
- UDK 2010-03-BETA : Unreal Engine 3 version 6383 changelist 474472
- FBX 플러그-인 파일 포맷 지원 : 기존 ActorX 대체로 효율적인 모델/애니메이션 임포트/익스포트 가능
- UDK 2010-04-BETA : Unreal Engine 3 version 6522 changelist 503622
- 프로시저럴 빌딩 : 건물을 빠르게 제작하는 툴
- 캐스케이드 섀도우 매핑
- 동적 반투명 그림자
- UDK 2010-05-BETA : Unreal Engine 3 version 6699 changelist 536634
- 64비트 프로세싱 완벽 지원 : 64비트 게임 및 에디터 실행으로 4GB 이상 메모리 효율적 사용\
- 스케일폼 GFx 완벽 통합 : 게임UI(HUD, 메뉴 등), 에디터(툴 내에서 작업), 게임 렌더링 내 지원(게임 내에서 동적 상호작용)
- 스팀웍스 지원
- 라이트 섀프트 지원
- 익스포넨셜 하이트 포그 : 고도에 따라 밀도가 바뀌는 신형 안개 효과
- 컬러 그레이딩 혼합
- 새로운 게임플레이 프로파일러 : 언리얼 엔진 2부터 쓰인 ueScriptProfiler 대체
- UDK 2010-06-BETA : Unreal Engine 3 version 6829 changelist 558646
- 셰이더 모델 2(DX9b) 지원 중단, 셰이더 모델 3(DX9c), 셰이더 모델 4(DX10)만 지원
- 게임캐스터 가상 카메라 통합
- UDK 2010-07-BETA : Unreal Engine 3 version 6890 changelist 571338
- UDK 2010-08-BETA : Unreal Engine 3 version 7026 changelist 597149
- UDK 2010-09-BETA : Unreal Engine 3 version 7258 changelist 641002
- UDK 2010-10-BETA : Unreal Engine 3 version 7422 changelist 674807
- 모션블러 스키닝 : 하나의 오브젝트에서도 각 부분별로 분리해서 모션블러가 가능
- UDK 2010-11-BETA : Unreal Engine 3 version 7546 changelist 703463
- UDK 2010-12-BETA : Unreal Engine 3 version 7637 changelist 720882
- iOS 지원 : UDK만으로 iOS 게임 제작/배포 가능
- UDK 2011-01-BETA : Unreal Engine 3 version 7748 changelist 742347
- UDK 2011-02-BETA : Unreal Engine 3 version 7876 changelist 776445
- UDK 2011-03-BETA : Unreal Engine 3 version 7977 changelist 798121
- DX11 완벽 지원 : 셰이더 모델 5 지원으로 지오메트리 셰이더, 컴퓨트 셰이더 등 차세대 기술 사용 가능
- 테셀레이션 : 폴리곤을 쪼개서 디테일 늘리기
- 다이나믹 디스플레이스먼트 매핑 : 평면을 입체감 있게 만드는 기술, 테셀레이션과 동시 사용시 극대화, 실시간 디포메이션(형체변형 - 사마리아인 데모의 돌 인간 변신 등)이 가능
- 이미지-기반 반사 : 현실적인 장면 반사효과, 빗물에 비추는 장면 등
- 서브-서피스 스캐터링 : 표면하부에서 산란되는 빛 효과 표현으로 사실적인 피부 등 표현 가능
- 안티-알리아스드 마스크드 머티리얼 : 계단현상 방지처리된 투명 재질(텍스처, 머티리얼)
- MSAA와 동시 사용가능한 디퍼드 렌더링
- 보케 DOF : 보케효과를 가진 고품질 촛점 심도 효과
- 고품질 동적 그림자 : 주변의 모든 라이트로부터 드리워지는 부드러운 그림자 효과
- APEX 완벽 통합 : 사실적인 천 물리효과, 사물 파괴 등
- 랜드스케이프 : 기존의 구형 터레인을 대체하는 새로운 터레인 시스템으로 방대한 지형을 적은 메모리로 구동 가능
- DX11 완벽 지원 : 셰이더 모델 5 지원으로 지오메트리 셰이더, 컴퓨트 셰이더 등 차세대 기술 사용 가능
- UDK 2011-03-BETA2 : Unreal Engine 3 version 7977 changelist 798121
- UDK 2011-04-BETA : Unreal Engine 3 version 8171 changelist 833356
- UDK 2011-05-BETA : Unreal Engine 3 version 8364 changelist 871961
- UDK 2011-06-BETA : Unreal Engine 3 version 8623 changelist 935754
- 새로운 폴리지 시스템 : 기존 터레인의 초목을 시스템을 대체하는 새로운 초목 배치 시스템으로 수풀이 우거진 산림을 효율적으로 제작/구현이 가능
- 맵 템플릿 : 커스터마이징 가능한 낮, 밤, 아침, 저녁노을 등 라이팅 환경 즉석 설정
- 심플리곤(Simplygon) 완전통합 : LOD 전환시 퀄리티 유지하고 폴리곤 줄이기
- 언리얼 키스멧 디버거 : 비주얼 스크립트인 언리얼 키스멧 노드를 시각화하여 실시간으로 비주얼 스크립트의 디버깅이 가능
- 실시간 퍼포먼스 시각화 : 퍼포먼스 시각화 기능으로 최적화 요소를 쉽게 식별 가능
- UDK 2011-07-BETA : Unreal Engine 3 version 8710 changelist 955963
- FXAA, MLAA 등의 후처리 AA효과 지원
- UDK 2011-08-BETA : Unreal Engine 3 version 8788 changelist 976115
- 무비 캡처 시스템 : 오프라인 렌더링 기능으로 하드웨어 사양과 무관한 최대 퀄리티의 무비 렌더링 가능
- 적응형 테셀레이션 : 화면 크기에 따른 동적 테셀레이션
- UDK 2011-09-BETA : Unreal Engine 3 version 8916 changelist 1009027
- UDK 2011-10-BETA : Unreal Engine 3 version 9029 changelist 1047102
- UDK 2011-11-BETA : Unreal Engine 3 version 9140 changelist 1081640
- UDK 2011-12-BETA : Unreal Engine 3 version 9249 changelist 1109819
- 텍스처 페인트 : 텍스처를 폴리곤에 붓질하듯 바를 수 있는 기능,
- UDK 2012-01-BETA : Unreal Engine 3 version 9375 changelist 1140738
- UDK 2012-02-BETA : Unreal Engine 3 version 9505 changelist 1174198
- 리캐스트 완전 통합 : 내비게이션 메시 생성 툴
- UDK 2012-03-BETA : Unreal Engine 3 version 9656 changelist 1202061
- UDK 2012-05-BETA : Unreal Engine 3 version 9953 changelist 1260027
- UDK 2012-07-BETA : Unreal Engine 3 version 10246 changelist 1340247
- 퍼포스 완전 통합 : 소스 코드 형상관리 툴
- OpenAutomate 완전 통합 : 퍼포먼스 자동화 툴
- UDK 2012-07-BETA2 : Unreal Engine 3 version 10246 changelist 1340247
- UDK 2012-11-BETA : Unreal Engine 3 version 10499 changelist 1426632
- 클린 스타터 프로젝트 툴 : 최소 콘텐츠로 개발을 시작할 수 있는 옵션
- UDK 2012-11-BETA2 : Unreal Engine 3 version 10499 changelist 1426632
- UDK 2013-02-BETA : Unreal Engine 3 version 10897 changelist 1532151
- Substance 완전 통합 : 절차적 텍스처 생성 툴
- UDK 2013-02-BETA2 : Unreal Engine 3 version 10900 changelist 1537896
- UDK 2013-05 : Unreal Engine 3 version 10905 changelist 1667866
- UDK 2013-07 : Unreal Engine 3 version 10907 changelist 1715227
- UDK 2014-02 : Unreal Engine 3 version 12097 changelist 1999891
- UDK 2014-05 : Unreal Engine 3 version 12264 changelist 2062495
- UDK 2014-08 : Unreal Engine 3 version 12466 changelist 2243543
- UDK 2015-02 : Unreal Engine 3 version 12791 changelist 2424394
- UDK로 64비트 fat 바이너리 파일 생성 가능
3. UDK만으로 쉽게 내가 원하는 게임을 만들 수 있을까?
언리얼 스크립트를 쓰지 않고서도 기본 제공되는 기능을 사용해서 키스멧과 툴만을 가지고도 왠만한 구성은 할 수 있으나 자유롭게 새로운 게임타입을 구성하려면 언리얼 스크립트는 기본적으로 할 줄 알아야 한다. 굳이 언리얼 스크립트가 아니더라도 위에서 언급된 DLL 바인딩 기능을 활용하여 C++나 Lua, C\# 등의 기타 스크립트 언어를 사용해도 된다.
프로그래밍을 전혀 모르는 사람이 혼자서 UDK를 가지고 툴만을 사용하여 간단한 게임(데스매치, CTF 등)은 만들 수 있으나 프로그래머 없이 자유자재로 갖은 게임들을 만들어 내는 것은 불가능하다. 하지만 이는 어떤 엔진을 쓰더라도 마찬가지이며 프로그래머 없이는 RPG 만들기 같은 것으로 비슷한 게임을 찍어내는 것 외엔 구현이 불가능한 것과 마찬가지다. 이와 비슷하게 유니티 엔진도 C#으로 게임 스크립트를 작성해야 하며 프로그래머 없이는 비슷한 결과를 초래한다.
아쉽지만 프로그래밍을 통한 스크립트 작성을 제외한, 키스맷과 툴 전반을 공부해서 레벨 디자인을 한다면 그럭저럭 나쁘지 않은 퀄리티의 게임을, 물론 한정된 장르(서술했듯이 데스매치, CTF)내에서 만들어 볼 수 있다. 몇몇 네이버 카페에선 약간의 키즈멧과 툴을 가지고 게임을 만든다는 건 게임 프로그래머의 경험이라 할 수 없고 애들 장난이나 다름없다고 비판하나, 그에 맞서 게임 개발자를 꿈꾸는 학생들을 위해선 좋은 경험이 될 것이라고 반박하는 네티즌들도 많다.
물론 학생들은 방대한 언리얼 스크립트를 배울 시간이 없으므로, 혹 배운다 해도 보통은 학업에 지장이 크기에 언리얼 스크립트를 배워 게임을 제작하겠다는 것은 무리다. 키즈멧, 툴을 가지고 UDK로 맵을 만들어서 기본으로 제공하는 데스매치 게임이라도 만들어 보는 것이 좋은 경험이 될 것이다. 툴을 썼건 질이 나쁘건 젊을 때 나름대로 '게임을 완성했다'는 경험은 굉장히 큰 자산이 된다. 안 해본 사람은 모른다. 프로 게임회사에서도 엎어지는 프로젝트가 부지기수인데[2] 서로의 의견을 조율하고 희생하면서 게임을 완성시키는 건 쉽게 할 수 없는 경험이다. 게임은 혼자 만드는 게 아니다.
허나 중요한 것은 UDK는 프로그래머보단 '''디자이너'''를 위한 툴이라는 점이다. 애초에 UDK가 공개된 목적이 디자이너들을 편하게 하기 위해서다. 키즈멧 같은 툴도 "프로그래머의 도움에서 벗어나" 디자이너가 조금 더 쉽게 게임플레이 스크립트를 작성할 수 있도록 의도한 것에서 창안된 기능이다. 언리얼 엔진 4에서 키즈멧을 대체한 블루프린트는 그점을 더욱 강조하여 개선되었다. 툴이 발전할수록 디자이너가 프로그래머의 도움없이 혼자서 개발할 수 있게 하는 것이 목적인 것이다.
UDK를 통해 다양한 3D 기술들을 직접 접해보고 셰이더를 조합하고 텍스처를 입혀보고 맵을 만들어 본다면 디자이너 지망생들에게는 나중에 취직해서 하게 될 실제 개발업무와 상당히 비슷한 경험이 된다. 몇몇 카페에서 얘기했듯이 디자이너에게 그들이 말하는 본격 프로그래머의 경험을 요구한다면 그 회사는 '''개막장 회사'''다.
또한, UDK에서 제공된 기본 기능들만으로 무언가를 만들어 보는 것이 프로그래머의 경험이라 할 수 없는 애들장난 수준이라고 한다면, 공개된 텍스쳐를 사용하는 아티스트나, 샘플 캐릭터등을 사용하는 3D 모델러, 샘플 SFX나 BGM을 사용하는 사운드 디자이너 같은 다른 포지션에서도 마찬가지다.
이런 류의 '배우려면 본격적인 걸 배워라'라고 말하는 사람들이 흔히 하는 잘못이 자신의 초보 시절을 전혀 생각 안 하는 것이다. 게임 제작에 필요한 툴 사용은 본격 프로그래밍에 비해 간단한 편이지만, '''초심자들은 그 툴 사용조차 어려워한다.''' 구구단을 배워야 할 아이한테 '''"제대로 수학을 하려면 미적분을 해야지!"''' 하는 식이다. 본격 프로그래밍은 배워야 할 게 산더미 같고 그 과정을 따라가다 '게임은 언제 만들어요?' 하다가 때려치우는 사람이 부지기수다. 알고 나면 별거 아니라고 하지만 '''자기는 이미 아니까 별거 아니지.''' 그걸 진입장벽이라고 텃세를 부리면 게임개발계는 더욱더 고착되기만 할 것이다.
4. 사양
4.1. 최소 사양
운영체제 : 윈도우 XP 이상
CPU : 2.0 GHz
램 : '''2GB'''
그래픽 카드 : DirectX 9.0c (Shader Model 3.0) 호환 비디오 카드
하드디스크 : 3GB 필요
4.2. 콘텐츠 개발용 '''추천''' 사양
운영체제 : 윈도우 비스타 64비트 서비스 팩 2 이상
CPU : 2.0 GHz 이상의 멀티코어 프로세서
램 : '''8GB'''
그래픽 카드 : NVIDIA 지포스 8 시리즈 이상
하드디스크 : '''최대한 넉넉히''' (Plenty of HDD space)
4.3. DirectX 11용 게임 개발 최소사양
운영체제 : 윈도우 비스타 SP2 이상(DirectX 11 설치 필수)
CPU : 2.0 GHz
램 : '''2GB'''
그래픽 카드 : NVIDIA - 지포스 400 시리즈 이상 / ATI - 라데온 HD 5000 시리즈 이상
하드디스크 : 3GB 필요
[1] 비상업적 용도에 한정해서 무료배포다. 상업적인 용도로 사용하려면 iOS계열처럼 에픽 게임즈에 일정량의 라이센스비(정식 언리얼 엔진 라이센스보다는 '''훨씬'''싸다.)를 내야 한다.[2] 실례를 보고 싶다면 이수인이 쓴 '게임 회사 이야기'라는 책을 한번 읽어볼 것. 옛날에 나왔지만 충분히 읽을 만 하다.