xna game studio

Ship Game Starter kit

さすがにプレミアム会員向けだけあり、これはすごい。 ただのシューティングかと思ったら違った。 見た目Quake風のFPS。 視点はTPSに変更もできる。 キャラがbipedでなくshipだというだけでこれは紛れもなくFPSの雛形。 ソリューションの中に別プロジェクト…

コンストラクタ

自分用のメモ。 C#にはコンストラクタが三種類ある。 インスタンスコンストラクタ、静的コンストラクタ、プライベートコンストラクタ、である。 この三種類をまとめて(かつては)クラスコンストラクタ、と呼んでいたらしい。 ややこしい。 まあ、普通はコンス…

role-playing game starterkit続き

キーボード操作がめんどくさくなったのでPCにxbox360コントローラ挿してやる。 ちゃんとQuestをこなしてなかった(敵を倒した後、報酬を貰いに戻らないとか)ので、 必要なイベントが発生せず、Questがまったく進行してなかった。 言われた通りにやり残してい…

Role playing game続き

とにかく手当たり次第にスターターキットをやってみようと思い、まずはrole playing gameをがっつりとやり始める。 以下、ネタバレです。 味方は warrior (戦士)、wizard (魔法使い)、barbarian (野蛮人、というかゴリキャラ)、 paladin (騎士)、red mage (…

XNA Startarkit Role-Playing Game

Role-Playing Game というものをやり始めたのだが、 とても巨大なプログラムだ。 テキストデータはすべてXML、 キャラクターの画像+アニメーションはおおむね6フレームx8方向=48コマのPNGで描かれている。 Dhruva Interactive というインドのゲーム開発会社…

いろんなTile

Platformerに鍵とはしごを実装するという課題を出したのだが、 はしごはTileにLadderというTileCollisionタイプを追加していろいろいじってたらだいたいできた。 Playerクラスのなかで、IsOnLadderとかプロパティ作り、 IsOnLadderなときに上矢印または下矢…

相対パスと絶対パス

levelPath = String.Format("Levels/{0}.txt", ++levelIndex); levelPath = Path.Combine(StorageContainer.TitleLocation, "Content/" + levelPath); StorageContainer.TitleLocationは実行ファイルがある絶対パスを返すらしい。 実行ファイルのフォルダパ…

private static readonly

private static readonly Point InvalidPosition = new Point(-1, -1); というものが気になってしまった。 private const Point InvalidPosition = new Point(-1, -1); じゃないのかと。 しかしnewできるものはconst宣言できないというので、ははあ、ならば…

プロパティのなぞその2

public Vector2 Velocity { get { return velocity; } private set { Velocity = value; } } Vector2 velocity; このように書くとスタックオーバーフローのランタイムエラーが出る。 正解は public Vector2 Velocity { get { return velocity; } private set…

PlatformerのXNA2.0への移植

相変わらずPlatformerをいじっている。 XNA2.0には GraphicsDevice.Viewport.TitleSafeArea というものがない。 TitleSafeAreaというのはつまりビューポートの中で、アナログディスプレイで表示したときに、 テキストを表示して良い安全範囲ということだろう…

Platformer雑感

Platformerをいったんばらしてもう一度組み直すということをやっている。 スターターキットではなくて新しいプロジェクトWindows Game (3.0)として作り直している。 とりあえず、PCだけで動けば良いので、 いじりやすいようにそれ以外の要素をとっぱらってい…

素材のプロパティの確認

Platformer : パワーアップの追加 で、sounds/monsterkilled.wmaをContentに追加するとあるが、 ただ追加しただけでは、 そのコンテントのプロパティのcontent processorがSong - XNA Frameworkになっており、 実行時エラーになる。 これを他のサウンドファ…

foreach

前回、Platformerにはfor文しか使われてないなどと書いたのだが、 明らかな認識ミスでやはり主にforeachが使われていた。 たとえばLevel.csのDraw()メソッドの中の foreach (Gem gem in gems) gem.Draw(gameTime, spriteBatch); とか foreach (Enemy enemy i…

プロパティのなぞ

PlatformerのAnimation.csというのを読んでいたが、 なぜ public Texture2D texture; としないで、 public Texture2D Texture { get { return texture; } } Texture2D texture; のように書くのだろうか。 publicな変数は体裁として極力プロパティとして公開…

学科横断的なもの。

XNAの授業には工学部のメディア画像学科から3人、コンピュータ応用学科から1人が履修している。 彼らは、わざわざ他学部履修してくるだけあって、それなりにプログラミングができる。 うちの学科の学生にもややできる学生が混ざっている。 なかなか面白い授…

当たり判定

去年はxnaとsource sdkとwordpressをいきなり授業に導入したりして異様に忙しかった。 今年はそこまで忙しくはないのだが、 去年の手直しというかチューニングはまだかなり必要で、 それなりに精神的に追い詰められる。 いろいろ悩んでいるとやはりxnaという…

C#のプロパティというもの。

これは、starterkit: Platformerの中のLevel.csというソースの一部なのだが、 public Rectangle GetBounds(int x, int y) { return new Rectangle(x * Tile.Width, y * Tile.Height, Tile.Width, Tile.Height); } /// /// Width of level measured in tiles.…

Platformer

XNA Game Studio 3.0からStarterkitが3Dシューティングゲーム(といっても動きは2D的だが)のSpacewarから2DアクションゲームのPlatformerというゲームに変わった。 xbox360とzuneというプラットフォームが加わったことでよりスペック的に現実路線に切り替えた…

C#のusing

XNAの授業が始まったのでいろいろ授業準備。 ついでにあまり授業とは直接関係ないが気になったことなど調べる。 C#に出てくるusingはいろんな使い方がある。 一つはGame1.csの冒頭に using System; using System.Collections.Generic; using Microsoft.Xna.F…

visual C# 2005 Express配布終了

3月31日にvisual C# 2005 Express editionの配布が終わっていた。 情報処理センターには去年と同じにC#2005 + XNAGSE2.0が入っているのだが、 学生に自宅で同じ環境をインストールさせることができなくなってしまった。 C#2008+XNAGSE2.0ならほとんど同じ環…

xbox 360 controller for windowsでSteam版Half-Life2を動かすには

Using an XBox 360 Controller with Source Games。 いやまあ自分ではやりませんけどね。 展示するにはやはりパッドが良いかと。 joystick.cfg: joy_name "Xbox controller" joy_advanced 1 joy_advaxisx 3 joy_advaxisy 1 joy_advaxisz 0 joy_advaxisr 2 jo…

薬莢!体験版 released

薬莢!体験版 を公開しました。 たぶん、2面くらいまでしかありません。

xna review & playtest

xna creators club onlineのゲームをフライング気味(?)に遊んでみようという試みの続きだが、 xbox360とPCをつなごうとしたのだが、 XNA Game Studio 2.0以降では XNA Game Launcherではなくて、 XNA Game Studio Connectというものでつなぐ、 ということを…

今日のxna creators club online

xna creators club online では、 approveされたゲームが6つに増えている。 200pointsから400pointsの値が付けられている。 visitorがみれるのはここまでだが、sign inするとさらに review中のゲームやらplaytest中のゲームなどみることができる。 In review…

xna creators club onlineが・・・

先週までは xna creators club onlineに確かに79の古い作品があったのだけど、 今は新しく登録された3作品しかない。 Cultureというのが200pointsで、 Net Rumble 3.0とNettersというのが50pointsで売られている。 売られているということは、xbox360経由で…

xna creators club

xna creators clubの79作品をざっと見てみたが、 trailerもscreen shotも用意してないのがあったり、 trailerみても全然ぱっとしなかったり、 こんな状況で、値段をつけて一般ユーザに売れたりするのかな。 でもよくよくみると、10作品くらいはまともなもの…

xbox 360 controller for windows

Microsoft Xbox 360 Controller for Windows。 買ってみたんですけど、普通のコントローラとどこが違うかよくわからん。 Windows xp用のドライバのCD-ROMがついてくるので少し便利。

xbox360コントローラをWindowsのXNAで使うには。

やっとヒマになったのでいろいろ調べてみた。 結論から言えばxbox360用の有線のUSB接続コントローラを使うことができる。 ワイヤレスは良くわからん。 Download Gaming Software というところで、 Please check your system requirements for this download.…

GはGame1のG

xnaで Game1 : Game のインスタンスのメンバによそのクラスのインスタンスからアクセスする方法。 たとえばTakoというクラスがあるとして、 Game1のgraphicsとかspriteBatchが参照したいことがある。 全部コンストラクタの引数で渡してやるのはたいへんなの…