XNA:バグ取り完了

2009年11月06日
先日に引き続き、コントローラー3と4の問題の修正と最終的なチェックをしていました。
3コンと4コンでシングルプレイモードが一通りクリア出来るまでをチェックしてみました。

4コンはOK。動作に問題無しでした。
続いて3コンでプレイ開始→4面で死亡(汁

3コンでのテストは明日にしときます><

しっかしコントローラが4個もあると、置く場所に困りますね。
頻繁に使うので出しっぱなしなのですが、有線コントローラーの線と、プレイアンドチャージキットの給電ケーブルが邪魔で邪魔で、、、、

とりあえず明日を予定に修正版をピアレビューに上げようと思います〜

XNA:コントローラー4機 集結!

2009年11月05日
コントローラー4問題の日記を書いてから一ヶ月以上間あgが空いてますね、、、、油断するとあっという間に一ヶ月経つということでしょうか。

今日、アマゾンから荷が届きました。
ワイヤレスコントローラーと有線コントローラーです。
ようやく我が家にコントローラが4機集結しました。バグ取り作業の再開です。
コントローラー集結


実は、コントローラ3でも問題があったようで、「コントローラー3でシングルプレイモードを始めるとバグる」という報告を受けていました。
バグって落ちるので、リモートデバッグすれば落ちた時にブレークがかかるはずです。
早速、レッツ3コンでシングルモード

camera3 ←× バグってた原因
camera4 ←○ 修正後

簡潔に書くと上記のような1文字のミスでした(汁

コントローラー4の問題は、キー入力状態を取得する直前に書いていた「コントローラーの接続状態を監視するコード」が原因だったようです。変数の使い回しは、時に凶悪なバグを生み出すようです。

やはり手元にコントローラーが揃っているのは便利です。好き放題トライアンドエラー作戦でバグ潰しが出来ます。

細かい残りの作業が残っていますが、近日中に修正版をピアレビューに上げれそうです。

XNA:4コンの罠

2009年09月28日
DESTRUCTION TANKのバグ取り作業をしていますが、厄介な問題に遭遇しました。

「メインループで4コンの入力が無視されてしまう」
GetStateで4コンの入力状態を取得してその戻り値を見てみると、何も押されていないという結果が返ってきます。(BとかAとか押しているのに)

どの部分が問題なのか調べるために、ブレークポイントを複数配置して、その時点での各種値を調べてみる事に。
ステップ実行で、一行づつコードを実行させてみると、、、、、

「ちゃんと4コンの入力を取得している」

これは問題です。コードを一切修正していないのに、通常の実行とステップ実行で結果が違います。
何がGetStateメソッドを失敗させているのかがさっぱりわからず、頭を抱えている状態です。

おまけに、4コンの動作確認は友人の家に行った時しか出来ない(友人持っているコントローラーも動員してデバッグしました)ので、トライアンドエラーを繰り返して作業をするという手段が使えません。
流石に一日中友人の家でテレビと360を占拠するわけにもいきませんし、、、、

そこで、私はある方法を試してみた。
XBOX360にはUSBポートがあります。そこに
「360コントローラー以外のコントローラーを挿してみる」

1コンを無線360パッド、2コンをWindowsのサイドワインダーゲームパッドUSB、3コンをUSBコンバーターにつなげたPS2パッド、そして最後に有線の360パッドを差し込むという手順です。
もし、USBのコントローラーが「ゲームパッドとして認識する」なら、最後につなげた有線360パッドはコントローラー4となります。デバッグが出来るかもしれない! 期待しつつ即実行。

無理でした(汁
世の中そんなに甘くは無いようです。
(ちなみに、最後に接続した有線360パッドは、「コントローラー2」になってました)


XNA:DESTRUCTION TANK 2nd Ver.Up Now on Available

2009年09月10日
ついさっき、2ndバージョンアップパッケージのピアレビューを通過しました。
DESTRUCTION TANKの起動時にバージョンアップメッセージが出ます。

ピアレビュー終了直後ですが、問題の報告が出ているので3rdバージョンアップを予定しています。
・不評だったタイトル前の「メディアライブラリーについての注意書き画面」を「How to Play」側に移管
・「How to Play」画面に目次の追加
・マルチプレイゲームのラウンド終了時にエラー落ちする問題の修正
・コントローラー4をアクティブにすると、タイトル画面で操作不能になる問題の修正
・WebマーケットプレースのDescriptionで、日本語、英語、イタリア語以外の言語の説明文を破棄
・Webマーケットプレースの既定の説明言語を英語に変更
以上6項目の修正を予定しています。

Descriptionのイタリア語に関しては、レビュアーの方がイタリア語に翻訳した説明文を提供してくださったので、ありがたく使わせていただく事になりました。

今後ともDESTRUCTION TANKを宜しくお願いいたします。

XNA:DESTRUCTION TANK 2nd Ver.Up Peer Review中

2009年08月29日
DESTRUCTION TANK
やっとこさピアレビューに上げれる日が来たので、早速2ndバージョンアップ版のパッケージをアップロードしました。
2ndアップデートで修正された項目は、

2009/08/29
・ドイツ、フランス、スペイン地域で、正常に動作していなかった問題を修正。
The problem of not operating normally is corrected in Germany, France, and a Spanish region.

・カスタムサウンドトラックの音楽を止めたときに、ゲーム側のメディアライブラリーの曲が鳴らなくなってしまう問題を修正。
When the music of the custom sound track is stopped, the problem that the tune of the media library on the game side doesn't ring is corrected.

・その他、微調整。
Additionally, fine-tuning.

です。
今回はドイツ、フランス、スペイン地域のXBOX360で正常に動作していなかった問題の修正がメインです。

今回の動作チェックは、本体の言語と地域設定を変更して行う必要があるので、CCOメンバーの方々にはご面倒をおかけしますが、ピアレビューを宜しくお願いいたします。

XNA:<テスト ケース 9> 問題解決

2009年08月26日
この前発覚した「<テスト ケース 9> 国や地域の問題 」の浮動小数点記号の件の修正作業がやっとこさ完了しました。
本体の「言語と地域」の設定をドイツ・フランス・スペインで動作テストをして、正常に動作する事を確認しました。

しかしながら、テストケース9にはこんな記述もあります。
「ゲームで、桁区切り記号を使用する書式設定された形式で数値が出力される場合は、桁区切り記号として、言語および国や地域を英語/米国としている場合に使用される "," ではなく、改行しないスペースが使用される国や地域に関連付けられている言語に Xbox 360 を設定します (たとえば "1,234,567" は "1 234 567" と表示されます)。」
(中略)
改行しないスペースを区切り記号として使用すると思われる言語は、ロシア語、ポーランド語、およびフランス語です。

今度は桁区切り記号が地域によって「コンマ」だったり「スペース」だったりするようです、、、、
今回の修正で、文字列を数値化(その逆も)している部分は全て手を入れたので、妙な動きや表示される事は無いと思いますが、一応念のためにロシア語・ポーランド語・フランス語用にテストをする必要がありそうです。
ちなみに、フランス語のテストはすでに動作確認が出来ているので、残りのロシアとポーランドも同じ動作をするはずです。大慌てになる事は無いと思います。

XNA:DESTRUCTION TANK Update!!

2009年08月22日
DESTRUCTION TANK is Update today!!
などと、簡単に英語のアナウンスもしてみたりします(汁

つい今しがた、アップデート版のピアレビューを通過したとのメールが届きました。
今回は間髪入れずにマーケットプレースに載ったようで、すぐに360の電源を入れてDESTRUCTIONTANKを起動せました。
「アップデートするか?」という感じの画面が出てきました。インディーズゲームもオートアップデートがかかるのは便利ですね。
Xボタンを押すと最新版をDLし始めます。

更新内容は数日前のブログに書いたので、そちらの方を参照してください(汁

XNA:DESTRUCTION TANK緊急事態!

2009年08月22日
さきほど、「プレイテストとピア レビューでチェックすべき項目のチェックリスト」を見ていたのですが、、
<テスト ケース 9> 国や地域の問題
の部分で、浮動小数点に用いられる記号が、国によって"."だったり","だったりすると記載があり、スペイン語、フランス語、ドイツ語などは小数点記号は","らしいです。
なので、"100.0"などをfloat型に置き換える時は、ちゃんと

「float.Parse(text, CultureInfo.InvariantCulture) オーバーロードを使ってね

と記載されていました。
またfloat型などの浮動小数点を持つ値を文字列に置き換える時も

「value.ToString(CultureInfo.InvariantCulture) オーバーロードを使ってね

と記載があり、この注意書きを見た瞬間に「ヤバイ」と思って、360本体の国と言語情報をドイツにしてみて、DESTRUCTION TANKを起動してみたところ、思ったとおり正常な動作をしておらず、はっきり言ってゲームになっていませんでした。

プログラム中ToString()やParse()を多用しているので、これは修正範囲がほぼ全てのクラスになります。
各クラスを総ナメして、ToStringやParseを使っている部分を全て修正しなければなりません。

次のピアレビューに出せるタイミングで修正版を出せるように、早期に修正とチェックをしなければなりません。
かなりオタついていますが、なんとか冷静に処理してスペインとフランスとドイツの方々に修正版をリリースできるように頑張ります。

XNA:DESTRUCTION TANK Ver.Up Peer Review中

2009年08月20日
修正作業を終えた最新のパッケージを現在ピアレビューに上げています。
今回の修正点は

・ラウンド終了時の間が長いので半分に短縮
Because it is long while the round ends, it shortens it to the half.

・エンディングのスクロール時間が長いので半分に短縮
Because the scroll time of the ending is long, it shortens it to the half.

・ゲーム起動時に音楽ライブラリの説明画面を追加
When the game starts, the explanation screen in the music library is added.

・各プレイヤーのバランス調整
Balance adjustment of each player.

・一部のテクスチャーが反転しているのを修正
It is corrected that a part of texture reverses.

・タンクセレクト時にタンクのステータスの表示を追加
When the tank is selected, the display of the status of the tank is added.

・マルチプレイ時のラウンドタイム表示を、各プレイヤー画面に表示するように変更
It changes like displaying the Round Time display when the multi is played on each player screen.

となっています。
CCO会員の皆様には修正点を確認の上、評価付けを宜しくお願いいたします。

XNA:DESTRUCTION TANKのBGMについて

2009年08月18日
数日前に「デストラクションタンクのBGMは音楽著作権協会の著作物侵害に該当するのでは」
というコメントをいただきました。

パッケージ自体に音楽データを組み込んでいるわけではなくて、ユーザーの360本体の音楽ライブラリにある曲をランダムで選曲して再生しているので、著作権を侵害しているとは思っていませんでした。

この件でCCOのフォーラムに経緯を書いて投稿して意見を求めたところ、2件お返事を頂きましたので、簡単にですが内容を書きます。

・海外のフォーラムでもDESTRUCTION TANKのスレッドに「音楽の著作権侵害なのでは?」という書き込みがあったので、確認して「音楽ライブラリの曲を使っている」という旨を返事してみては?

・初代XBOXの時から、ゲーム中のBGMに音楽ライブラリの曲を使えるゲームはあった。
 著作権などの問題は上がっていなかったので、問題無いのでは?(要は前例があった)

・ゲーム起動時に、音楽ライブラリを使用しているという注意書きを入れてみては?(音楽ライブラリを使っている事に気がついていない人のために)

かなり短くまとめましたが、こんな感じのお返事をいただきました。
スレッドはCCOの日本語フォーラム↓を参照してください。
MediaLibraryクラスと音楽著作権協会

19日でリリースしてから丁度一週間経ちます。
ピアレビューにも再投稿できるタイミングになるので、その時にバグフィックスや注意書きなどを含めた修正版を投稿する予定です。
ピアレビューを通過するのに何日かかるかわかりませんが、その時はまた修正項目などを含めてブログで書かせていただきます。
 | HOME | Next »