Welcome to MSDN Blogs Sign in | Join | Help

February 2008 - Posts

簡単(かもしれない)日本語表示

2009/06/25 XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/SimpleMessage.zip にアップしました。 以前紹介した 英数字以外の文字列表示方法 はコンテントパイプラインの全体の流れを説明するという目的もあったので複雑なつくりになっていました。RPGやテキストベースのアドベンチャーゲームなどの大量のテキストデータを扱う場合は、こういったものは必須になってきますが、今回はXNA 2.0から導入された プロセッサパラメーター

Xbox LIVE community games

と、いうわけでXbox LIVE community gamesが発表されました。 http://blogs.msdn.com/xna/archive/2008/02/20/announcing-xbox-live-community-games.aspx Xbox Live コミュニティゲームを一言で表せばYouTubeやニコニコ動画のゲーム版といった感じです。 そう、今まではXNA Game Studioを使って作ったゲームを開発者以外の人に遊んで貰うのは色々と面倒でしたが、コミュニティーゲームの登場によって簡単に色んな人達があなたの作ったゲームを遊ぶことができるようになります。なぜなら、コミュニティゲームはクリエータークラブ会員でなくとも遊ぶことができるからです。
Posted by Yuichi Ito | 2 Comments

XNA Game Studio 3.0の新機能

GDC2008で、XNA Game Studio 3.0の新機能の1つが発表されました。それはWindows、Xbox 360に加えて新たに Zune がサポートされるようになったことです。 日本では未発売のものですが、Zuneは携帯メディアプレイヤーですが他のプラットフォームと同じようにXNA Game Studioを使ってゲーム開発をすることができます。Xbox 360のように贅沢なGPUとかは搭載していませんし、スクリーンの解像度は違いますが、2Dベースのゲームであれば他のプラットフォームで書いたコードがほぼそのまま使えるようになっています。

ネットワーク その10 オブジェクト所有権

クライアント/サーバー と ピア・ツー・ピア 型のどちらのネットワーク形態が優れているのかを議論するのが好きな人たちがいます。しかし、個人的にこの議論は間違ったものだと思います。誰が 「どちらか一方のネットワーク形態を選ばなくてはいけない」 と言ったんですが?私は両方の長所を活かしたハイブリット形式の大ファンです。 ネットワークプログラミングは妥協との戦いです。100%の正確さと、ラグがまったく無いという2つの状態を両立することは不可能で、トレードオフをしなければいけません。 時にはラグが多少大きくっなっても正確さをとる場合もあれば、逆に正確さを犠牲にして高いレスポンスを必要とする場合もあります。

ネットワーク その9 究極の圧縮方法

今まで紹介してきた狡猾な圧縮方法より効果的なデータ圧縮方法があります。それはデータ自体を送らないということです。 もちろん、まったくデータを送らないのでは相手側との同期ができません。でも、時には同期すること自体が重要ではない場合があります。 2つのルール ゲームプレイに関連するものは同期しなければならない 殆どの物はゲームプレイに関与しない 効果音やアニメーションは殆どの場合は同期する必要がありません。もし、ネットワークを介してキャラクターが前に走って移動する場合、それぞれりマシンではその情報を元に、走るアニメーションを再生させ、そのアニメーションに合わせて靴音を鳴らすことができます。靴音が鳴るタイミングが多少ずれていてもゲームプレイには関係ないのでネットワークを介して足音を同期させる必要はありません。

ネットワーク その8 算術符号化圧縮

算術符号化は解りづらく、めったに使われないツールのひとつですが、時々その威力を発揮します。例えるならネットワークデータ圧縮における変なサイズの六角レンチです。 算術符号化はクールです。なぜなら、あまり知られていないし、一見すると動かないように思えるものだからです。パーティーで女の子に好印象を持たせるのに活躍します(訳注:そうか?) 以下のデータがあったとします。 enum Species // 種類 { Camel, // ラクダ Cat, // ねこ Caterpillar, // いもむし Cheetah,

ネットワーク その7 ビットフィールドで圧縮

ビットフィールドは古くから知られている素晴らしいデータパッキング手法です。C#プログラマーがビットフィールドを使う機会は非常に少ないですが、ネットワークパケットの圧縮にはもってこいなので、この機会に使ってみましょう。 バイトは8ビット、intは32ビット。でも、送るべきデータが8ビットや32ビットの倍数にならないときはどうします?例えば以下のようなデータを送るとします。 bool isAlive; // 生きているか? bool isFiring; // 撃っているか? enum Species
 
Page view tracker