IT삼국지 #1 : 유니티는 내부적으로 어떻게 컴파일되는가






IL중간단계 언어를 생성한후 il2cpp.exe 를 통해 c++코드로 변환 gcc로 컴파일 과정을 거처 다양한 플랫폼언어로 컴파일됩니다 , 참고 : An introduction to IL2CPP internals


중간단계 언어란?

중간단계 언어는 가전제품등에 컴퓨터 프로그램을 올리기 위해 "선마이크로시스템즈"에서 만든 자바 언어에서 대중화 되었습니다 , 당시에는 획기적인 기술로 프로그램을 하나만 만들면 여러 기기에서 따로 또 개발할 필요없이 모든기기에서 실행이 가능했기때문에 급격히 확산 되었습니다, 당시 컴퓨터공학계열의 대학에서는 마치 자바가 세련되고 최신유행처럼 여겨졌고, 관련기술에 숙달된 인력들은 높은 연봉에 DB업계, 은행권등으로 취업이 이어지던 시기였죠, 단 자바의 단점으로는 중간단계언어를 실행하기 위해 가상머신이라는 프로그램을 따로 돌려야 되기때문에 느리다는 것이 었습니다, 자바는 만들어진지 오래된 언어로 현재 하락세를 격고 있지만 현재 널리 사용되는 안드로이드에까지 그 뿌리가 깊이내려져 있죠



 C#


C#은 IT계의 악동 마이크로소프트가 자바에서 영향을 받아 단점을 보완해 만든것이라고 할수 있죠, 2000년 당시에는 자바처럼 대중화시켜 나중에 윈도우처럼 독점적 지위를 확보하고 이득을 취할 목적이었을거 같은데 뜻대로 되지 않았죠, 아이러니하게 의도치않은 선행이 되어버린 C#과 관련기술들



 노키아 -> ... 유니티 그리고 UDK


당시 휴대폰업계 1위 노키아가 애플이 만들어낸 스마트폰에 대응하지못하고 무너저 버립니다, 대량의 우수인력들이 실업자 신세가 되고 노키아라는 거대공룡이 무너진 핀란드 정부는 이들 우수인력들이 세운 스타트업을 전폭적으로 지원하게 되죠, 유명해진 스타트업으로 클래시 로얄을 만든 슈퍼셀도 있고, 유니티사도 있습니다,  유니티사는 초기에 플래시 게임의 영향을 받아 자바스크립트를 채용했다가 c#으로 메인언어를 교체합니다 , 유니티는 다양한 플랫폼으로 컴파일해주는 기능을 앞세워, 쏟아져나오는 노키아의 우수인력을 흡수하고, 대중화되는 스마트폰플랫폼을 등에업고 급격하게 성장합니다, 이전 업계 1위였던 언리얼엔진의 점유율을 추월해서, 현재 전세계 게임엔진시장의 45%, 한국 게임시장이 60%이상을 점유하고 있으며 그세력을 점차 확대하고 있습니다, 무었보다 주목할점은 점유율보다 그 기능발전속도가 너무 빠르다는 것입니다, 소숫점 뒷자리 .x변화로 나온 버전을 업그레이드 하면서 그 새로나온 기능에 적응하기 힘들정로도 빠르게 발전하고 있습니다, 그 점유율도 무섭지만 지속적으로 기능을 개선하고 기본기를 다지고 있다는점에서 앞으로 이변이 없는한 경쟁자가 나오기 쉽지 않을거 같습니다, 많은분들이 UDK를 경쟁자로 지목하지만 UDK는 정말 오래된 회사고 유니티 탄생시점부터 이미 업계1위였죠, 시장상황에 현재 이많큼 대응한것도 거대몸집에 비해선 기민한것이었습니다, UDK는 오래전 언리얼 토너먼트란 FPS게임을 만들면서부터 오랜시간 PC에 최적화된 기술로 윈도우기반 PC에서는 화려한 그래픽과 퍼포먼스를 뽑내지만 용량과 유연성면에서 현재의 변화무쌍하고 다양한 플랫폼에 대응하기에 어려움이 있습니다, 다만 PC기반 기술을 활용한 콘솔이나 윈도우기반 PC에서는 퍼포먼스나 퀄리티에서 UDK의 우수성을 부정하는 사람은 많지 않을것입니다.


개발/프로그래밍 주제의 다른글 : 더보기

  1. 유니티 최적화