Directorで作ったミニゲームをGodotで再構築する(その1-1)
1990年代後半から2015年くらいまで?Directorで様々なミニゲームを作った。仕事でも作ったけど、最初は遊びで作っていた。その頃のデータはまだCD-Rの中やHDDの中に残っている。
自分が使い始めた頃は既にMacromedia Directorだったと思ってたけど、最初はMacroMind DirectorだったことをDirectorの本を書いたすごい人廣 鉄夫さんの記事を読んで思い出した。
今回はその過去の遺物を何とかして現代に蘇らせたいと思い頑張った記録だ。こんな記事面白がって読む人は皆無だと思うけど、自分用のメモなので良いのだ。
データの中身が見られない
今手元にはDirectorが動くマシンがほぼないので、開いて直接編集することが事実上不可能だ。先日Windows版Adobe Director 12の体験版を入手したのでインストールしたが、使用期限が30日くらいでもう使えない。

そこで、Geminiにいろいろと訊いたりしていくつかの方法があることが分かった。
・projectorraysというツールを使う
・Director Cast Ripperというツールを使う
両方ともGitHubにアップされているので誰でも使える。ただ、GitHubは使ったことがないので何をするにもGeminiに訊いて、これまた普段全然使ったことがないPowerShell使ってコマンド叩いたりしながらかなり苦労して中身を取り出せた。
※詳細は割愛しますが、GeminiやClaudeに訊けばすごく丁寧に教えてくれるよ
Director Cast Ripperを使う
今回はプロジェクタやdxrではなくdirのソースが大量にあったのでDirector Cast Ripperでなんとかなった。

このexeにdirをドラッグアンドドロップするとウィンドウが開く。

Nextクリックでこうなる。いろんなパーツが書き出せる、もちろんLingoも。最初はExport Formatに全部チェック入れて書き出してしまった。BMPは今の時代不要だ。

で、書き出された.lsって拡張子のファイルを一つVS Codeで開いてみたらすさまじく懐かしいコードが現れた!
※2026.5.30訂正
このツールではLingoファイルは書き出されないです。最初の方に書いたprojectorraysじゃないとダメでした。使い方はAIに訊くと分かりやすく説明してくれます。ここで書いてる.lsってファイルはDirector Cast Ripperでは書き出されません。Lingoとビットマップや音を両方書き出したい場合は両方使う必要があります。

動きを目コピして作っていく
dirを開けないのでソースのFPSが分からない。当時は20FPSとかにしてたような記憶がおぼろげにあるが、定かではない。Lingoで設定してあればコードから分かるんだけど、そんなことしてないのだってたくさんある。なのでプロジェクタ(Windowsのexe)にしてあるものはそれを起動して目で速さを確認する。

Godotで再構築
今回は自分用のメモにしようとは思っていなかったのでスクショも取っていないしどういった手順で進めたかも覚えていないけどGW中に少しずついじって、5/6くらいにようやく完成した。
今回から相棒をClaudeに変更。Godotのことが全然分かっていなかったが、Claudeに質問しまくって頑張ったおかげで、Godotのことが少し分かった気がする。
バージョン管理のために今まで使ったことのなかったGitHubも活用した。AIのない時代だったら絶対に使ってみようと思っていなかった。分からないことは何でもAI訊けば親切に教えてくれる。すべての情報を鵜呑みにするのは危険だと思うけど、その道のエキスパートっぽい人に質問しまくれるのは非常に助かる。

オリジナルはすさまじく昔のものなので画面サイズが320×288ピクセルであまりにも小さかったので、640×640にすることにした。
書き出されたPNGは全部透過部分が白で塗りつぶされていたのでPhotoshopで余計な部分を削除してニアレストネイバーで2倍に拡大して別名で保存し直す。1個1個手作業って非常にかったるいが、Godot内にちょっとずつ読み込んでコードを追加していったのでさほど気にならなかった。
しかし完成後に「今後も似たようなことするかも」と思い、VS Code上でClaude CodeにWindows用のアプリを作ってもらった。10分以内で完成したはず。機能は以下。
・パーツの入ったフォルダをEXEにドラッグアンドドロップ
・削除する色を指定(右の矩形内にその色を表示)
・拡大する倍率を数値で指定(数字の横に-+ボタンでも変更可能)
・ボタンクリックで新しいフォルダを作ってPNGだけ同じ名前で保存し直す
・対応数、壊れたファイルとPNG以外にどんなファイルがあったかを表示
・上記ログをTXTで新しいフォルダ内に保存

3種類でエクスポート
完成したプロジェクトを以下の3種類でエクスポートしてみた。
・WindowsのEXE
・Macのapp
・HTML5
Windows版は自分が使ってるPCですぐに確認できた。バッチリ動いた。仕様的にはあまりに昔のミニゲームなのですごくショボい。

Mac版はあとでカミさんのMacBook Airで確認しようと思ってまだ確認してないんだけど、少しハマったのがHTML5版。
HTML5版は基本的にサーバにアップしないとダメみたいで簡単にローカルでは確認できないみたいだった。しかしClaudeに試してみろと言われてWindows PowerShellでコマンド叩いていろいろ試したけど結局だめ。
何を試したか正確に覚えていなかったのでClaudeにまとめさせたらこんなだった。
試した方法をまとめると:
1. HTMLファイルを直接ダブルクリック → Failed to fetch エラー
2. python -m http.server 8000 → プログレスバーが止まる
3. python -m http.server 8000 --bind 127.0.0.1 → 同じく止まる
4. Godot公式のserve.py → 正常に起動せず終了
5. npx serve --cors -p 8000 → プログレスバーが止まる
6. serve.jsonでCross-Origin Isolationヘッダーを追加 → 改善せず
結局ローカルでは動かせず、itch.ioにアップロードすることで解決しました!
エンジニアの人が見たら何アホなことやってるの?って思うかもしれないけど、全然知識がないのでこんなものなのです。
itch.ioのアカウントを作って動作確認する
趣味の範囲なのでレンタルサーバーを借りるのはNG。そこでClaudeが
itch.ioに無料アカウントを作ってWeb版をアップロードする方が一番手軽です。itch.ioはGodotのWeb版に対応していて、そのまま動きます。
試してみますか?
って提案してきた。itch.ioって知ってはいたけどそこにあるゲームを遊んだこともないしどんなものかは正直分かっていなかった。だが、無料で使えるし「itch.ioはGodotのWeb版に対応していて、そのまま動きます。」て言われたしね。
アカウントを作ってHTML5版をアップしようとしてちょっとだけ躓いた。GodotでHTML5書き出すファイル名を以下のようにしたらアップしても動かない。なんかエラーが出てた。
application/たこ焼き名人オリジナルWeb/takoyaki.html書き出すファイル名はindex.htmlじゃないとダメということが分かった。
application/たこ焼き名人オリジナルWeb/index.htmlこれでitch.ioで動くようにできた!

正直あんまり面白いゲームではないので現在非公開。これにもう少し改良を加えて公開版にしようと思う。
つづく
