Hatena::ブログ(Diary)

悟茶辞苑ッ このページをアンテナに追加 RSSフィード

2011-07-01 金曜日

「Hourglass」を利用したWindowsゲームのTAS製作

ニュースとしてはやや出遅れのトピックですが、先日、Windows向けゲームのTASを作成するための Hourglass というツールがリリースされました。ニコニコ動画には、早くも Hourglass を使って作られた、洞窟物語TASStickman TAS がアップされているようです。

そんなニュースを聞いて、Hourglass の詳細や使い方が気になった方も多いのではないでしょうか? この記事では、そんな Hourglass の基本的な実態を画像付きでざっと紹介したいと思います。

Hourglass はどんなツール?

Hourglass は指定されたゲームを独自に書き換えして起動することで、以下に挙げるような機能を利用可能にします。

  • ムービーの記録・再生(キー記録のみ、マウスなどは執筆時現在未対応)
  • セーブステートの読み込みと保存(どこでもセーブ機能)
  • スローモーション、フレームアドバンス(コマ送り)、早送りなどの実行速度制御
  • ゲーム画面・音声のAVIファイル記録(低速でもコマ落ちしないはず)

ユーザーは何も考えず Hourglass からゲームを起動するだけでよいです。

中には Hourglass で起動を行うと、まったく正常に起動しないゲームや、一部機能がうまく動作しないゲームがあります。まだリリースされて間もないツールですから、そのあたりは今後徐々に解消されると期待したいですね。

動作環境に関してですが、開発者からは「XP推奨、Vistaや7でもそれなりに動くけれど十分なサポートはされていません(特に64ビット版)」というふうに言われています。ちなみに筆者であるわたしの環境は Windows 7 (x64) です。

対応状況

現在、いくつかのゲームで安定して動作することが CompatibilityList で発表されています。使い勝手を学ぶ際には、この一覧にあるゲームを選んで動かすのが無難です。

ちなみに今回わたしは洞窟物語(Cave Story)というフリーゲームで動作確認を行いました。TASに関係なく遊んでみると楽しいゲームです。

Hourglass のインストール

Hourglass は下記の Google Code のページ上で開発・配布されています。

ページ右側に推奨バージョンのダウンロードリンクがありますので、クリックして圧縮ファイルをダウンロードします。

インストールは任意のディレクトリにファイルを展開するだけです。また、アンインストールは展開したファイルをフォルダごと削除するだけです。

f:id:GOCHA:20110628005659p:image:w500

まだ開発初期の段階なので、こまめにアップデートを確認するとよいでしょう。

ソースコードについて

開発者の方は Hourglass のソースコード(C++)を見てみたいと思うかもしれません。TortoiseSVN などのクライアントで、以下のSVNリポジトリをチェックアウトしましょう。

http://hourglass-win32.googlecode.com/svn/trunk/

使い方

多くの機能は操作感がエミュレータのそれとほぼ一致します。

f:id:GOCHA:20110628005657p:image

ムービーの記録と再生

「Game Executable」で起動したいゲームを選んで「Run and Record New Movie」を押せば、ゲームが起動して、動画の記録が始まります。「Stop Running」を押すとゲームが終了して、動画の記録が停止します(注*1)。

f:id:GOCHA:20110628005656p:image

ムービーの再生は、既存ムービーが選ばれた状態で「Run and Play Existing Movie」を押すだけです。

キー設定の変更

「Input」メニューからキー設定を変更することができます。

f:id:GOCHA:20110628005654p:image

「Configure Hotkeys」では、Hourglassの機能に割り当てるショートカットキーを編集することができます。デフォルトの設定を把握したいときも、この設定画面を見ればよいです。割り当てを変更したいときは、項目を選択して「Reassign」を押してください。

f:id:GOCHA:20110628005652p:image

「Configure Game Input」では、ゲームに送るキーの設定ができます。デフォルト設定から変更することで、カーソルキーの左右の認識を入れ替えたり、特定のキー以外は押してもゲーム側で認識されないように設定したりすることができます。Hourglassの機能キーとゲームの操作キーが重複するような場合、この設定で割り当てを調整するとよいでしょう。

f:id:GOCHA:20110628005844p:image

ステートの読み込みと保存

いわゆるどこでもセーブです。ステートの読み込みと保存はショートカットキーで行います(デフォルト設定では、F1〜F10でロード、Shift+F1〜F10でセーブ)。

一度作成したムービーの途中から記録を再開するには、以下の手順を行います(一般的なエミュレータでの操作と同じ)。

  1. ムービーの再生を開始する
  2. 記録を再開したい箇所でステートをセーブする
  3. Hourglass のウィンドウを見て Read+Write モードであることを確認し、先ほどのステートをロードする
  4. 動画を記録する状態になっているので、ここから記録を続ける
フレームアドバンス、速度変更

フレームアドバンスというのはコマ送り機能のことです。ショートカットキーで操作します(デフォルトでは \ キー、スペースキーに割り当て)。フレームアドバンスを行ったあとの停止状態から、通常の速度に戻すには Pause を解除します(デフォルトでは Esc キー、Delete キー、Pause キーに割り当て)。

フレームアドバンスがあれば必要ありませんが、ゲームを50%などの一定の速度でスロー動作させることもできます。

f:id:GOCHA:20110628005842p:image

また、Fast-Forward は極力ウェイト類を飛ばして高速に動作させようとします。作成したムービーの確認時などに便利です。

映像・音声のAVIファイル記録

「AVI」メニューで「Capture Video and Audio」を選ぶと、映像と音声がAVIファイルに記録されます。「AVI Capture Disabled」を選ぶと、記録は停止されます。

f:id:GOCHA:20110628005840p:image

メモリアドレスの検索と監視

エミュレータに搭載の RAM Watch と RAM Search がありますが未完成気味です。現在のところは、これらの代替として MHSを利用することを推奨します。

f:id:GOCHA:20110628005839p:image

あとがき

Hourglass 以前にも、元ゲームに手を加えてTAS記録を可能にした根気ある事例がありましたが、まさか汎用的にTAS関連機能を追加できるツールが颯爽と登場するとは思っていませんでした。

今後、おもしろい Windows ゲームの TAS がたくさん出てくることに期待です! (ノヮ<*)

関連記事

*1:私が動作を確認したところによると、ゲーム終了後もHourglassを閉じるまではプロセスが残り続けていました。Windows XP 32bitでは起きない問題なのかもしれませんが、多重起動防止ロジックがあるゲームがこれにより起動できなくなることがあるので注意が必要です。ゲームを終了後は一旦Hourglassを閉じるのが確実です。

ななしななし 2011/07/09 10:48 snes9x1.43+を最新版にしようと思ったものの色々あってどれを使ったら良いのか分かりません・・・
rr1.51でLuaが動くとか言う噂が聞こえたりもうわけがわからないよ

GOCHAGOCHA 2011/07/09 10:56 エミュレーションの精度的なことを言えば1.53が一番です。TASも一応は記録できるはずです。1.52以降は、Snes9xの根本的な問題(APUの非同期的動作問題)が一つ解消されているので、精度面では本当におすすめしたいところです。

TASの機能的な話になると、結局は1.43+が一番充実・安定です。1.51でLuaは動きますが、若干1.43と動作互換がありません。

結論は、一概に出せないです。
お好きなものをお選びください。

このあたりの状況には私自身とても不便を感じていますが、今のわたしには問題を解決していけるだけの気力がなく、厳しい状況です。
ただ、もし気力と時間があったなら、これ以上1.52以前は更新することなく、水面下にある1.53 rerecordingをメンテナンスしていきたいと思っています。

とりとめない返答ですが、参考になればうれしく思います。

ななしななし 2011/07/11 23:03 返答ありがとうございます、rr-1.52~3あたりを試してみようと思います
ただ単にプレイしてLuaを書きたかっただけなので助かりました

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/GOCHA/20110701/hourglass_tas