• 프로그래머가 궤도상의 유럽우주국 위성에서 둠(Doom)을 설치하고 실행했다

    화성의 종말.

    article image

    최근 우분투 서밋에서 많은 흥미로운 주제들이 논의되었으나, 특히 30대 이상의 기술 전문가들에게 흥미로울 만한 주제가 단연 돋보였습니다. 바로 게임 ‘둠(Doom)’을 실제로 우주에서 구동했다는 이야기입니다. 프로그래머 Ólafur Waage는 자신의 팀이 유럽우주국(ESA)이 주최한 해킹 챌린지에 참여하여 위성에서 이 기념비적인 게임을 구동하게 된 일화를 전했습니다.

    문제의 위성은 현재는 임무가 종료된 OPS-SAT '비행 실험실'이었으며, 그 존재 목적 자체가 "미션 제어 및 온보드 위성 시스템" 개선을 위한 일종의 놀이터였습니다. 이 위성은 크기가 10 x 10 x 30 cm (3.94" x 3.94" x 11.81")에 불과했으나, ESA에 따르면 당시 어떤 [ESA 우주선]보다 "10배 더 강력한" 온보드 컴퓨터를 탑재하고 있었습니다.

    연구진들은 해커들이 원하는 대로 자유롭게 작업할 수 있는 환경이 주어졌고, 그 목적은 개선된 온보드 컴퓨터와 관련 장비의 역량을 집단적으로 테스트하고 그 한계점을 찾아내거나 돌파하는 것이었습니다. 이 프로젝트는 여러 '최초' 기록을 달성했습니다. 모델의 온보드 기계 학습 훈련 최초, 궤도 상 체스 게임 최초, 우주에서 주식 거래를 실행한 최초, 그리고 명확하게는 궤도 상에서 ‘둠’을 구동한 최초의 기록입니다.

    기술 애호가가 40년 된 프린터 컨트롤러로 ‘둠’ 구동에 성공하다.
    ‘마이크로칩 위의 20만 개 살아있는 인간 신경 세포’가 ‘둠’ 플레이 입증.

    비록 ‘둠’을 원래 구동했던 1992년경 인텔 486 기계에 비해서는 상대적으로 강력한 컴퓨터였지만, 소프트웨어 환경은 여전히 제한적이었습니다. 팀은 게임 구동에 필요한 모든 소프트웨어 종속성(dependency)을 업로드할 수 없었습니다. 게다가, 각 해킹 팀에게는 위성에서 코드를 올리고 실행할 수 있는 시간이 한정되어 있었기 때문에, 모든 시도는 극히 귀중했으며 실시간 상호작용을 불가능하게 했습니다. 이로 인해 팀은 첫 번째 레벨의 '둠' 시간 데모를 이용할 수밖에 없었습니다.

    article image

    ‘둠’을 실행하는 데는 두 번의 시도가 필요했습니다. 첫 번째는 SDL을 그래픽 및 사운드 백엔드로 사용하는 소스 충실도 포트(source-faithful port)인 ‘Chocolate Doom’을 활용한 것이었습니다. SDL은 종속성이 매우 적은 OS 비의존적 라이브러리입니다. 이 방식은 충분히 작동했지만, 위성에 스크린이 없었기 때문에 그래픽 출력이 나올 수 없었습니다. Waage가 언급했듯이, 설령 출력이 되더라도 정말 좋은 망원경이 필요했을 것입니다. 이 시점에서 팀이 얻을 수 있는 것은 완료율과 적 사살 수치가 표시된 최종 레벨의 텍스트 출력뿐이었습니다. 그럼에도 불구하고 이 결과는 코드가 원활하게 작동하며 우주 방사선의 영향도 받지 않았음을 입증하는 좋은 증거였습니다.

    Waage와 그의 동료들이 그래픽 출력을 원하자, 그들은 다른 시스템으로 포팅(porting)하기 쉽게 설계된 ‘doomgeneric’으로 방향을 틀었습니다. 이후 가상 비디오 카드를 그래픽 출력에 할당하여 게임의 스크린샷을 촬영했습니다. 하지만 이런 특별한 '둠'이 우주에 있었다는 사실을 자랑스럽게 세상에 보여주려면 어떻게 해야 할까요? 물론 위성이 촬영한 지구 이미지를 게임의 외부 배경으로 사용함으로써 가능했습니다.

    이 독창적인 아이디어는 자체적인 몇 가지 문제를 동반했습니다. 위성에 탑재된 고성능 카메라는 게임 엔진이 처리할 수 있는 것보다 훨씬 높은 해상도와 비트 심도를 가진 이미지를 생산했기 때문입니다. 이에 팀은 다른 팀이 개발한 온보드 AI 모델에 의존하여, 이 모델이 사진들을 색 손실을 최소화하며 8비트 파일로 크기 조정 및 색상 축소시키는 역할을 수행하게 했습니다.

    그럼에도 불구하고 이것만으로는 충분하지 않았습니다. 왜냐하면 Doom의 256색 팔레트는 고정되어 있어 주로 파란색, 갈색, 녹색이 주를 이루는 배경 이미지에 필요한 수많은 색조가 부족했기 때문입니다. 하지만 복잡한 문제는 복잡한 해결책을 낳기 마련입니다. 결국, 궁극적인 '변용'이 이루어졌는데, 바로 게임의 색상 팔레트를 배경의 멋진 이미지에 맞게 미세하게 조정하는 것이었습니다. 마치 수많은 지식인들이 경악하며 비명을 지르는 듯한 순간이었습니다. 우리는 그저 게임이 배경으로 설정된 화성에서 실제로 구동되는 날만을 손꼽아 기다릴 수밖에 없습니다.

    최신 뉴스, 분석을 놓치지 않도록 지속적으로 업데이트됩니다.

    [출처:] https://www.tomshardware.com/video-games/doom-can-run-just-about-anywhere-including-space-hacker-recounts-tale-of-running-the-game-on-an-orbiting-satellite