2011年3月6日日曜日

INSURGENCY DirextXのレベルを下げる



INSURGENCYで使われているSourceエンジンでは、DirextXのバージョンを指定して動作させることができるようです。
私が使っているPCでは若干動作が重かったのでこれはありがたいです。
早速やってみました。

上の動画はDirextX 8.0を指定して、今まで重くてやる気にならなかったマップを歩き回っているところです。

SourceエンジンでDirextXのバージョンを指定して動作させるには、ゲームの起動設定から
-dxlevel 70
-dxlevel 80
-dxlevel 81
-dxlevel 90
上のいづれかのコマンドを指定する方法や、autoexec.cfgなどに書き込む方法(書式が少し変わるようです)があるようです。

私は起動設定に書き込む方法で試してみました。
いじった場所は、steamのINSURGENCY→プロパティ→起動設定です。

まずは、-dxlevel 70 から試す。
「そのバージョンでは動かない、8.0からだ!」みたいなエラーが出てあえなく失敗。

次に-dxlevel 80 を試す。
ゲームは起動するし遊ぶ事も出来るが、自分の好みで800×600に設定してあった解像度がなぜか1024×768のデフォルトの状態に戻る。他の様々な設定もなぜかデフォルトに戻った。

この状態のまま、解像度を好みの800×600に指定し直してみたが、今度はランタイムエラーやらよくわからないエラーが起きてゲームが開始できなくなった(これは私の環境がおかしい可能性も)
-dxlevel 81も試してみたが、まったく同じ現象。

-dxlevelを起動設定に入力すると解像度や設定が変わるのは変だし、変わってしまった設定を元に戻すといつもエラーが起きるという困った状況になった。
何かがおかしい模様。

何かがおかしいので、起動設定に書き込んでいた-dxlevel 80を削除して空欄にして起動してみた。

デフォルトのdirectX9.0+の状態で起動するかと思ったが、なぜか解像度800×600、他のオプションも自分の設定のままで-dxlevel 80の状態での起動に成功した。
エラーも特に出なくなり、ゲームもdirectX8.0レベルで普通にプレイ可能になった模様。

下のスクリーンショットのハードウェアdirectXレベルという所が8.0になっているし、デフォルト(ハードウェアdirectX9.0+)の時に選べていた色調整の項目もグレーアウトして選べなくなっていたり、ゲームのプレイ感覚も相当軽くなっているのでおそらくdirectXレベル8.0でちゃんと動いているのではないだろうか?と思います。


今回やった事のまとめ
steamのINSURGENCY→プロパティ→起動設定に-dxlevel 80を書いて、ゲームを起動してすぐ終了。そして起動設定に書いた-dxlevel 80を消す。

一応これでうまく動いているのだけど、どうもすっきりしないのでautoexec.cfgなどに書き込む方法も今度試す予定

2011/03/07追記
試しました。こちらです

INSURGENCY: Modern Infantry Combat の軽量化