スポンサーサイト

--年--月--日
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XNA:AI作成、、、と、ここでちょっと待ったコール

2008年02月28日
とりあえず、「自機のいる方向に向く」部分から作業開始。
と、ここで「ちょっと待った~!」と誰かが言ったか否かは謎ですが、デバッグ用の各種数値を表示する事に。
位置や角度の数値をリアルタイムで見れるようにしたほうが良いと思い、後々のためにもやっとく事にしました。

「せっかくだから、俺はDrawableGameComponentを使うぜ」

何がせっかくなのか解りませんが、とりあえずコンポーネント化しやすそうだったので、試しにやってみる事にしました。
xna_20080228.jpg

サムネイル画像だとちょっと見えにくいと思うのですが、画面上側に数値を表示しています。
結果も上々で、これならメイン側のコードにコンポーネントを追加するコードを足すだけで、後はゲームコンポーネント側だけで処理を書けばいいので、後々のコード管理も楽です。
必要なくなったらコンポーネントを追加するコードをコメント化してしまえばいいし、この辺りがXNAの利点でもあります。

とりあえず、各タンクの位置と角度情報だけ表示してみました。必要に応じて表示する情報は追加していきたいと思います。
スポンサーサイト

XNA:AIアルゴリズム

2008年02月24日
今、夜中の3時過ぎです、、、、
XNA TANKでシングルプレイモードを実装するべく、敵の行動アルゴリズム(世に言うAIとかBotとか言われているやつです)っていうのは、どういう風にプログラムを書けばいいのか悩みまくっていました。

やはり市販ゲームの動きを観察してみるのが良いと思い、早速「サイ○ースレ○ド」をプレイ(汁
しみじみと敵の動きを観察していると、敵の行動アルゴリズムというのは私が思っていたほど思考していないようで、気づいた事をメモしてまとめると結構単純なルールに乗っ取って移動・攻撃している事が発覚。

・常にプレイヤーの方向を捉えている
・接近できるだけ接近してくる
・壁を挟んだ位置関係になると、機体を左右に振って前進するための穴を探り始める
・↑の状態の時、一定距離の左右反復移動なので、一定距離に穴が無ければ「こう着状態」になってしまう
・正面にプレイヤーが居る時は「射程距離外でも」弾を撃ってくる
・壁に当たると、ある程度は「壁ズリ移動」してくるので、プレイヤーを追いかけてこれる時がある

など、結構単純かつ獰猛なアルゴリズムでした。これぐらい単純なAIなら私にも作れそうです。
相手の位置を常に把握できるようにするなど、仕様変更しなければならない部分もありますが、ステップアップするためにしょうがない所だと思います。
FPSゲームにあるような、WayPointを探索して移動したり、遮蔽物を利用したりとかいうアルゴリズムは、もっと腕を上げてからにしたいと思います><

とにかく、コンテスト提出直後から悩みまくっていたAI実装に希望が見えてきたので、今日はもう寝ることにします。
おやすみ~ 。。。zzz

XNA情報:GDC2008 XBOX Live コミュニティーゲームズ アナウンス

2008年02月21日
XNAのリリース前から言われていた、「作ったゲームをXBOX Liveで配布」という構想が近いうちに現実になります。

「XBOX Live コミュニティーゲームズ」と名づけられたこのサービスは、XNAクリエイターズクラブ会員が同サービスに作品をアップロードして他の会員にプレイ・評価してもらい、一定の評価に達した作品はXBOX Liveマーケットプレースで配布出来るそうです。

今回発表のあったXBOX Live コミュニティーゲームズの特徴は、クリエイターズクラブ会員から一定の評価を受けたゲームは360上で誰でも(クリエイターズクラブ会員でなくても)ダウンロードしてプレイが出来る点です。
詳細不明ですが、ゲームを登録する際に有料・無料を選択できるらしく、クリエイターは配布するゲームを有料にすることで収入を得る事が出来るらしいです。

XBOX Live コミュニティーゲームのサービスインは2008年のホリデーシーズンとあるので、おそらく年末辺りだと思われます。βテストが春頃に行われるらしいです。
また先陣を切るように、XNA2.0製ゲームがマーケットプレイスで7本配信されるそうです。
北米市場向けらしく、日本でも配信されるかは謎です。本日から2月24日の17時まで(予定)ダウンロードできるようです。
プレイできる期間が決まっているらしく、本日から3月10日午前4時まで(予定)となっています。期間限定なので、興味のある方はお早めに~

コンシューマーゲーム機でこういったサービスを行うのはゲーム機至上初だそうで、今後XNA製のゲームから超ヒットキラータイトルが生まれるかもしれませんね。

XNA情報:GDC2008 XNA3.0 アナウンス

2008年02月21日
GDC2008のXNA講演でXNA3.0についてのアナウンスがあったようです。
XNA3.0の新機能の一つとして、Zune(MSが販売しているポータブルメディアプレイヤー)へ対応するそうです。
Zune上でXNAゲームを動かす際の特徴としてカスタムサウンドトラックが使えるそうで、専用APIなどが追加されるようです。

XNA:XNA TANKの今後

2008年02月19日
コンテストに出品した「XNA TANK」の今後について、少し書こうと思います。
一応形になったXNA TANKですが、実装できなかった機能が色々とあります。

私としてはシングルプレイモードが実装できなかったのが最大の反省点です。
また、単純に打ち合うだけのゲームと化していて、ゲーム性が低すぎるのも問題です。
プログラム部分ではコードが再利用しにくく、モジュール化も今後の課題として取り組んでいかなければなりません。

直ぐにXNA2.0に移行して、ネットワーク関係の機能を実装したりしてみたいのですが、上の課題(問題)を残したまま先に進むのも後々悪影響を引き起こしそうなので、2.0へ移行するのはしばらくお預けにしたいと思います。

まずはシングルプレイモードから実装して、その後でゲーム性を高める方法(アイテムを置くとか)を考察して実装したいと思います、まずはここまで頑張ります。
その後、コードの最適化とモジュール化を行ってコードの信頼性が確保できた時点で「Ver1.0」完成とします。

いやはや、、、、まだまだ先は長そうです。ヌメヌメと地味に頑張ります(汁

XNA:GDC2008 いつのまに、、、、

2008年02月19日
GDC2008が開催されたようです。いつのまに、、、、、
今回のGDCもやはりというか、やっていただかないと困るXNAのカンファレンスがあったようです。
Game Watchがカンファレンスの様子を記事にしているので、XNA戦士の方々は必見です。
GDC 2008 チュートリアルセッションレポート“XNA Game Studio Developer Day”

XNA2.0の目玉機能であるネットワークプログラミングのチュートリアルから始まったようで、次にXBOX Liveアーケードへ対応させるための拡張機能の紹介。
この拡張機能は、XBOX Liveアーケードでゲームをリリースするに当たって、搭載必須の「実績」と「ランキング」の機能を提供するライブラリのようです。
説明の中で、実際に実績の条件をコーディングして、ゲーム中でその実績を解除するというデモプレイが披露されたようです。

締めくくりはコードの「最適化テクニック」だそうで、特にXBOX360上でのパフォーマンス低下の原因となるGC(カベージコレクト)を極力回避するためのテクニックなどが語られたようです。

私もサッと流し読みした程度なので、もう一回じっくり目を通すつもりです。

XNA: XNA TANK マスターアップ

2008年02月11日
今、XNA TANKをリリースビルドして、マスターアップとしました。
色々とやり残した事が多いのですが、一応の区切りという感じです。あ”~疲れた(汁

[反省文]
結局ダラダラと1年も時間を使ってしまいました。次はもうちょい段取り良くやっていきたいと思います。
友人の意見で「接触した時の音が耳障り」というのがあったのですが、時間の都合上修正できませんでした(汁
実はタンクにテクスチャーを貼る予定だったのですが、、、、、、
4人同時プレイも本当は実装したかったのですが、、、、、、
AIアルゴリズムが書けなくて、対COM戦を実装出来なかったのが最大のミスでした(汁
作ってる最中に、「サイ○ース○ッドのパクリになってきた、、、」と思っていたのは秘密で、、うわなにをするやめくぁwせdrftgyふじこlp;@:
[反省文ここまで]

コメントやブログ拍手をしてくださった方々、ありがとうございました。
懲りずに2作目を目論んでいるので、次回も生暖かい目で見守ってください。

XNA:動作確認

2008年02月10日
今日パッドを2個使った対戦プレイテストのために、友人Y氏宅にノートPCを持って行きました。
とりあえずパッド2個同時使用時の動作も問題無く、そのままテストプレイ兼ダメだしをしてもらう事に。
友人Y氏曰く、、、
「壁接触時のガリガリ音が不快」
「1Killするまでに時間がかかりすぎてストレス」
「相打ちの時、二人とも同じ位置にリスポンしたら問題」(これは仕様ミス)
と、色々意見を聞けたので、早速調整を入れようと思っています。

XNA情報:xna-studio.jp 更新

2008年02月10日
xna-studio.jpが更新されています。
「XNA Game Studio Japan 2008 Spring Contest」コンテスト発表会についてのお知らせのようです。
日時、開催場所、留意事項などが記載されています。
ページの最後に「参加する」というボタンがあるので、発表会への会場参加は事前登録制なのかもしれません。
参加しようと思われている方はしっかりチェックしておいてください。



XNA情報:ひにけにXNAブログ 更新

2008年02月10日
ひにけにXNAブログが更新されています。
ネットワーク その7 ビットフィールドで圧縮
ネットワーク その8 算術符号化圧縮
どちらも、データ圧縮アルゴリズムの紹介です。
世にリリースされているネットゲーム、とりわけFPSなどの対戦アクションゲームは、こういったビット単位の圧縮など、色んな圧縮アルゴリズムを用いているのかもしれませんね。凄まじいシビアな世界のような気がします。

XNA:XNA TANK 近況

2008年02月09日
久々の進捗報告です。
オプション画面の体裁を整えたついでに、タイトル画面もメニュー化して、ゲームのタイトル画面っぽさを上げました。

あと、ライフゲージを追加。当初はライフゲージ無しにして、機体の損傷表現で「大体の残りHP」を表現するつもりだったのですが、煙や火花などのエフェクトをゴージャスに作りこめなかったので、結局ライフゲージを新設して間に合わせました。

次いで、ステージマップを3つ用意して、ランダムに選択されるように製作。
ラストは、テストプレイ&デバッグ作業といった感じです。

今はソースコード中にあるゴミ(実験的に書いてコメント化してる部分など)を取り除いている最中で、明日友人宅に乗り込んでパッドを2個使った動作テスト&耐久テストを行う予定です。

翌日、投稿用に実行ファイルとリソースファイルをCD-Rに焼き込み、書類を書いて発送という段取りになっています。

個人レベルで作った作品でどこまで太刀打ちできるかわかりませんが、XNAで作った第一作目として堂々とリリースしたいと思います。

XNA情報:XNAデベロッパーセンター コンテンツ追加

2008年02月03日
XNAデベロッパーセンターに「XNA Game Studio で作るマインスイーパ」と題した新しいコンテンツが追加されています。
マインスイーパーの製作を通して、XNAプログラミングのトレーニングを行うのが目的のようです。

同時に、XNA Japan Team Blogでも、このコンテンツが紹介されています。

XNA情報:ひにけにXNAブログ 更新

2008年02月03日
我らの救世主「ひにけにXNA」ブログが更新されています。
今回は、「量子化で圧縮」というお題で、通信パケットのデータ圧縮についての情報が載っています。
バイト単位でデータを切り詰める、開発者の努力が伝わってきます。
昔iアプリで、10kb以内に収めるために色々と苦労した時を思い出しました(汁
 | HOME | 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。