現代自動車のカーナビで「DOOM」をプレイすることに成功、ハンドルを使って操作するムービーが公開中
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/00_m.jpg)
医療用超音波スキャナーやTwitter、FM TOWNS、メモ帳、トラクターの車載システムなどさまざまな端末に移植されてきたDOOMを、現代自動車の車両に搭載されている車載インフォテインメントシステムでプレイできるようにしてしまった猛者が登場しました。
How I Hacked my Car Part 6: Nothing to it but to Doom it. :: Programming With Style
https://programmingwithstyle.com/posts/myhackedcarisdoomed/
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/02.png)
Hyundai Is Doomed: Porting The 1993 Classic To A Hyundai Head Unit | Hackaday
https://hackaday.com/2023/06/11/hyundai-is-doomed-porting-the-1993-classic-to-a-hyundai-head-unit/
2021年式の現代自動車の「Ioniq SEL」には、フロントダッシュボードにAndroid Auto対応の車載インフォテインメントシステムが搭載されています。これはLinuxベースのシステムとなっているため、これまでさまざまなアプリを移植する試みが行われてきたそうです。これらにならい、車載インフォテインメントシステムでDOOMをプレイできないかと考えたのがgreenluigi1さん。
車載インフォテインメントシステムはLinuxベースではあるものの、システム環境が独自の仕様で構築されているため、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
![](https://img.youtube.com/vi/pyG4EX9zvRw/maxresdefault.jpg)
ゲームを起動すると、車載インフォテインメントシステムのディスプレイ上には「BUCKLE IN(シートベルトを締める)」と表示されます。
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/s01_m.jpg)
シートベルトを締めるとゲーム画面が表示され、DOOMがプレイ可能に。
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/s02_m.jpg)
ゲーム画面はこんな感じ。
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/s03_m.jpg)
ゲームの操作は車両のハンドルとヘッドユニットで行うようになっており、ハンドルを時計回りに回すとゲーム画面の視点が右方向に移動し、ハンドルを反時計回りに回すとゲーム画面の視点が左方向に移動します。
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/s04_m.jpg)
また、ハンドルの左側にある音量調節ボタンを上方向に倒すとキャラクターが前身し、下方向に倒すとキャラクターが後退します。
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/s05_m.jpg)
ミュートボタンを押すと武器を使用可能。
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/s06_m.jpg)
なお、greenluigi1さんは現代自動車の車載インフォテインメントシステムにDOOMを実装するプロジェクトを「DAudio2Doom」と名づけ、GitHub上で利用したソースコードなどをまとめて公開しています。
GitHub - greenluigi1/DAudio2Doom
https://github.com/greenluigi1/DAudio2Doom
![](https://i.gzn.jp/img/2023/06/12/hyundai-doom/01.png)
・関連記事
ついにDOOMの中でDOOMをプレイすることに成功 - GIGAZINE
テレビの文字放送を使ってDOOMをプレイすることに成功した猛者が登場 - GIGAZINE
医療用超音波スキャナーを修理してDOOMをプレイすることに成功 - GIGAZINE
移植されまくった名作FPS「DOOM」がついにTwitterでもプレイ可能に - GIGAZINE
名作FPS「DOOM」を1989年発売の富士通製PC「FM TOWNS」用に移植した猛者が現る - GIGAZINE
Windowsのメモ帳でDOOMをプレイすることに成功 - GIGAZINE
あの「DOOM」をトラクターの車載システムに移植して「修理する権利」を訴えるハッカーが登場 - GIGAZINE
・関連コンテンツ