2 ポイント 投稿者 GN⁺ 2025-01-01 | 1件のコメント | WhatsAppで共有
  • dca3-game は The Gang が制作した Dreamcast 向け GTA III/VC ポートで、古いコンソールで Rockstar のオープンワールドゲームを動かすことを目指すプロジェクト
  • このポートは GTA III/VC の完全なリバースソースコードである re3 をベースとしており、Dreamcast の開発環境には KallistiOS を使用
  • CDI を作成するには Grand Theft Auto III または Grand Theft Auto: Vice City のインストール済みデータが必要で、動作確認済みのバージョンは Grand Theft Auto: The Trilogy
  • 推奨される作成方法は Google Notebook で、手動方式は DreamSDK r3 と git-scm を必要とするため、カジュアルユーザー向きではない
  • エミュレーターでは白いオーバーレイを避けるため trails オプションをオフにする必要があり、24 bpp と Anti Aliasing は実験的設定のまま

dca3-game の概要

  • dca3 は Dreamcast 向けの GTA III/VC ポート
  • The Gang が制作し、re3 をベースとしている
  • re3 は GTA III/VC の 完全なリバースソースコード
  • このプロジェクトは Stefanos Kornilios Mitsis Poiitidis が開始し、KallistiOS を使用している

CDI 作成: Google Notebook 推奨

CDI 作成: 手動方式

  • 手動方式は カジュアルユーザーには推奨されない
  • Grand Theft Auto III または Grand Theft Auto: Vice City のインストール済みデータが必要
  • 一部バージョンは動作しない可能性があり、d4_gta.mp3 が破損していた事例がある
  • 破損ファイルのない 正規コピー が必要で、そうでないと手順は動作しない
  • 必要なツール:
  • リポジトリは DreamSDK シェルで git clone --branch beta https://gitlab.com/skmp/dca3-game.git を実行してクローンする

GTA III ビルド: liberty

  • liberty フォルダを作成し、GTA III のファイルをコピーする
    • 2 CD-ROM 版を使う場合は、play disc の内容も同じフォルダにコピーする必要がある
  • beta リリース から liberty prebuilt elf をダウンロードし、dca-liberty.elfdreamcast フォルダに展開する
  • GD-EMU 向け CDI は make cdi-prebuilt で生成する
    • 所要時間はおよそ 5〜15 分
    • DreamSDK の問題で 1 回目の実行では完全に終わらないことがあり、同じコマンドを再実行する必要がある
    • 完了後は dca-liberty.cdi が生成され、サイズは約 900MB
  • CD-ROM 書き込み用 CDI は make FOR_DISC=1 cdi-prebuilt で生成する
    • 完了メッセージは *** CDI Baked Successfully***
    • 出力ファイルは約 700MB または 260MB のはず
    • サイズが合わない場合は rm -rf repack-data の後、その手順を最初からやり直す

GTA Vice City ビルド: miami

  • miami フォルダを作成し、GTA:VC のファイルをコピーする
  • beta リリース から miami prebuilt elf をダウンロードし、dca-miami.elfdreamcast フォルダに展開する
  • GD-EMU 向け CDI は FOR_DISC=2 make cdi-prebuilt で生成する
    • 所要時間はおよそ 5〜15 分
    • DreamSDK の問題で 1 回目の実行では完全に終わらないことがある
    • DreamShell ウィンドウを数回閉じて手順をやり直す必要があるかもしれない
    • 完了後は dca-miami.cdi が生成され、サイズは約 1.5GB
  • CD-ROM 書き込み用 CDI は make FOR_DISC=1 cdi-prebuilt で生成する
    • 完了メッセージは *** Repack Completed Successfully***
    • 出力ファイルは約 700MB または 550MB

実行とグラフィック設定

  • エミュレーターで実行する場合は、グラフィック設定の trails オプションをオフにする必要がある
    • trails が有効だと、3D レンダリングの上に白いオーバーレイが表示されることがある
  • グラフィック設定には 2 つの 実験的モード がある
    • 24 bpp: 640x480x24
    • Anti Aliasing
  • HDMI または VGA 出力では 24 bpp モードを有効にすることが推奨される
    • この場合でも trails 効果はオフにする必要がある
  • Anti Aliasing は trails の有無にかかわらず動作する
    • trails が有効な状態ではパフォーマンスへの影響がより大きい
  • 24 bpp または Anti Aliasing を有効にすると、重いシーンで一部のジオメトリが欠けることがある
    • AA モードのほうが起きやすい
    • 2 つのモードは同時に使用できる

Issue 報告とライセンス

  • Issue を報告する際は、TV/モニターと VMU の写真を撮り、新しい Issue を作成して問題を説明する
  • コードは 教育、文書化、Modding 目的 にのみ使用すべき
  • 海賊版の使用や商用利用は推奨されない
  • 派生作業はオープンソースのまま維持し、適切なクレジットを残す必要がある

1件のコメント

 
GN⁺ 2025-01-01
Hacker News のコメント
  • Rockstar の著作権担当に、以前の re3 のときのように削除される前に、ソースコードのコピーをどこかに必ず保管しておいたほうがよさそう
    https://news.ycombinator.com/item?id=28402640
    https://news.ycombinator.com/item?id=26199879

    • re3 は少なくとも何らかの形ではまたオンラインに上がっている
      https://github.com/halpz/re3/
    • re3 エンジンは実行するのにゲームのコピーが必要なのに、なぜわざわざそこまでして削除するのかよく分からない
    • RE3 はリバースエンジニアリングされた成果物なので、元のソースとロジックを基に ABI 互換の実装を導き出したもの
      この領域は常にグレーゾーンか、露骨に違法に近いもので、Compaq が 1982 年に BIOS をクリーンルーム方式で作ったと説明した理由もまさにこれ
      こういう不満を聞くたびにあきれてしまう。OpenRA のようにクリーンルーム実装をすれば法的にはかなり安全だが、他人の知的財産を使えば、十分に注目された瞬間に簡単にシャットダウンされるだけ
  • Dreamcast がもっと長く続いてほしかった。多くの人がこのコンソールがどれほど優れていたかを過小評価していた
    ただ、Sega がこのシステムをもっと強く推さなかったことが大きいと思う。同じ年に出た PS2 よりハードウェアはずっと優れていたと思うし、Sega は競合機と比べて Dreamcast がどれほど高価だったかも十分に考慮していなかったように見える
    もちろん XBOX が最終的に運命を決定づけた

    • PS2 は日本では 1 年以上遅れて発売され、北米では DC より数カ月後だったが年末商戦をまたいだので、実質的には翌年発売だった。それでも発表だけで DC のローンチは大きく弱められた
      Dreamcast は本当に好きで複数台持っているし、昔 KallistiOS でハックもした。個人的には PS2 よりずっと思い入れがあるが、ハードウェアが圧倒的に優れていたというのは事実ではない
      GPU には面白い機能があり、VRAM とハードウェアテクスチャ圧縮も良かったので画質は上だったが、ジオメトリ処理、ライティング、フィルレートのようなより重要な指標の大半では劣っていたし、当時はほとんどの人が VGA 出力も使っていなかった
      「Emotion Engine」は、SH-4 が PowerVR と AICA に単純につながった優雅な構造に比べれば確かに扱いにくいが、純粋な浮動小数点/SIMD ジオメトリ処理と DMA ではより多くの性能を引き出せた。構造の単純さは大多数のゲーマーにとって重要ではなかった
      初期タイトルの一部はハードウェア活用が難しくひどく見えたが、PS2 の寿命と後期のゲーム、特に Konami 作品を見ると DC の能力をかなり超えていた。DVD も GD-ROM より客観的に優れており、映画プレーヤーとしても良かった
      Xbox は Sega がすでに Dreamcast を畳んだ後に出たので、運命はその前にすでに決まっていた
      Sony は PS2 の性能を誇張していたものの DVD ドライブがあり、開発者が慣れてからはグラフィックも良くなり、強力なフランチャイズと AAA タイトルも多かった。Dreamcast はアーケード移植作の比重が大きすぎた
      当時の勝者総取り市場で Dreamcast はそのまま飲み込まれた形で、1998 年により大きなライブラリとともに出ていれば、持ちこたえるための滑走路があったかもしれない
    • PS2 にはDVD 再生、巨大な人気フランチャイズの支援、PS1 への非常に好意的な反応があった
      純粋な性能で Dreamcast とどう比べられるのかは分からないが、GameCube と Xbox に比べれば PS2 はその面では明らかに最下位だった。結局、ゲームと DVD 再生能力のおかげでその差は重要ではなくなった
    • Xbox は DC がすでに生産終了してからかなり後に発売された。しかも DC に関わっていた一部の人物が Xbox にも参加していた
      ある意味ではXbox が Dreamcast 2のようでもある
    • Dreamcast のハードウェアがどの面でそれほど圧倒的に優れていたと見ているのか気になる。記憶では CPU も遅く、GPU も遅く、メモリも少なかった
    • Dreamcast の 1999 年 9 月の発売価格は米国市場で199ドルだった
      PlayStation 2 の 2000 年 3 月の発売価格は米国市場で299ドルだった
      https://en.wikipedia.org/wiki/Dreamcast
      https://en.wikipedia.org/wiki/PlayStation_2
      だから Dreamcast は PlayStation 2 よりずっと安かった。高かったと言ったのではなく、安かったと言いたかったのか、それとも自分が見落としている細部があるのか分からない
  • 読み応えあり: GTA 3 部作と IV の開発話 [0]

    gta3 の最初のプロトタイプは Dreamcast で動いていた。私たちはみな Dreamcast を持っていて、Phantasy Star Online を遊んでいた。だが Dreamcast が Playstation 2 に押されて長続きせず、私たちは移行した。
    [0] https://web.archive.org/web/20231120194646/https://insideroc...

  • スクリーンショットはこちらにある
    https://dca3.net/screenshots/

    • その通り、まさに GTA3 のスクリーンショットに見える
  • それとは別に、Sega 32X 向けに見事な3D Sonic ゲームが出たばかり。Doom ベースの「Sonic Robo Blast 2」の移植版

    • 本当に久しぶりに聞く名前。たぶん 20 年くらい前のものだと思う
  • Modern Vintage Gamer がこのリリースについて素晴らしい動画を投稿し、事実上、自分が見た中で最も驚くべき移植だと呼んでいる
    https://www.youtube.com/watch?v=6MFN7QiF83M

  • レトロコンピューティングは本当に良い。「古いコンソール」という概念を完全に覆してくれる
    より良い選択肢があるから価値が下がるのではなく、開発者が対象にできる、永続的に変わらないコンピューターになるということ
    生産されたコンソールは今後もずっと長く持ちこたえるはず。自分の N64 もまだ元気に動いていて、Everdrive で新しい ROM ハックを実行している
    たとえすべてのハードウェアが壊れたとしても、エミュレーターがそのアーキテクチャを不変の状態で保存し続けるだろう
    以前は「なぜ古いコンソール向けに新しいソフトウェアを作るのか」と思っていたが、こう見直すと現代のハードウェア向けソフトウェアを使うのと同じくらい、あるいはそれ以上に面白く感じる

    • 完全に同意するし、もう少し踏み込むと、古いコンソールやコンピューターこそが長く生き残る唯一の仮想マシンだと思う
      500年後にも私たちが生き残っているなら、今日のブラウザー、.NET、JVM を対象にしたコードよりも、NES を対象にしたコードのほうが実行可能である確率は高いと信じている
      競合する仮想マシンは文書化はよくされているが極度に複雑で、その上のコードは現在の OS、ブラウザー、さらにはハードウェアの癖に依存しがちだ
      また、レトロハードウェアそのものが究極のドキュメントでもある。今では入手しやすい機材であらゆるチップを調べ、ソフトウェアや FPGA で完全な複製を作ることができる。一方で仮想マシンの文書には不正確さが入り込む可能性がある
      今日のSF的予測は、比較的単純なアーキテクチャを対象にしたソフトウェアだけが時の試練に耐える、というもの
    • ハードウェアは時間が経てば故障するし、漏れ出すコンデンサーのようなものが原因らしい
      愛好家や修理店が一部をしばらく延命できるし、PCBWay のようなところが代替部品を作ることもある
      それでもエミュレーターが重要だという点には大いに同意する。ハードウェアが実用的でなくなった後も、こうしたものを体験できるようにしてくれるからだ
      さらに、移動や配送なしに膨大な種類のゲームを試せる。特にステートセーブに対応できるなら、FPGA ソリューションも一度使ってみたい
    • Dreamcast は長く残るだろうが、ゲームを光ディスクからプレイする時代は長くは続かないだろう
      Dreamcast は Yellow Book 標準の2倍密度のフォーマットを使っていて、自分のドライブが故障したとき、代替ドライブを買うよりフラッシュベースの選択肢に替えるほうがずっと安かった
    • 限られた理解では、Dreamcast はその世代で最も単純なアーキテクチャのひとつだった。Sega が Saturn という怪物のような構造から学んだからで、ホームブリューの対象として良かったのだと思う
      GPU も初期の PowerVR 設計なので、GameCube や PS2 の独自アーキテクチャを対象にする代わりに、現代のモバイル GPU の知識を活用できる余地があるかもしれない
      もちろん初代 XBox は事実上 PC だったので、PC ゲームの移植はもっと単純だったはずで、そのためこの議論にはあまり当てはまらない
    • レトロ機をより「現代的な」形に改造する人たちは、ハードウェア面でもかなりすごい
      このとんでもない人が携帯型 PS4 を作った: https://youtu.be/bJSLscnFd_M
  • GTA III はもともと Dreamcast と互換性があるようにコーディングされていて、残った接続部分を整理すればよいだけなのか、それとも誰かがエンジンの大部分、場合によっては全部を書き直して Dreamcast 互換にしたのか気になる

    • 後者に近い。開発過程を追っていたが、使われたトリックのひとつは、モデルのジオメトリデータを三角形リストから PowerVR により適した三角形ストリップへ変換することだった
      そのおかげで三角形をより速くハードウェアへ送り込めるようになり、それに応じてフレームレートも上がった
      https://x.com/falco_girgis/status/1821266502412075174?lang=e...
      ちなみに Falco はかなり面白い。Dreamcast 関連の投稿を、その世代のコンソール戦争が今まさに起きている出来事であるかのようによく書いている
    • 逆コンパイルプロジェクト RE3 から出たエンジン移植だ。動くようにするには変更点が多かった
    • GTA III が有名なゲームエンジンであるRenderWareで作られていたことも助けになった
  • Dreamcast ハードウェア上で動作している動画
    https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP

  • 実機で撮ったゲームプレイキャプチャはある?