프로그래밍/IT이야기

리그 오브 레전드의 프로그램 구성방식은 어떻게 되있는 것일까?

당근천국 2012. 4. 4. 14:00
제가 예전부터 구성하고 싶었던 방식중에
Step1. 웹에서 업데이터 설치
Step2. 데스크탑에서 업데이터 실행
Step3. 업데이터에서 파일을 업데이트 한후 메인프로그램 실행
이런 구성 방식이 있습니다,

이왕이면 첫설치후 Step1의 경로로 접근하면 바로 설치된 파일이 실행되는게 제일 좋고 차선책으로 설치된 파일을 실행하라는 안내문을 내도 괜찬습니다,
최악의 경우 다운로드만 해야 하죠.(이경우 구지 이방식을 쓰나 안쓰나 차이가 없습니다-_-;)
보통 이런한 구성은 엑티브X(ActiveX)로만 가능하다는 문제가 있죠-_-;
하지만 엑티브X는 이미 버려진 자식이라는거 ㅎㅎㅎ

이렇게 구성을 하게 되면 좋은 점이
1. 사용자는 첫 접근을 웹으로 할 확률이 크기때문에 접근성이 좋다.
2. 첫설치이후에는 실행 스탭이 짧아진다.
3. 어느 경로로 접근해도 동일한 스텝이 진행된다.

이것에 OOB를 첨가하면 업데이터를 업데이트 해주는 로직도 빠지고 인스톨하는 로직도 실버라이트가 처리해주므로 꽤나 심플하게 구성이 가능합니다.(어도비 에어도 OOB와 비슷하게 구성이 가능한걸로 알고있는데...이쪽은 제가 잘 모름;; )
(참고 : [Silverlight] 1. OOB(Out Of Browser)를 사용해 보자)
거기다 이미 설치가 됬다면 웹에서는 설치가된 파일을 실행하라는 안내까지 출력해주죠.

하지만 이러한 구성에는 큰문제가 있는데 바로,,,OOB가 로컬 파일을 실행하지 못한다는 점입니다 ㅡ,.ㅡ;
그러니 결국 1번 스탭은 다운로드만 지원하는 형태가 됩니다-_-;

리그 오브 레전드(이하 'LOL' 혹은 '롤")의 구성은 일반적인 프로그램과 똑같습니다,
런처(업데이터) -> 로비 윈도우 -> 게임
이렇게 구성되어있습니다.


하지만 필수구성 요소는 독특합니다.

LOL의 필수 구성요소는
다이랙트X(DirectX)
어도비 에어(Aodbe Air)
닷넷 프레익워크(NET Framework)
입니다.

앵? 만약 어도비 에어를 이용하여 업데이터를 구성한 것이라면 제가 원하는 구성과 비슷한 구성이 가능합니다.
그래서 이리저리 자료를 찾아 보았습니다.

일단 어도비에어의 목적이 스케일폼(scaleform)이라면 다이랙트X와 함께 게임자체를 구성하는 요소로 쓰였을수 있다는 점입니다.
(윈도우에서 스케일폼을 사용할때 다이랙트X로 구성할수 있기때문.)

일단 런처에 프로세스정보에 보면 어도비시스템이라는 글이 있습니다.
이것이 업데이터 자체가 에어로 구성되어있다는 뜻인지 프로세스에 포함이 되어있다는 소리인지 모르겠습니다.
어도비 에어도 exe파일을 실행할수 없기 때문에 어도비 에어로만 구성이 되어있다면 닷넷프래임웍이 끼어들 장소가 없습니다.
(게임은 구성가능할것 같습니다. 어도비에어에서 하드웨어 가속이 가능한데 이때 다이랙트X나 오프쥐엘(OpenGL)을 사용할수 있습니다.)

반대로 업데이터와 로비가 닷넷으로 구성되있고 스케일폼을 게임구성에 사용하지 않는다면 어도비 에어를 넣을 필요가 없어집니다,
닷넷프래임웍을 설치했을 정도면 에어를 이용하는 것보다 그냥 WPF로 구성하는 것이 더 좋으니 말이죠.
(윈폼위에 어도비 에어를 올리는 것이 가능한지는 모르겠습니다. ㅡ.-;)

그렇다는 것은 업데이터와 로비는 닷넷 프레임웍으로 구성하고 게임은 어도비 에어를 이용한 스케일폼과 다이랙트X를 이용하여 만들었것이라는 추측이 가능합니다.
물론 이건 추측이고 제가 모르는 기술이나 기법을 사용하여 구성을 하였을수도 있지만 제가 아는 선에서는 이렇습니다.

만약 제추측이 맞다면 결국 스탭1이 빠진 모양세가 됩니다.
제가 원하는 구성이 되지 않는 거죠 ㅜㅡ

그러면서 여전이 이해가 되지 않는것은 어도비 에어의 정책은 잘 모르겠지만 OOB의 경우 로컬프로그램 취급을 하면서도 강력한 권한제한을 하고 있는 이유를 모르겠다는 것입니다-_-;
뭐...자동으로 실행파일이 실행되는 것은 막더라도 사용자가 선택적으로 실행할수는 있도록 해주는 것이 맞는게 아닌가라는 생각을 해봅니다.(에어는 가능한걸로 알고 있는데 말이죠 ㅡ.-;)

결론
리그오브 레전드는 런처,로비는 닷넷으로 게임은 다이랙트X와 어도비 에어로 구성되있을 확률이 크다.