본문 바로가기
트렌드 이슈 · 토픽

현대자동차의 내비로 'DOOM'을 플레이, 핸들을 사용해 조작하는 영상이 공개 중

by 두우우부 2023. 6. 13.
반응형

 

DOOM을, 현대자동차에 탑재된 차량 인포테인먼트 시스템으로 플레이 가능하도록 만들어 버린 용자가 등장했습니다.


How I Hacked my Car Part 6: Nothing to it but to Doom it. :: Programming With Style

How I Hacked my Car Part 6: Nothing to it but to Doom it.

If you haven’t read the earlier parts, please do so. The background There is a long standing tradition among hardware hackers and tinkerers. Once a platform is hacked, once a gadget is tinkered with, once a device is understood there will always be someo

programmingwithstyle.com


Hyundai Is Doomed: Porting The 1993 Classic To A Hyundai Head Unit

Hyundai Is Doomed: Porting The 1993 Classic To A Hyundai Head Unit

In the natural order of the world, porting DOOM to any newly unlocked computing system is an absolute given. This a rule which [greenluigi1] understands all too well, leading to presumably the firs…

hackaday.com



2021년식 현대자동차인 Ioniq SEL은 전면 대시보드에 안드로이드 오토를 지원하는 자동차 인포테인먼트 시스템을 탑재하고 있습니다. 이것은 리눅스 기반 시스템이기 때문에 지금까지 다양한 앱을 이식하려는 시도가 이루어져 왔다고 합니다. 이것이라면, 차량 인포테인먼트 시스템으로 DOOM을 플레이할 수 있을 것이라 생각한 greenluigi1씨.

자동차 인포테인먼트 시스템은 리눅스 기반이지만, 시스템 환경이 독자적인 사양으로 구축되어 있기 때문에, DOOM을 리컴파일할 수 있는 것은 아니었다고 합니다. 따라서 greenluigi1은 DOOM 이식을 용이하게 하기 위해 만들어진 doomgeneric을 자동차 인포테인먼트 시스템에 이식하기로 합니다. 덧붙여, doomgeneric을 이용한 이유는, 「5개의 함수만 구현하면 끝나기 때문」이라고...

5개의 함수 중 2개는 X11/xlib 포트로부터 그대로 카피하는 것이 가능했습니다만, 나머지 3개를 구현하는 데는 문제가 있었던 모양. 특히, 차량 탑재 인포테인먼트 시스템의 일부인 헤드 유닛의 「Helix」라고 불리는 윈도 매니저의 처리나, GUI 애플리케이션의 기동 방법을 제한하는 것에 집착하는 것 만으로는 「잘 되지 않았다」라고 greenluigi1 씨.

개념 실증 시에는 복수의 파라미터를 하드 코딩해, 「.appconf」설정 파일을 사용해 Helix에 게임을 등록하는 것 만으로 OK였다고 합니다. 화면에 깨끗한 그래픽을 그리려면 Qt5 를 사용하여 QPixmap에 그리는 방법을 채용했습니다. 그러나, 최초의 구현시에는 차량 인포테인먼트 시스템의 디스플레이에 새하얀 화면이 그려질 뿐이었던 모양. 덧붙여 이것은 디폴트로 설정되어 있는 알파 채널의 값이 「0」인 것과 QPixmap를 명시적으로 경신할 필요가 있었다는 것.

아래는 실제로 현대자동차의 차량 인포테인먼트 시스템으로 DOOM을 플레이하고 있는 모습을 촬영한 영상입니다.

DAudio2Doom Gameplay - YouTube



게임을 시작 하면, 차량 인포테인먼트 시스템의 디스플레이상에는 「BUCKLE IN(시트 벨트를 껴라)」라고 표시됩니다.



안전벨트를 조이면 게임 화면이 표시되어 DOOM이 플레이 가능하게 됩니다.



게임 화면은 이런 느낌.



게임의 조작은 차량의 핸들과 헤드 유닛으로 실시하게 되어 있어, 핸들을 시계 방향으로 돌리면 오른쪽으로 이동하고, 핸들을 반시계 방향으로 돌리면 왼쪽 방향으로 이동합니다.



또, 핸들 좌측에 있는 음량 조절 버튼을 위로 올리면 캐릭터가 전진하고, 아래쪽으로 내리면 후진합니다.



음소거 버튼을 누르면 무기를 사용합니다.



덧붙여, greenluigi1 씨는 현대 자동차의 차량 인포테인먼트 시스템에 DOOM을 구현하는 프로젝트를 「DAudio2Doom」라고 명명해, GitHub상에서 이용한 소스 코드 등을 정리해서 공개하고 있습니다.

GitHub - greenluigi1/DAudio2Doom
https://github.com/greenluigi1/DAudio2Doom

GitHub - greenluigi1/DAudio2Doom

Contribute to greenluigi1/DAudio2Doom development by creating an account on GitHub.

github.com

 

반응형