2009年9月26日土曜日

信長の野望でウィンドウ化

先日、信長の野望 天道がリリースされて、ちょっとずつではありますがプレイをしております。

ゲームシステム的にはマイナーチェンジな感が否めないのですが、毎シリーズプレイしており、このシステムのベースとなった『革新』も気に入っていたこともあり、プレイをしております。

で、モニターも複数接続しており、ゲームの合間にウェブをチェックしながらのながらゲームをしているわけですが、そこでひとつ難点がありました。

この信長の野望、フルスクリーンなんです。

フルスクリーンのゲームをしている最中に他のアプリにスイッチしたりすると、下手をすると進行不能になったりしてしまうことは目に見えており、この点は不便に感じておりました。

で、そこを改善するのはないかと調べていたら、

    シミュゲ実況スレ @wiki - ゲームの窓化

なるサイトを見つけました。

前作の『革新』のウィンドウ化の改造方法ですが、少しアレンジするだけで見事ウィンドウ化することが出来ました。


具体的にはレジストリエディタを立ち上げて、

    HKEY_CURRENT_USER\Software\Koei\Nobunaga13\Configs

そこにあるFullScreenの値を0に設定するだけで完了です。

これでながらゲームにも拍車がかかりそうです。

2009年9月25日金曜日

Forzaでマルチスクリーン

TGS2009開催中ということで、色々なゲームニュースサイトで新作ゲームについての発表がされています。

そんな中でForza Motorsports3も10月22日発売ということもあり、展示されているようです。
昔のSEGA社のFerrari F355 Challengeの3画面筐体を思わせる3画面マルチスクリーンでの出展となっているようです。

で、自宅でも出来るんではないかと思い、調べてみると。。。

なんと、個人でもこのマルチスクリーン環境を作ることが出来るんですね!!!
必要なものは
  モニター   3台
  Xbox360本体 3セット
  Forza    3セット
とそのままの物が必要とのこと。かなり場所と、お金が食いそうですね。^^;

他にも元開発者の話なんかも残ってたんで、ついでにまとめてみます。
    Forza マルチスクリーン - Windows Live
このマルチスクリーンの機能はF355チャレンジでの体験をもとに実装されたようですね。
影響を受けたものが今もあるっていうのは、昔のセガはとんがってたな~って感じちゃう一面でした。

最後にForzaは最大8画面とのことで、いったいどういった配置なんだろう?って思いますが、一生そんなの個人では無理かもって思っちゃいました。(場所とお金が・・・。)

2009年9月12日土曜日

DirextX SDK Aug 2009 - HDAOのサンプル

久しぶりにDirectX SDKのバージョンがアップされたようです。
以下より入手できます。
    DirectX SDK - (August 2009)

サンプルを色々見ておりましたが、Ambient Occlusionのサンプルがあったので、ドキュメントやソースなどを眺めておりました。最近の描画処理って質感(細部)にばかりトレンドが進んでしまって、正直パッと見で変化がわからなかったりしてたんです。(かなり恥ずかしいですが。。。)

ま、そのときの印象などを含めて簡単に記録しておきます。


このサンプルのAmbient Occulusionっていうのは大域照明手法の一種で”やわらかい影をつける”とか光が届かないようなところは環境光を一律に影響させるのではなく、ちゃんと暗くさせようというものです。


実装の違いはありますが、以下に説明があります。
    ・4Gamer.net ― [GDC2008#37]後処理で実現するリアルタイムAmbient Occlusion
    ・西川善司の3Dゲームファンのための「GDC 2008最新ゲームエンジン事情」講座(後編)


で、サンプル眺めてAmbient Occlusionをオン/オフで比べると、暗いところは強調されるように暗く影がさされてます。端的に評価すると墨入れにイメージが近いように感じました。

比較のために下にスクリーンショットを並べてみます。


←左がAmbient Occlusionの機能をオフにしたものです。一様に環境光が当たっています。










→右がAmbient Occlusionの絵です。微妙に影が強調されていると思います。










比較すると、陰になっている部分が黒く墨が入ったように見えるかと思います。歴然と質感も増しているのが比較することでわかります。

人間の目というか、現実社会で普通に見えてるものを当然と考えると、細かいところって当たり前に思えたりして違いがわからないんですよね。で、違いを見せられて明らかに質感が増しているのに驚かされる。

美人は化粧する前も美しいけど、化粧すればもっと美しく映るって感じですね。
それだけ、パッと見では違いがわからない位にポスト処理を行う前段階の3D技術の水準が当たり前のように高くなっているのを実感します。

これがポリゴンみえみえだったら、あっても無くてもありがたみさえ沸かないかも知れないですよね。

2009年8月5日水曜日

DirectX10のコンパイルではまったこと。。。

本日、久しぶりにそろそろD3D10関連をはじめてみようと思いたちました。(Windows 7とともにD3D11の足音が聞こえ始めてるこの時期にってのもなんですがね。(^^;))
で、とりあえず、最新のDirectX SDK(March 2009)をダウンロードしてきて、コンパイルを実行。。。

で、見事にD3D10の各種サンプルをコンパイルする際にはまってしまいました。。。

最近OSの入れなおしを行い、VS2008の入れ替えや、SDKの整備などを細々と行っていたのですが、そこに抜けがあった模様です。

具体的にはd3dx10Core.hで定義しているGetDesc()で、修飾として使用されているWINAPI_INLINEなるものが解決できずに、コンパイルエラーを催しているといったところです。

WINAPI_INLINEでググってみると以下のフォーラムへの書き込みを見つけました。

DX10 SDK Tutorial 13 will not compile??? - GameDev.Net Discussion Forums


こちらの書き込みだと、定義されているマクロを独自で定義して解決しているといった方法をとっているのですが、今後のソースのメンテとか考えると、ビミョ~。。。

で、この書き込みに、「Platform SDKが古いからみたい」といった情報があったので、新しくWindows SDKをDLしてきて、インストールすることにしました。
Windows 7のリリース前でWindows SDK for Windows 7のRCバージョンが公開されていたのですが、うまくインストールが実施できなかったので、とりあえず、安定版であるWindwos SDK for VISTAを引っ張ってくることに。

インストールを行い、VSのインクルードとライブラリのパス設定を行うことで見事解決できました。
めでたしめでたし。

コンパイルが通ることがわかったので、パス設定を見直してみました。
結局のところ、以前入れたWindows DDKが悪さしていたようで、これより前にパスを設定することで解決しました。多分、同名のヘッダファイルが含まれて悪さをしていたようです。

良かった良かった。