SIG-Indie4 Xbox360向けゲーム開発環境 XNAにまつわるインディーズゲームシーン

10/10 に行われた研究会のメモ兼レポ。


XNA Live インディーゲームで配信するという形態のせいか、作品自体よりもプラットフォームに対するノウハウや苦労話が多かった印象。
作品・制作者がメインだった過去3回のSIG-Indie とはかなり毛色が違っていた。


講演というより、半分くらいマイクロソフトへの意見上申会になってて非常に面白かった(笑
それ以外にも、ライターの罰帝氏による面白いインディーゲーム紹介コーナーも楽しかったし、イベント的には大満足。
あと米国の税手続き周りの話はかなりためになった。iPhone系サイトに書いてあるやり方は古いという情報も含めて。


MS社員の1時間近い宣伝タイムが相当つまらなかったのが俺的には唯一の不満。
でも会場にXNA開発者少なめみたいだし、あまり詳しくないけど知りに来た的な層には好評だったのかもしれない。

XNAとはなにか?XNAうれしいところ、うれしくないところ

  • Xbox360でゲームが作れるようになった。これは面白い!
  • みんなも何か作りたくなるよね!
  • 「いや、別にそんなでも・・・」←イマココ
  • XNA GSで作ったゲームを世界に配信できる
    • 開発者間でのピアレビューを経て公開
      • 新しい試みなので問題も多い
良いところ
  • 高い生産性
  • 洗練されたフレームワーク
  • 豊富なライブラリ
    • Vector, Matrix, Quatenion, Math
  • VS + C# + HLSL
  • 最新コンシューマ機での開発
  • Windowsと360の同時開発ができる
  • 高い生産性の例
  • DeskTopLive.xna(DTL.xna)に参加した
    • 「2時間半でゲームに作れ」『お前は何を言っているんだ?』
    • 俺VS東京工芸大学の学祭さん4人
    • 六本木で200人とペアプロ。酔っぱらいたちに「そこスペルミスじゃね?」と突っ込まれながら開発(笑
  • 2時間半で開発するために、オレライブラリの用意
  • GPUを直接叩くための、Direct Mapping
  • XNAは中身ほとんどfloatだが、標準の算術演算はdoubleなので、その辺の変換を意識しないためのライブラリMathUtil
  • Pythonで書かれた者をそのまま読み込む弾幕制御
  • ロールシャッハボス自動生成
    • 左右反転で適当な姿を生成して「これがボスです」と言えば大体納得してくれる
悪いところ
  • 敷居の高さ。-シェーダ、3Dなどの知識が必要
  • コンテンツパイプラインを通してリソースをとってこないといけない
  • 英語圏の技術である
    • もっとサンプルコードがあれば
    • ひにけにXNAのようなサイト、解説本を参考に
  • 暴れ馬アーキテクチャ
    • 案外パフォーマンスが出ない、という話をよく見る
    • CPUは非力、GPUは化け物
    • .NET Compact Frameworkの微妙なクセ、オーバーヘッド
    • ダイレクトマッピングを使って、CPUコールを減らして、極力シェーダに働かせる
  • Windowsとの同時開発、実行
  • Windowsでビルドして作っていき、360でリモートデバッグ
  • #ifdef地獄に陥ってしまう
    • ここは360用、ここはPC用などに分けなければならない
    • パフォーマンスを稼ぐための #if XBOX360
  • 対策
    • #if が必要な部分を俺ライブラリとして整備
    • ClickOnceなどの活用
  • 自分は現在、SilverLight化してブラウザゲーにできないかと考えている
  • SilverLightの性能
    • CPUが高速、GPUが使えない
    • 点のパーティクルは早い。秒間10万出しても余裕
    • XNAで標準の命令を叩くと、5000ほどしか出せない
  • SilverSpriteというものがあるが、重い
  • そびえたつピアレビューの壁
    • 突破のための各種条件が厳しい
    • マチュアなのにここまでやらんとダメ?
    • フリーゲーム配布不可。何度も文句を言っているのだが・・・
  • まとめ
    • XNAは困ったちゃんだけど面白いヤツ
    • ユーザー視点でも、360でユニークなゲームが遊べるようになるメリットがある
    • ピアレビューなどの困った仕組み

マイクロソフトXNAご説明します

  • 学生の作ったゲームをゲームショウで展示
    • どこの専門学校でも、1年目にC++アセンブラ、2年目にDirectX、という流れが普通
    • そんな中で、講師に勧められてXNAを頑張って独習している学生が中心?
  • XNAの歴史。割愛
  • 一般の方が作成し、XboxLiveマーケットプレースを通じて販売される、Xbox360専用ゲーム
  • 575本のゲームが配信。日本では402本が配信されている。日本製のものは32本
  • 販売価格。
    • 400pts:約570円
    • 240pts 約340円
    • 80pts:約115円
  • 学校のXNAへの取り組み事例。割愛
  • 制作のコツ等に関しては、徳留氏「私の考えであってMS公式の発言ではない」ということだったのでオフレコと判断

ピアレビュー攻略のための開発のコツと特有の課題

  • インディーズゲーム配信までの流れ
  • 「ピアレビュー」が特徴的
    • リエーター同士により、配布して良いゲームかレビューするシステム
    • レビューは、ゲームのおもしろさとは無関係
    • 承認されれば、約48時間以内にマーケットプレースに配信
    • 承認されなければ差し戻し。差し戻されたら、1週間後以降に再提出
  • Gameクラスに基本動作がある
    • 画面の更新やフレームレート管理はおまかせ可能
    • Game派生クラスにゲームを実装する
    • Drawメソッド:描画を実装
    • Updateメソッド:ゲームロジックを実装
  • コンテントパイプラインがある
  • DirectX9(Shader Model 3.0)
  • ガベージコレクション
  • 大量のオブジェクトを扱う際には、オブジェクトプールを作っておくべき
    • GCの有無に関係無く、オブジェクトプールは有効
  • 通信機能
  • XBox Live 用の高水準な通信クラスがある
    • 遅延、パケットロス対策、セッションなど高水準なクラス
    • Xna.Framework.Net 名前空間の機能
  • 比較的アプリケーションの実装は容易になる
    • MOはできる
    • サーバーのストレージがないので、ランキングなどの実装にはひねりが必要
  • 翻訳
    • 海外ユーザーが多いので、より多くのユーザーに遊んで貰うためには遊べるレベルの翻訳を加えると良い
ピアレビューで差し戻しを受けないための注意点
  • ピアレビューをスムーズに通過するためには、以下のようなコツを設計段階で取り入れる
  • 入力インターフェイス
  • パッド(Xbox360コントローラー)への対応
  • パッドは4つまで繋げられる。どのパッドでもゲームを開始でき、そのパッドでプレイを継続できること
  • 「キーボード専用」などにしないこと
  • セーフエリア
  • PCモニタはアンダースキャン方式
  • テレビはオーバースキャン方式
    • Xbox 360で遊ぶとき、テレビ画面の端は見えない場合がある
    • 体力ゲージなどの必要な情報が切れてしまわないようにする
  • 表現の基準
    • 規定(禁止コンテンツ)は全地域共通のもの
    • 各地域に同一タイトルを配信する場合、全ての地域で許容されるように
    • ピアレビューに突然の初投入を避ける。
    • 計画的にプレイテストへ投入し、ピアレビューで起きる問題をあらかじめチェック
Xbox LIVE インディーズゲームの課題
  • 日本国内のレビュアーが不足。スムーズなピアレビュー行程のために、ピアレビュアーの数の確保が必要
    • XBLIGに挑戦するクリエーターが増える事
    • 多くの人がレビュアーになって続けられる環境をつくる
  • レビュー基準の安定性
    • その時活動してるレビュアーによってばらつきがある
  • 基準はフォーラムで議論され、ある程度まとめられている
  • 課題
    • 基準の周知方法。公認まとめ場所、まとめ翻訳版があったほうがよい
    • 新参者や復帰者がすぐに受容できるようにするには?
    • どの程度厳格で、どの程度緩やかであればよいか
  • ゲーム以外のコンテンツは可能か?
    • ピアレビューが通るものであれば可能
    • どこまでがXBLIGの枠組みで許容されるか?
    • ただの動画はNG。イラスト集、マンガ、オリジナル曲はどうなのか?
    • 「広がる可能性を探りたい」しかし「かけ離れたコンテンツをレビュアーがレビューするのもおかしい」

同人サークルが見たXBox LIVE インディーズゲームの実情

税金に関するあれこれ
  • XBoxLiveインディーズゲームは、アメリカからの支払いになるために税金に関する手続きがある
  • ITIN かEIN のどちらかを取得
  • ITIN は米国大使館に出向く必要があるなど手間が多いのでEINを選択したほうがいい
    • 本来は個人なのでITINを選択すべきであるが、iPhone, AndroidでもEINを選択するのが普通らしい
  • ネット上にあるiPhone AppStore に関する情報は、ルールが変わる前の情報なので情報が古い
  • トラブルが起きたときはIRSに電話で直接問い合わせる必要がある。もちろん英語
  • 事例
  • SS-4を記入してFAXで送信
  • 番号取得手続きが終わってからFAXが送られてくると思ったら来なかった
  • 4週間経過した時点で何らかのトラブルが起きていると判断、EIN取得のサポートを行っている税理士事務所へ相談
  • 状況を説明して取得に関して事を進めていた途中で、IRSよりEIN取得の通知(通知到着まで6週間)
  • 税理士事務所と相談した中で書類に間違いがあったことがわかり、念のためということで修正依頼を発送
  • 結果として納税者番号を取得するのに最適な方法は?
  • 英語がしゃべれる場合、自分自身で取得手続きを行っても大丈夫
    • トラブルが起きてもIRSへ問い合わせればいい
  • 英語がしゃべれない場合(ちょっとでも自信がない場合を含む)
    • EIN取得サポートを行っている税理士事務所へ依頼しましょう
    • 多少お金はかかりますが、自分自身で手続きするよりも早く取得できる場合があります
  • いずれにしても、この手続きはかなり重要な手続きであるため、出来るだけリスクを避けて確実な方法をとるべき
表現に関するあれこれ
  • ふざけてもみ合っているうちに女の子を押し倒す形で倒れてしまった、というビジュアル
    • これにヨーロッパ方面からXBoxLive のサポートへクレームが来て、ビジュアルを修正することに
  • そもそもなぜこの表現で行くことにしたのか。
  • シナリオを受け取った段階で少なくとも、セクシャルのレーティングは最大になると判断
  • ならばビジュアル面でもXBLAのスレスレ上限を行こうということに
  • このビジュアルで決定稿とする判断材料として、Xbox360向けに発売している市販ソフトを参考
  • 結果的に国内では大丈夫だったけど、海外から苦情が来てXBLIGとしてはボーダーを越える結果に
  • こういった表現手法は、マンガなどでも良く見られる定番の表現である
  • この問題の根本にあるのは文化の違いで、文化の違いを吸収することは事実上不可能に近い
    • このあたりは海外ローカライズ作品の日本での売れ行きから実数にもでている
  • そうなると国別のローカルルールは最低限必要
  • XBLIGは全世界共通のルールが適用されるため、暴力表現では逆に日本側から禁止をつきつけることも可能
  • ある国でアウトだったから全世界的にアウト、といったふうに連鎖的にピアレビュー時に過剰な判断をされる可能性がある
  • 最終的には全体的に表現の幅が狭くなる危惧もある
  • これについてはMSが「みなさんで議論して下さい」と投げっぱなしなため判断基準が曖昧。アマチュア層独自の判断が難しい
  • 参考資料としてCEROの資料などは広く公開されるべきでは?

ゲームジャーナリストから見た、XBLIG 注目作品ピックアップ

  • 罰帝氏、k-two氏の講演
  • 家に居ながら、世界の同人ソフトを即ダウンロードしてすぐ遊べる。これは楽しい!
  • LiveArcadeの良いシステムを継承
  • 体験版があるから、買ってから公開することがほぼない。
    • 色々な作品を遊びまくり!
  • このおもしろさを紹介したかったのだが、一般の雑誌では紹介するのが困難
  • Xbox LiveArcade 専門同人誌に、XNAインディーズゲームを紹介する記事を執筆
    • 箱入りアーケード娘
    • 当時はまだ日本ではXBLIGは始まっていなかったので、北米版Xbox360で・・・
    • そんなワケで、日本未配信の作品から注目作品を紹介した
日本未配信の注目作品
  • FirePlace
    • 画面にただ暖炉が出て、パチパチ音が出て燃えてるだけ
    • これが許されるのか(笑
    • こんなフリーダムなゲームが許されることが面白くて色々落としてみた
  • ORGANON
    • 一番面白かったと自分がプッシュできる作品
    • スターラスターなどに近い操作感
    • でも、日本未配信。なんとかして頂きたい次第です
  • Monaco 360
    • SegaモナコGPのほぼまんま
    • これがピアレビュー通ったのか(笑
  • STREAM LINE
    • レースゲーム
    • 任天堂のdot stream とグラフィック以外ほぼ一緒
  • 日本未作品で遊ぶためのポイント
    • 北米タグ
      • 日本側サービスイン前にダウンロードしていた日本未発売のゲームがある場合、更新のチェックに時間がかかる
      • サービスイン後の更新版が別の作品として扱われているらしい?
      • 改善策:古いバージョンを消して更新版に置き換えたら直りました
日本でサービスインしてからの注目作品
  • BitStream
    • これも任天堂のdot stream とグラフィック以外ほぼ一緒
  • PENTMINON
    • ありがちなテトリスっぽい落ちゲーな見た目だが、ルールは新感覚
    • どことも隣接していない、孤立したブロックをつくることで得点が上昇する
    • テノリオンという楽器のシステムを模した形となっており、ブロックが積まれる度に音が鳴る
  • MADRISM
    • 間取り図の部屋の枠と、ドアとトイレとキッチンしか出てこない
    • 部屋にトイレとキッチンが入れば、その部屋は消える
    • ビフォーでアフターなアレっぽい音楽が流れる(笑
  • PIXEL MAN
    • あまりにレトロすぎるジャンプアクション
  • かいてんパティシエ!
    • ゲームルール的にはキャメルトラ(ry
    • まんま模倣ではなく、パズル的要素も加えられている
    • 独自の調整が光る新しいアクション
  • ダウンタウン激凸ドッヂボール
    • 元あの会社のスタッフの方々が作っている
    • 手応えは良い意味で「昔のまま」
    • 「熱血」とか「くにお」とか言えない苦しさが良く分かる(笑
今後のXBLIGへの期待と要望
  • 最新の時期を越えたとたんにダッシュボードに表示されなくなり、見つけづらくなる
    • 一応、XNA Creators Club で見ることは出来るが、一般プレイヤーはこのページを見ることができない
    • そもそもXBOX360本体からこのページが見れない
  • 国毎に「ジャンル」の扱いが違う
    • 例えば「シューティング」ジャンルにジャンプアクションがあったり
    • 夏はシューティング特集!と言うのでワクワクして見に行ったらFPS特集でがっかりした
  • ゲーマースコアは無くていいので、実績システムに対応して欲しい
  • 体験版から完全版以外の作者への還元手段が欲しい
    • オリジナルのアイコンやテーマがあってもいい
  • 「8分制限」以外の体験版システムを用意して欲しい
    • 8分が長いか短いかは、作品のジャンルによる
    • 8分で遊びきってしまうようなゲームもあった
  • 本体は無料で、追加BGMや追加スキンが有料なサービスなども用意して欲しい

ディスカッション

ディスカッションというか、MSへの要望大会になっていた(笑
あまりに白熱して、2つのテーマだけで1時間が終わってしまった

ピアレビューについて
  • レビュー基準の不安定さ
    • 日本国内配信限定のローカルルール
    • 発表の場としてのローエンドルール
    • 利益を生むためのハイエンドルール
  • ピアレビュアーの質の問題
    • 初期バージョンで存在していたバグを潰したアップデート版を公開後、そのバグが報告された
    • どうやらその人は古いバージョンでレビューしてたらしい
  • レビュアー人数の少なさの問題
  • レビュアーが抑えるべき情報が分散しすぎている
    • ある情報はフォーラムの○○にある。別の情報は××にある
    • 海外ですでに基準とされているルールなどもある。
      • 最近だと動画配信サービスをしちゃダメ、など
  • 差し戻しの1週間というペナルティが、開発者のモチベーションを下げている
    • 1週間後に出して、次の差し戻しでまた1週間
    • しかもそれがレビュアー個人の主観だったりする
    • そうこうしているウチに半年のライセンスが切れてしまったり
  • 公式のルールなのかそうじゃないのかが信用できない
    • フォーラムでは差し戻し理由としてFAQがあげられるが、そのFAQを誰が更新しているかわからない
    • 最近の例では、日本語と英語の文字が両方混ざっているのはダメ、英語対応なのに英語の説明が無い(日本語のみ)のはダメ、という情報が出たばかりだがこれも信用できない
  • 1週間の縛りというのは、なんのために設けられているのか?
    • ヨーロッパにサービスインしたころは、このペナルティは無かった
    • その頃は、朝出して、夜出し直すというケースも良くあった
    • しかも「直して出したって言っときながら、直ってないじゃないか」という現象が多発し、レビュアー側が音を上げてしまった
  • 説明文とバグは性質が違うのに、一律1週間の固定値なのが問題なのではないか
    • 種類によってこの時間は分けるべきでは?
  • Web上に上がっているFAQは、1ページに全て載っているひどい状態
    • しかもその中にクリティカルな要件がちらほら
    • 「この項目はやっぱりチェックしないでください」という項目すらあってかなり混沌としている
    • もう少し細分化して整理してもらえないか
  • MS「FAQは修正します。いつとは言えませんが」
    • 「判断基準に関しては、もう少しインディーズゲームに時間をかけていかないと明確な答えが出てこないと思う」
    • 「プレイテストも有効に扱って欲しい。プレイテストで、ピアレビューを目指したものだと明記すると、レビュアーがそれを意識してテストしてくれる」
ゲームの価格設定について

日本でサービスが始まる前の価格設定と、現状の価格設定について

  • 価格設定のバリエーション
    • どういう基準で価格を決定している?
    • なぜ80pts, 240pts, 400pts なのか
  • 手持ちのポイント的に端数を出したくないから嫌だ!という人も居る
  • 遊ぶ側から見て高い!と言われるが、作り手側と遊ぶ側の意識が離れている
  • 最大価格は、使われなくても必要。最大価格というほどの作品ではないので、最大の一つ下の価格にした事例があった
  • 適正価格に関しては、毎回すごく議論となる
  • 価格については、LiveArcade の1ランク下を想定している
  • マイクロソフトポイントのレートを決められたのが、1ドル120円だったころのはず
    • このせいで、本来7割の取り分が、現在のレート換算だと5割になってしまう。これは開発者のモチベーションを非常に下げるだろう