Browse by Tags

Tagged Content List
  • Blog Post: リモートコマンド

    ねことプログラマーとXNAの友好な関係の為に デバッグコマンド はゲーム開発する上では欠かせないツールの一つですがXbox 360上で使用するにはUSBキーボードが必要になります。私の場合は新し物好きで定期的にキーボードを買い換えるので家の中には使っていないキーボードが幾つかあり、いならくなったキーボードを使っていました。 ですが、最近になって11年物のTVが写らなくなってしまい、ようやっとHDTVというものを購入しました。新しいTVの画面上で自分の作ったゲームが動いているのを見るのは楽しいので、リビングルームでソファに座りながらプログラムするという機会が増えました。 そこで、新たに起きた問題が発生しました...
  • Blog Post: デバッグコマンド

    注:今回紹介するコンポーネントは デバッグサンプル に入っています。 開発中にいろんなものを実行したい ゲーム開発中には様々な情報が欲しくなる場面が沢山あります。シンプルな情報であればブレークポイントを設定して変数を調べたりすることができますが、3Dゲームで画面に表示されている数十体もある敵のうちからひとつの敵の情報をデバッガを使って得るのは大変です。また、スタンドアローン実行している状態、例えばVisual StudioからCtrl+F5で実行した時や、友達の家でテストプレイしているときにバグが発生したときにも、ある程度の情報を知りたい場面があります。それ以外にも開発中に実行したいことはパッと思いつくだけでも以下のものがあります...
  • Blog Post: タイムルーラー

    注:今回紹介するコンポーネントは デバッグサンプル に入っています。 時を測る 前回紹介したFPSカウンターではゲーム全体のパフォーマンスを測定するには使えますが、どの処理がどれだけ時間が掛かっているかを判定するには不向きです。 例えば、ねこが大勢の敵をなぎ倒す「ねこ無双」というゲームを作っていて、敵が沢山出てきた時に処理落ちになった場合に最適化をする必要があったとします。 最適化ルールその3:「最も負荷の高い部分(ボトルネック)の処理を最適化する」 これは当然の話で、1フレーム内で10%しか消費していない処理よりも、50%消費している部分を最適化する方が効果的です...
  • Blog Post: FPSカウンター

    注:今回紹介するコンポーネントは デバッグサンプル に入っています。 正確な測定には注意が必要 FPSカウンターは、一定時間内に(数秒程度)何フレーム更新できたかを計測した結果から、1秒間のフレーム数、FPS(Frame Per Second)を表示するという、非常に簡単な機能です。 ですが、正確なFPSを測定するには幾つかの注意が必要です。 Game.IsFixedTimeStep の既定値はtrueになっているので、ゲームの更新と描画に掛かる時間が1msだとしても、見かけ上は16.6ms、つまり60FPSになってしまいます。また、描画時にV-Syncに同期するようになっているので...
  • Blog Post: デバッグサンプル

    2010/09/17 追記: XNA Game Studio 4.0用のサンプルを http://higeneko.net/hinikeni/sample/xna40/DebugSample.zip にアップしました。詳細は「 サンプルコードをXNA 4.0向けに更新 」を見てください。 2009/06/25 追記: XNA GS 3.1用のサンプルを http://higeneko.net/hinikeni/sample/xna31/DebugSample.zip にアップしました 2009年1月24日追記: サンプルプログラムのキーボード処理部分でテンキーの0を押すと1が入力されるバグを修正...
  • Blog Post: PIXを活用する その1

    PIXとは 3Dゲームを開発している時に必ずといってあるのが、モデルが意図しない状態で表示されるという問題です。「色が変」や「形が変」と言う比較的原因が予想しやすい問題から「画面になにも出ない」といった原因を判断するのが困難な場合まで様々な問題があります。特にシェーダープログラムを使っているとこういった問題に直面する機会は多くなります。 こういった問題の原因を見つけるのに非常に有用なツールとして、Direct X SDKに付属する PIX for Windows があります。このツールは元々、初代Xbox用に開発されたPerformance Investigator for Xbox (PIX...
Page 1 of 1 (6 items)