この頁では、私Rjがあのおそろしい3Dゲーム unreal をやってみて思ったことなどを書きます。決して中上級者向けの技術向上参考頁にはなり得ないので、御了承下さい。私はにぶいのです。。。さて今回の内容は、描画速度のことと、禁断の裏技(?)などです。自制心に自信が無く、且つ、独力でのクリヤを目指している方は、「3.禁断の裏技(?)」を決して見ないで下さい。既に公になっているいくつかの「手引き書に書いてないこと」を紹介してます。(1998.12.12)
唐突ですが、私の環境(7300/604e/180MHz (L2 cache 256KB) w/ATI XclaimVR (RAGE Pro/4MB), VM off)でのunrealの描画速度についてです。通常は、コマンド入力モードにして(ゲーム或いはデモ進行中にtabキーを押すと、画面下にコマンド入力行 - プロンプト - が出てきます)、
> STAT FPS [return]
とか何とか入力すると画面下部にその時のフレームレートなどが出てくるのですが、これは状況によっていろいろ変化するので、典型的な値を何となく見ることは出来ても正確な比較には使えません。うーむ、ま、いっか、と思っていたのですが、こないだAccelerate Your Mac!'s Unreal Page辺りをちろちろ眺めていて、Unreal FPS Toolkit v1.04なんてものを見つけたので落としてみました。
これはオープニングの城塞遊覧飛行デモのところでframe rateを計るやつです。平等な条件で比較出来るように、初期設定ファイル(MacOSのシステムフォルダのそれではなく、Unrealフォルダに入っている「Unreal.ini」相当のもの)も付いてきます。高品質(HQ:High Quality)のと、低品質(LQ:Low Quality)のがあって、それぞれ・・・ある一定の設定になってるんですね。これを試してみました。
使い方は簡単です。(事前にUnreal1.02b2アップデータを当てておいて下さい。)
個人的には、五周分くらいのデータを集め、最高値と最低値を除いた3つの平均で較べる、とかにした方がいい(三周目、というのを特別扱いする理由が分からない)と思うのですが、一応上記サイトでの比較には「三周目」の数値を使っているようです。結構ばらつきがある場合もあるので、二周目と四周目の結果がよくて三周目が悪いとちびっと損した気分になります。(特に損はしてないのですが。)因みに一周50秒強です。
付いてくるHQとLQそれぞれの設定の相違点と、そこで設定される・・・のやもしれぬ、と私が怪しげに憶測した内容を表にしてみました。こんな感じです。(私の都合により、ATI用のHQとLQだけしか取り上げてません。悪しからず。。。)
↓こうもく | HQ | LQ | Rjの憶測↓ |
---|---|---|---|
[MacDrv.MacClient] | |||
CurvedSurfaces | True | False | 滑らかな姿態? |
LowDetailTextures | False | True | 大雑把な壁紙 |
ScreenFlashes | True | False | 画面がちかちか? |
[Galaxy.GalaxyAudioSubsystem] | |||
UseStereo | True | False | 立体音声 |
UseDigitalMusic | True | False | 二進数的音楽 |
UseReverb | True | False | 反響音 |
LowSoundQuality | False | True | 音声16→8bit化 |
ReverseStereo | True | False | 逆位相立体音声? |
OutputRate | 44100Hz | 11025Hz | 標本周波数 |
EffectsChannels | 16 | 8 | 同時発音源数 |
[RaveDrv.RaveRenderDevice] | |||
VolumetricLighting | True | False | 容量解析照明 |
ShinySurfaces | True | False | 反射表面 |
Coronas | True | False | 光冠 |
HighDetailActors | True | False | 俳優詳細表現 |
TextureComposite | True | False | 壁紙合成 |
VertexLighting | True | False | 天頂照明(点光源?) |
んでその7300/180+RAGE Proでの結果です。毎秒当たりに表示されるフレーム数です。参考までに、Doubled(ホントの解像度は半分)のデータも載せます。
resolution | 640x480 | 640x480dbl | 800x600 | 800x600dbl |
---|---|---|---|---|
HQ | 8.5 | 14 | 4.8 | 12 |
LQ | 10.6 | 16 | 8.2 | 14 |
(註:何故かHQで描画が錯乱するので、HQの方はNoLighting=Trueでやりました。 [RaveDrv.RaveRenderDevice]のドレかと相性が悪い感じですが、詳細未確認。 ということはつまり、実際にはもっとfpsの値は下がるはずです。HQでは。) |
この数字が10fpsを切ると、ちと辛いものありそうです。。。からい、ではありません。恐らく、「肝心な場面」で描画状況がぱらぱらマンガ未満になってしまうでしょう。ということで、私のハードウェアでは640x480なんていう美しい解像度で満足に遊ぶことは難しいのでした。。。(美術的表現をガマンし、ぎこちなさにも目を瞑れば何とか行けるやもしれませんが・・・ちとさみしいです。)私の場合は音声がステレオでないとやなので、LQを基本にして効果音数を16、サンプリング周波数を22050Hzにして、832x624dbl(13fpsくらい)か、512x384(12fpsくらい)がせいぜい、といったところです。(派手な場面ではコマ送りになります。。。)
ぁ-...やっぱり400MHzくらいのG3/G4カード・・・
因みに、1670万色にしても32000色でも大差ないです。VRAMを8MBにするとだいぶいいぞ、というデータがあるようです。あと、ちとまぬけな話ですが、最初無茶苦茶のろかったので「あれま。おかしいな。LQで5fpsぽっち?それはひどいぞぅ・・・」と、一瞬泣きそうになりました(←またかよ)。しばらく悩んでやっと気付きました。AppleTalkがonになったままでした。その一点が随分効いてしまったのは私んとこの環境のせいかもしれませんが。。。(実は上のテストは、普段使ってる環境そのまんま(AppleTalkのon/off以外)の混濁状態でやってます。機能拡張やらコンパネやら有象無象お嬢小僧その他もろもろの入ったままの、MacOS8.1Jです。)
(↑なんでわざわざ混濁環境のままやってるんだろ・・・)
というわけで、上のテストをやってみる際に「Unreal.ini」をいろいろいぢくり倒してみたのですが、Macintosh内部で3Dの描画処理を誰がどのような方法で行っているのか全然知らんちんな私には、謎が深まっただけでした。以前から、どっか設定を変えるとunreal世界の描写のされ方が劇的に変わってしまったりしていたので謎に思っていたのですが、今回いろいろ設定をいぢくってみれば大体分かるだろうという甘い期待は、ここでもやはり見事に打ち砕かれてしまったようです。
この「*.ini」ってどす式でせうか。ある意味でそれは分かりやすい形式(に見えるよう)なので、実際にあちこちいぢくるまでは高を括っていました。ゆだんたいてきとはこのことです。どすマシンを手足の如く操る為には、深遠で膨大で繊細な知識と、豊富で多様で広範な経験が無いといけないそうですが、この「Unreal.ini」を手懐ける(傅かせる、跪かせる、でもよいです。)ためにもやっぱりそういう種類の知識や経験がひつようなのかも、と、打ちのめされてしまいました。
具体的には、設定すべき箇所は限られまくっているのにそれらをどう設定したらよいのかの答は試行錯誤の延長線上には見えなかった、ということです。全然具体的ぢゃないですね。。。えーと、私のマシンはPCIビデオカード上にATIの描画ちっぷを積んでるので、「それを支配してそうな」設定項目だけ好きにいぢればいいのかな、と思ったのですが、どうもそうぢゃないようです。そもそも描画のどの部分をメインプロセッサユニットが担当していて云々かんぬんだってのを雑誌の解説記事で理屈を読んで分かったような気にさせられているだけのド素人の私にはホントはちっっっとも分かってないんだ、ということだけがはっきりと分かりました。
取り敢えず、β版でしかないアップデータを当てた1.02b2というアプリ自体おそらく完璧ではないでしょうし、それをまた訳ワカメなお嬢小僧がうぢゃうぢゃ棲んでいる混濁環境しかもOS「J」上で使ってるんですから、「あ、堕ちた。。。」という時の原因さえ不明なことが多いのです。その上謎のような謎かけファイル(Unreal.iniのこと)の中にある謎の設定項目を好き勝手にいろいろいぢくってるわけですから、わからんちんなのも至極道理に適っていると言えましょう。ははは。私としては、ある特定の項目を変更した際にその影響でfpsがどれくらい変化するものなのかを把握したかっただけなのですが、これまた詮無き夢に終わりつつあります。TimeDemoに付いてきたテスト用iniファイルを地味に変更して使うのが一番マシらしい、と気付くまでに半年以上を費やしてしまった気分です(ホントは半日ちょっと)。
(↑単に混濁環境のままやるのをやめればいいんぢゃないかや・・・)
さて、上のテストに関連していくつか。
Unrealでは、ある面から次の面へ移行する際に一度に二つの面をメモリに読み込む必要があります。長いことプレイしていると(1セッションでマップのロードを何度も繰り返すと)、メモリの断片化が起こり、やがてはメモリが足りなくなってアプリが終了してしまうことが有り得るそうです。これを避けるには、
というやや手間の掛かる方法があるようです。いずれにせよ、こまめな保存をするといいと思います。
オープニングデモの飛行中に、コマンド行で
> ahoy [return]
と打ち込むと、何か出ます。(他に、walkとかflyとかghostとかも使えます。)
「Unreal.ini」には保存された書類の名前も(内部に)記されていますので、TimeDemoのテスト用に入れたそれそのままでは「こないだの続き」は出来ません。元の「Unreal.ini」に戻すか、保存した書類を直接Unrealのアプリ本体にDrag&Dropして、新しい「Unreal.ini」に認識させるとOKです。後者の方法は、保存した書類をそれとして正しく認識させ、ちゃんと前回の続きから遊べるだけでなく、オープニングをすっ飛ばしていきなりゲームに入れます。心配な人は、保存した書類をD&Dで開いたらすぐまた新たな書類として保存しなおすといいかもしれません。
さてここから下には一部危険な(ネタばらしまくりの)情報が含まれます。読みたくない人は「4.現状・・・」まで飛行して下さい。
・
・
・
・
・
・
・
・
・
ええと、のろいのをはやいので追いかける、ということで。。。攻撃に幅が出ます。但し、私はあんましうまく使えてません。(私の場合、問題とすべきは、高等技術を使いこなせるかどうか以前の部分ですので。。。)
欲しいものは何でも手に入ると思った。出来ないことなんて何一つ無いと思っていた。・・・Titanさん20人くらいに囲まれて「やーい♪」とか喜んでる私が真っ当だとは決して言えないのですが、まあそれなりにいろいろ楽しみはあるようです。でも、初めての出会いのインパクトは物語の中で得る方がいいです、私は。。。
(だから唄ってどうする。)最初にBruteさんが出てくる前の、谷底を見下ろせるとこありますよね。着地するとクレーターが出来ますが、着水するとクレーターは出来ません。
ひとそれぞれです。Bruteさんは、へたっぴです。ぶら下がり甲殻魔人一号は、ああ見えてなかなかやり手です。Skaarjさんの攻撃は遠い間合いでは大したことありません。Krallさんもまあ恐るるに足らず、です。厄介なのは、「クッションボール」が恐い、かつ、やたら速球派のTitanさんと、職業的頑迷さすら感じさせるMercenaryさんです。先週、やけに「哀」を強調してしまいましたが、仕事に徹した彼らの行いは敵ながらあっぱれ、と言うべきでしょう。しかも、彼は・・・ということもあって、ある意味でTitanさんよりも手がかかるかも。。。
まらてょんでは、一部の血の気の多いひとたちはあるポイントを超えると誰彼構わず見境なく八つ当たりと思える程に攻撃を始めます。彼らはberserkerと呼ばれていて、大量の敵のひとを相手に回したシーンではこちらの戦力として活用させて頂いていました。さて私が知りたかったのは、unreal世界でのその辺の事情です。どうなんでしょう。そもそも「観光客」レベルで遊んでいるため、敵のひとが彼らの味方の流れ弾に当たったりしてるとこをあまり目にしませんでした。が、やっとそういうシーンに出くわしまして、おお、どこの世界も一緒ぢゃのぅ、と妙に納得・・・しかしまらてょんのひとたちよりも執念深いかも・・・「無闇に暴れる」のではなく、「恨みを晴らす」べく相手をきっちり定めて執拗に攻撃し続けるひともゐました。まらてょんのひとたちも、ある程度は相手を見て攻撃を続けますが、playerがそのひとにちょっかいを出したらすぐplayerの方を振り向いてくれます。堕としやすいのです(←ああまたお下劣)。が、unrealで私が目にしたひとは、色気のある(但し顔がちっとコワいかも)おんなの人になりきってるplayerがちょっかい出してもシカトこいてくれます。まだ全員について調べたわけではありませんが。。。
これは危険なネタとは言いにくいですが・・・ようやく最近「彼ら」の人柄がナマのものとして感じられるようになってきました。いやぁ、いいですねぇ。やっぱり個性は大事です。見習わねば。。。しかし、この楽しみと引き換えに、私は「こわいよぅ」を失いつつあるのかもしれません。世の中、甘くないです。いや、私の願望が無茶なだけですか。。。
・
・
・
・
・
・
・
・
・
先週はちと無理矢理書きすぎた気がしています。だいたい、Slithさんのことを「彼」と書いてしまったのですが、「彼女」かもしれないですよね。声が妙に高いあたり、「せいれん/まあめいど/じゅごん/まなてい・・・(以下略)」の類を素直に連想していればよかったのかもしれないです。(でも実際どうなんだかは未確認です。)(どうやって確認するんだろう・・・)
第一印象のあまりよくなかったMercenaryさんですが、一気に見方が変わりました。私の「ひとを見る目」なんて所詮そんなもん、です。。。更に先週無害らしいと書いたあの緑の液体、やっぱりホントは毒なんだったらどうしよう・・・私の環境でゲームがちゃんと動いてないだけなのかも・・・ひとまず、それっぽい防護服を取る前に堕ちたけど平気だったので、タダの色付き液体なだけかと思ったんですけどね。。。
そうそう、一発でTitanさんを倒してしまうという方法も分かりました。でも、やりません。それは、JuggernautにFusion Pistolを向ける以上に酷な行為だと思うからです。別にそれを行う人を責めるんぢゃないです。ただ私の嗜好として、そういうのはいいや、と思うだけです。もしも早急に最後まで辿り着くのが目的なんだったらそれは非常に有用な情報たりうるでせうけど、私は・・・一歩一歩進んでいくよていです。♪ざっつらぁぃふ・・・(だからまた唄ってどうする。しかも能天気大魔王金剛石デイヴの唄なんか・・・)
ちょっと設定をいぢって遊んでみて思ったことですが・・・速度と引き換えに彼らがのっぺらぼうみたいになっちゃうのはやはりちと哀しいっす。。。うーん、どうしよう・・・これはきっと「俳優詳細表現」で設定するものですよね。。。
といった感じで、まだまだ手探り、つまり発見が多くて楽しい毎日・・・いや、毎回、です。みなさん、如何ですか?
(以上1998.12.12)