「ゲーム」タグアーカイブ

DirectX10は流体シミュレーション隆盛?

CEDEC 2007 - NVIDIA、DirectX 10世代の流体力学技術とスキンシェーダについて解説 (マイコミジャーナル)

DirectX10以降対応のGPUは大変高機能です。そこで、大容量ビデオメモリとプログラマブルシェーダを使い、CPUに負荷をかけずに流体シミュレーションを実現しようという動きがあるようです。

これからのGPUはメモリ搭載量が500MB~1GBと従来では考えられない程増えています。ですが、ワードやエクセルを打つようなビジネスユースには128MBもあれば十分です。こんなにメモリを搭載しても宝の持ち腐れではないのか?そんな疑問が沸きます。しかし、ホビーユースにはこの大容量メモリで恩恵を受ける事になるかもしれません。

考えられる恩恵は2つ。1つはマルチディスプレイや仮想デスクトップによる、複数画面の表示でビデオメモリを沢山消費する場合。あれもこれもアプリケーション画面を操作したい時にワークスペースが分割されていると、思考もリフレッシュして作業がしやすくなります。書斎において仕事用の机と趣味の作業台を別々に用意してある、というのを想像してもらえれば理解かりやすいかもしれません。関連性の無いものが一つの場所に雑多に置かれているよりも、遥かに作業効率が上がるでしょう。2つ目の恩恵はこのポストの主題であるGPU演算の作業メモリとしての活用です。わざわざ遠くのメインメモリを使用することなく、近くにあるビデオメモリで高速に演算できるようになります。ゲームだけに限らず、今後はウィジェットやデスクトップのウィンドウ表現にも活用されていくと睨んでいます。

そんな訳で、次に購入するならメモリが大容量のGPUを念頭に入れるのが良いと思います。これもプログラマブルシェーダというアプローチが主流になったからこそでしょうね。

大爆笑ゲーム、SUMOTORI DREAMS

SUMOTORI DREAMS

Archee氏作の僅かファイルサイズ96KBのコンパクトなゲーム。頼りないラグドールが奮闘する紙相撲です。このゲームの醍醐味は勝負がついてから。酔払いのような千鳥足で双方のキャラがのた打ち回ります。壊れる衝立、よろけて転ぶ相撲取り。UPXで圧縮しているとは言え、この小さなサイズの中によくこれだけのギミックを取り入れたもんです。転んだ相手をあざ笑うという仕草もあり芸が細かい!全てAIで動作、キーフレームアニメーションは一切組み込んでないとか。

この作品は29KB版も存在し、ゲームコンテストBreakpoint 2007のgamedev compoにエントリーしてあるようです。

操作方法一覧

メニュー選択:マウス左クリックで箱を飛ばし、ボタンを破壊する
Player1: 方向キー, backspace, enter
Player2: wsad, shift, control
ゲーム終了、戻る: esc

月桂樹オンライン(Gekkeiju Online)に潜入してみた

フィンランドのソフトハウスCoolhouseが運営する無料MMORPG「月桂樹オンライン(Gekkeiju Online)」を体験してみました。タイトルから分かるように日本を意識しています。サイト全体に漂う萌えテイストが甘酸っぱいですね。このゲームは開発ライブラリにIrrlicht、irrKlang、AngelScript、RakNetが使われています。Irrlicht公式サイトからもリンクされており、最近Youtubeにオフィシャル動画を公開しました(2ヶ月で100回未満しか閲覧されてません)

動画を見る限りでは、タイトルとは裏腹に、そこかしこから洋ゲーっぽさが滲み出ています。日本風なのはキャラの顔だけ。騎乗生物、船、借家、MUD(マルチユーザダンジョン)等、既存MMOのトレンドを果敢に取り入れています。

それではインストール。言語選択画面が現れます。何と日本語がありません。日本仕様なのはタイトルとキャラだけのようです。仕方ないので英語を選びましょう。

インストール画面

インストール後、オンラインアップデートを経てログイン画面。デフォルトのウィンドウサイズは1024x768です。一応、任意のサイズにも変更出来るようです。

ログイン画面

キャラ作成に入ります。何だかモデルが貧相です。開発者自らがモデリングしたのでしょうか。私は種族選択でネコミミのキャットフォーク(器用な猫族)を選びました。自キャラは種族の他に、性向、境遇など、他のゲームではあまり見られない属性も選ぶ必要があります。私は性向は悪、境遇は孤児にしました。スラム街で暮らすシーフを意識してみたつもりです。

キャラクター作成

さて、いよいよログイン。ワクワクしながら月桂樹の世界に足を踏み入れました。すると何故か目の前に宿屋のベッド。お隣には見知らぬオークのオヤジ(NPC)。オークからの熱い視線に、いけない想像をしてしまいそうです。気づいたら脱がせていました。

下着姿

下着はピンクでございます。ご馳走様でした。今回のレポートはここまで。また機会があれば潜入してみたいと思います。

フィールド風景

このゲーム、D&Dやソードワールド、ガープスのようなテーブルトークRPGを目指しているのかもしれません。現にYoutubeのプロフィールには好きな書籍にドラゴンランスシリーズと書いてあります。冬季オリンピックでも有名な雪国から、日本フリークが提供する新機軸MMORPG。無料で遊べますので興味があればどうぞ。グラフィックの稚拙さとGUIの使い難さがマイナス要素ですが、その辺を気にしなければ良作なのかもしれません。

Irrlicht製商用ゲーム Galactic Dream: Rage of War

Galactic Dream: Rage of War Released (Irrlicht3d.org Blog)

Galactic Dream: Rage of Warがリリースされました。これは、Irrlichtを使用した、商業用リアルタイム宇宙戦略ゲームです。私はこのゲームを既にブログで紹介してはいますが、今回は完成版であり、以前より多少出来栄えが良くなっています。

翻訳 - 屋森英樹

早速、私もダウンロードして遊んでみました。キーボード操作を基本としているようで、マニュアルを読まないと満足にオペレーションが出来ませんでした。もう少しGUIを洗練し遊びやすくして欲しかったです。一応、ゲーム中にF1キーを押せばヘルプを見られます。

このゲームを制作したのはEvolution Vaultというスタジオ。問い合わせ先から察するにルーマニアに居を構えているようです。今回の作品が処女作で2年以上開発を続けてきたとのこと。自分達の理想とするゲーム像があり、これはその信念をまさに形にしたものだと言えます。多くの人に受け入れられるといいですね。

ここで視点を変えてプログラム構成を見ていきましょう。興味深い事にオープンソースの見本市的な仕上がりです。以下に公称されているライブラリ一覧を列挙してみます。

Irrlicht SSE2版:我らがIrrlicht。これが無いとお話になりません。ファイル名はIrrlicht_sse2.dll。SSE2命令でエンジンを独自に書き換え大幅に最適化したか、IRRLICHT_FAST_MATH定義を有効にしてirrMathのアセンブラを高速化したバージョンだと思われます。古いCPUでは動かないでしょう。

audiere:かつて、irrKlang発表前にIrrlicht DEMOにも使用されていたLGPLのサウンドライブラリ。ライセンスに多少不安が残るものの、自由に使える数少ない多機能サウンドライブラリです。

OpenAL:Creative社のサウンドライブラリ。オープンソースで公開されています。ライセンスは独特ですがロイヤリティフリーで制限無く使えます。audiereを使っているので、本来、こちらは不要なはず。採用されている理由を考えるとすれば、Vista対応を果たすためでしょうか。VistaではDirect 3Dサウンドが廃止され放置のままになっています。3Dサラウンドを実現するにはソフトウェアエミュレーションするしかありません。その最も有力なのがこのOpenAL APIとなります。Creative社がここぞとばかりに広報活動しており、ご存知の方も多いのではないでしょうか。

enet:MITライセンスで公開されているネットワークライブラリ。このゲームの通信対戦部分に使われています。マルチプラットフォーム対応。

ライブラリをワンクッション置く事により、上手くすれば他の環境でも少ない手直しで動くようになるかもしれないですね。

マルチコア時代のゲームプログラミング

西川善司の3Dゲームファンのための「ロスト プラネット」グラフィックス講座 - Xbox 360グラフィックスここに極まる! 日本発の次世代技術の秘密とは? (Game Watch)

特集:カプコン×インテル。「ロスト プラネット」のマルチスレッド最適化対談 (4Gamer.net)

石田智史氏:
 「マルチスレッドはゲーム向きじゃない」という常識みたいなものがあったんですが,今後の流れとしてはマルチコアは避けられません。だからマルチスレッド化に取り組もうと。
4Gamer:
 ゲームのマルチスレッド化が難しいのはなぜですか?
石田智史氏:
 簡単に言うと依存関係(※詳細は後述)が複雑なんですよ。マルチスレッドでパフォーマンスを上げるためには個々のスレッドの独立性が高くなければなりませんが,ゲームはそうじゃないんです。

Core 2 Duoを皮切りにマルチコア時代に突入したPC市場。シングルコアの性能を極限まで追究したPentium4までとはアプローチが全く異なります。Core 2 DuoやCore 2 Quadは、個々のコア性能は若干落ちても、それぞれのコアで並列作業させて速度を補おうという考え。マルチスレッド化されていないゲームではシングルコアしか使われないので、下手をすればPentium4よりもスコアが落ちます。そのため、ゲームにおいてもパフォーマンス向上にはマルチスレッド化を視野に入れなければならなくなりました。

しかし、ゲームでは敵やプレイヤー等、相互が密接に係わり合っている状態。それぞれを独立したスレッドで好き放題に処理をされては、ゲームの同期が取れなくなってしまいます。どの部分をどのように分業させるか、今後は試行錯誤が続いていくと思われます。記事で紹介されているカプコン謹製MTフレームワークは、その一つの実装型として興味深いですね。

4Gamer:
 では,Xbox 360とPCでマルチスレッド化に関して違いはありましたか?
石田智史氏:
 Xbox 360とWindowsはCPUが違いますよね。Xbox 360のCPUはL2キャッシュを三つのCPUコアで共有しています。だから速い。Core 2 Quadは,(CPUコアは四つあるが,2コアずつ)L2キャッシュが独立しているので,そのオーバーヘッドがかなり大きいんです。Core 2 Duoだとシングルコアに対して1.8倍のパフォーマンス向上を実現できるんですけど,Core 2 Quadだと(シングルコアに対して)2.3倍くらいしか出ない。

また、Core 2 QuadはL2キャッシュが2つあり、それぞれ2コアで1つを共有しています。つまり、Core 2 Duoを1つのダイに押し込んだだけのなんちゃって4コア。キャッシュが2分されてしまうため、これではデータを効率よく処理出来ません。現段階ではCore 2 Quadはマルチスレッド化の恩恵を受けにくい地雷CPUということになるでしょうか。ハードもソフトも激動の転換期のようです。果たして、どれだけの技術者が生き残れるのでしょう。