エムゲーム・ジャパン ゲーム ミィア ブログ サークル マイエム Login

兵どもの夢の跡

ブログチャンネル
yuki002さん
 
 ブログトップ   マイブログ   ランダムブログ    
ブログ型ブログ型タイトル一覧タイトル一覧
お久しぶりです[ブログ]  
詳細/おすすめ(6595/0) | ソーシャルブックマーク(0)  2012/01/01 15:03

皆様、明けまして おめでとう御座います。

 

残念ですが、復帰した訳ではありません。

忙しいのは確かです。

ある実験をしていて立ち寄ったまで…と解釈頂ければ幸いです。

 

と、言い訳がましい挨拶はそこそこに本題です。

その実験とはゲーム専用機の仮想化です。

変装して行動する『仮装』でも荼毘の『火葬』でもありません。

virtual の『仮想』です。

 

どうして そういう事になったかの起承転結を書いてみたいと思います。

 

これはルナティアを引退した原因の一つです。

ルナティアでは裏タスクとしてAPRという監視タスクが動作しています。

この動作によってシステムクラッシュを起こしたからです。

 

  ルナティア正式サービス開始 : 2009年1月23日

  Windows 2000 サポート終了 : 2010年7月13日

 

ご覧のように、当時はルナティアも Windows 2000 をサポートしていたのでした。

ですがインストールされたAPRは XP 仕様であり、仕様の差からの障害でした。

APR はシステム監視にパフォーマンスカウンタを使います。

ところが XP とでは仕様が異なり 2000 ではAPRに対して適正な値を返しません。

APR側では常にその返却値を得るためにリクエストが発行され続けます。

それがため、アプリケーションログが あっという間にエラーで埋め尽くされ、

その最悪の結果がシステムクラッシュです。

資料:http://support.microsoft.com/kb/828872/ja

 

過去の話です。

Windows 2000 をサポートしなくなったルナティアではこのような障害は発生しません。

ですが そういう経験をすると、得体のしれない裏タスクを暗黙に強要されるゲームなど

プレイしたいとは思わなくなります。

何よりシステム破壊のリスクは避けたいですから。

 

という訳で、「ならばゲーム専用機として仮想化してしまえば…」という発想なのでした。

実際、仮想化してしまえば障害が発生し、最悪の事態になっても仮想HDDファイルだけで

障害はホストマシンにまで波及しません。

そして、この方法は かの悪名高い nPro... にも利用可能な筈です。

 

マシンも最新に入れ替えた現在、障害のリスク無くゲーム出来るのであればと思った次第です。

 

 

まずマシンです。

ハードウェアのスペックは…

CPU : Intel Core i7 950 (3.07GHz)

Memory : PC3-12800/DDR3-1600 24GB

Graphic : nVidia Geforce GTX470

ソフトウェアは…

Windows 7 sp1 (64bit)

VM(仮想マシン)

 1.Microsoft Virtual PC(XPモード)

 2.Olacle virtualBox

 3.VMware VMplayer

ゲストOS:Windows XP Pro sp3

アプリ:ルナティアなど各ゲームプログラム

 

PCは2009年のハイエンド機に相当します。

一般にデュアルコア(64bit)機でメモリー 4GB程度は必須かと思います。

当然OSは 64bit となりますが、こんなPCに仮想マシンを導入します。

その仮想マシンにゲストOSとして Windows XP をインストールして…

そのゲストOSにゲームをインストールします。

 

 

内容的には実験結果ですが…

これはゲームにおける仮想マシン自体の評価と言っても過言ではないようです。

 

1.Microsoft Virtual PC

残念ながら遅すぎてゲームは出来ませんでした。

なぜなら仮想再現されたマシンのスペックが古過ぎるからです。

再現性は悪くないのですが、ゲームが動作できたとしても紙芝居状態です。

ビジネスアプリ向けのPCエミュレータという一般評価どおりでした。

 

2.Oracle virtuaBox

私的に最も期待していたのですが、DirectX再現に障害があり、完全には再現できません。

通常アプリの高速再現性からは残念と言うしかありません。

ルナティアだと、サーバ選択までは動きますが3D描画でコケます。

プレイなんて出来ません。

 

3.VMware VMplayer

どんなゲームも完全に…ではありませんが動作します。

描画方法がエミュレートですから描画タイマーが再現しきれていません。

それでもルナティアに関しては全く問題ありませんでした。

他の3Dゲームでは視点移動が早すぎてプレイし難いのは確かですが、

ゲームとしてはプレイ出来るレベルに仕上がっています。

現行のPCエミュレータではゲームならVMプレイヤーがお勧めです。

 

 

3種類の仮想マシンを比べてみました。

期待していた virtualBox では動作しなかった事が残念です。

それでも ここまで再現できた事に驚きです。

多少「難」が有ってもプレイ出来るのですから。

 

何より目的はセキュリティです。

正体不明の裏タスクが不安なら、個人情報を全く置かない仮想マシンを

ゲーム専用機として使える事が証明された訳です。

これはゲームオフィシャル推奨の方法ではありません。

それでも「正体不明の裏タスクは嫌いだ!」という人には朗報です。

障害を最小限にする方法がこれだからです。

 

 

 

オマケ

仮想環境には VMplayer が必須です。

ルナティアは問題なく再現されました。

晴○物語、マ○ノギは視界変更が早過ぎますがプレイには問題ありませんでした。

エミュレータ側のタイマー調整が熟れていないのかもしれません。

 

で、追加情報・・・

ARGO Online

パッチャ、ランチャは正常に動作しました。

ゲーム本体もプロローグ ⇒ サーバ選択 までは動きます。

ですがキャラ作成は画面が真っ白で出来ませんでした。

画面を最も小さいウィンドウモードに切り替えるとキャラ作成は可能です。

しかし残念ながらプレイには至りませんでした。

ブルースクリーンで落ちます。


KNIGHT Online、英雄 Online、LOST Online、Operation 7

鬼魂

製作時期が古いだけあって特殊なコードが少なく正常にプレイ出来ました。


Wiz... On...

パッチャ&ランチャまでは動作しますが本体起動がNGでした。


ヒント

●通常プレイ録画はAPR の影響で出来ませんが仮想環境なら…



追加

仮想化には SandBoxie が有効というご指摘を頂きました。

確かに SanadBoxie はシステム保護を目的として仮想化技術が使われています。

 システム保護目的で使うなら最高だと思います。

反論ではありませんが、目的が違うのです。

SandBoxie は不正な動作するタスクなりアプリを隔離し、制止させるのが目的です。

一方、仮想マシン(VM)の目的は正反対で『動作させる事』なのです。

裏でシステム監視を行なっているタスクにとって隔離行為は目的に対して致命的なのです。

なぜなら裏タスクの動作結果によって表面アプリの動作が決まるからです。

裏タスクではシステムパフォーマンスを監視していて、

指定されたタスク以外は不正と見做され、不正操作が有ると判断されると

アプリ自体が終了したりサーバに不正を伝えるのです。

APRの場合はサーバに不正処理が行われたと通知しIDが停止されます。

隔離を行なうと、「隔離されていない」と裏タスクを騙さなければならなくなります。

 SanadBoxie は小規模なアプリやスクリプトのチェックには功を奏しても

目的が「制止させる事」なのでゲーム自体を止められてしまうのは意に反します。

システムを監視する裏タスクの無いゲームクライアントなら通常のアプリと見做せます。

裏タスクの問題に限っては、このような再現性以前の問題も含まれている訳です。

この裏タスクを騙すには環境そのものを再現して騙す他は無く、

そういう意味で仮想マシン(VM)が最適と思える訳です。


そもそもの目的は「環境監視タスクを騙すこと」とも言えると思います。

再現性は当然必要ですが、再現されるからこそホストOSが異なっても

ゲストOS上のアプリが動作すると考えて頂ければ良いかと思います。

そしてそのアプリの一つにゲームクライアントが有ると。

まぁ、ゲーマーの心理としては「動きゃ何でもイイだろ?」でしょうが。 (笑)


ちなみにVMは実機を再現した物です。

ゲストOSがインストールしてあればネットやアプリ側から見れば実機と同じなのです。

(実際には細かな差異も有りますが)

マシンの挙動が実機と同じなら環境監視タスクも実機として認識するという事です。


20120102140706-72.jpg
この記事のURL /  カテゴリ /  コメント  / おすすめ  / 通報
   決してお奨めはしませんが
   貸借