こびとスタジオ 佐川直樹
@nakfiv
同人ゲームサークルが単独で
コンソール機向けに
ゲームを出すコト
“今回のテーマ
「パブリッシャーを通さないで個人が
コンソール機向けにゲームを作って世の中に
出すことができる」という事を伝える
“注意!
本スライドは2017年5月28日に公開したものです。
以降、情報の更新がある場合がありますので
ご了承ください。
1.
こびとスタジオは
どういうサークルな
のか?
Circle Profile
And
Activity Policy
CircleProfileAndActivityPolicy
● 同人ゲーム制作サークル
○ 2000年から活動開始
○ 基本的に本業があった上での活動
○ 独立とかは目指したりはしない
● 最初は2次創作中心
● XNA登場以降コンソール機向け制作の活動にシフト
(それまではコミケ・コミティア参加中心)
○ Xbox360(XboxLIVE Indie Games)
○ PlayStationVita(PlayStation Mobile)
○ 【予定】XboxOne(XboxLIVE Creators Program)
CircleProfileAndActivityPolicy
● メンバー構成
○ @nakfiv
■ ゲームデザイン
■ プログラム
■ 音楽
■ 背景デザイン・モデリング
○ mot
■ キャラクターデザイン担当
■ 個人サークルAnticycleとしても活動
● http://comic-meteor.jp/jingai/
CircleProfileAndActivityPolicy
● 代表作
○ すくみゅ SQUARE MUSIC PUZZLE
■ PlayStationMobile(PlayStationVita)
CircleProfileAndActivityPolicy
● 代表作
○ ゆにれぞ UnisonantResonance
■ Universal Windows Platform
(Window10 / XboxOne【予定】)
2.
個人制作と
コンソール機
Handcraft
Game
Production
And
Console Game
HandcraftGameProductionAnd
ConsoleGame
● コンソール機向けに個人がゲームを作る為の敷居
○ 開発機材が高額
○ ゲームソフト製造のハードルの高さ
■ パブリッシャーを通す必要がある
● 個人向けの開発環境は存在するには存在している
○ ファミコン:ファミリーベーシック
○ SG1000:BASIC LEVELⅡ・LEVELⅢ
○ PCエンジン:でべろ(アセンブラ・BASIC)
○ サターン:GAME BASIC for SEGASATURN
○ ワンダースワン:ワンダーウィッチ
○ PS2:BASIC STUDIO・PS2 Linux
○ DS・3DS・WiiU:プチコンシリーズ
● ハック系もあるにはあるけど…
HandcraftGameProductionAnd
ConsoleGame
● XNAの登場によって大きな変化が生まれる
○ 市販ゲーム機本体(Xbox360)を利用した開発環境
○ 使用言語はC#(描画APIはXNA固有)
○ XboxLIVE Community Games
XboxLIVE Indie Games という形で
ユーザー主導型のゲーム配信サービスが開始
■ 配信審査はユーザー同士が行う
HandcraftGameProductionAnd
ConsoleGame
● PlayStationMobileの登場
○ 市販のゲーム機を開発環境として扱える
個人でも参加可能なゲーム制作・配信サービス
○ 使用言語はC#(後にUnityが対応)
○ 審査はプラットフォームホルダーが行う
○ 2015年7月にサービス終了
HandcraftGameProductionAnd
ConsoleGame
● 空白の時代へ
○ プラットフォーム事実上の寿命や
サービス終了によりコンソール機向けに
個人がゲームを出す道が無くなってしまいました
3.
UWPとXboxOne
Universal
Windows
Platform
And
XboxOne
UniversalWindowsPlatformAnd
XboxOne
ユニバーサルWindows プラットフォーム(UWP) とは、
Windows 10 用のアプリプラットフォームです。
API セット、アプリパッケージ、ストアをそれぞれ
1 つ使うだけで、すべてのWindows 10 デバイス
(PC、タブレット、電話、Xbox、HoloLens、Surface Hub など) で
利用可能なUWP 用アプリを開発できます。
https://docs.microsoft.com/ja-jp/windows/uwp/get-started/whats-a-uwp
より抜粋
UniversalWindowsPlatformAnd
XboxOne
● マイクロソフトが発表したコンセプトはわかったけど…
○ ゲーム作れるの?出せるの?
■ 作れるとしたら何かしらの制限とかあるの?
○ ID@Xboxとの関係性はどうなるの?
■ 最初はUWPだけゲームの場合はID@Xboxの
アカウントが必須。アプリは別審査で出せる
○ XboxLIVEの扱いはどうするの?
● 疑問は尽きることなく混沌とした状態
● この時点で市販のXboxOneを使って
開発モードに入ることは可能
UniversalWindowsPlatformAnd
XboxOne
現在のXboxOneのホーム画面
UniversalWindowsPlatformAnd
XboxOne
DevModeに入った様子
UniversalWindowsPlatformAnd
XboxOne
● XboxLIVE Creators Program発表
○ 2017年3月にGDCにて発表
○ UWPで作られたゲームをXboxLIVEに対応して
XboxOneにも配信可能
(使用できるXboxLIVEの機能はサブセット)
○ ID@Xboxとは異なるセルフパブリッシングサービス
(ID@Xboxは継続・維持される)
UniversalWindowsPlatformAnd
XboxOne
● XboxLIVE Indie Gamesとの違い
XBLIG Creators Program
マルチプレイ ○
(プレイヤーマッチのみ)
✕
リーダーボード ✕ ○
UniversalWindowsPlatformAnd
XboxOne
● ID@Xboxとの違い
UniversalWindowsPlatformAnd
XboxOne
● XboxLIVE Creators Programに対応しているゲームエンジン
○ Unity
■ SDK・サンプル実装が存在しているが
若干の問題あり
○ MonoGame
■ SDK・サンプル実装が存在していない可能性あり
■ MonoGameは他にも機能面で闇が多い
● 特にサウンド周りはかなりえげつない
○ Xenko
■ ドキュメントにはXboxLIVE関連の記載あり
○ Construct2
UniversalWindowsPlatformAnd
XboxOne
● Unityで具体的に作業する事
○ XboxLIVEサインイン処理の実装
■ 少なくともこれは実装しないと
いけない気がしています
■ XboxLIVEのアクセスをサンドボックスに設定して
デバッグ可能(Windows10単独で可能)
○ SDK・サンプルを利用すれば難しくはない
■ しかしそのままではいくつか問題点がある
● エラーハンドリング処理が甘い
● uGUIと深く結びついているので
切り離した利用ができない
■ なので改造したもの作ってgitに公開しました
https://github.com/nakfiv/XboxLiveConnect
UniversalWindowsPlatformAnd
XboxOne
● エラーハンドリング処理がどれくらい甘いかを訴える
SignInAsyncはコルーチンから呼び出される。
コルーチンの中で例外を投げても呼び出し元からは拾えない。
→エラーを判別する方法がなくなってしまっている
→つらい
UniversalWindowsPlatformAnd
XboxOne
● 気をつけなければいけないところ
○ 複数解像度への対応
■ 画面比率を16:9に固定してどの画面解像度でも
16:9になるようにしています
■ HUD周りについては仮想解像度を決めて
解像度に応じてスケールされるようにしています
○ 複数入力デバイスへの対応
■ マウス・キーボード(PC)
■ タッチパネル(タブレット・スマートフォン)
■ ゲームパッド(PC・XboxOne)
● これら全てに対応する必要がある
UniversalWindowsPlatformAnd
XboxOne
● 複数入力デバイスへの対応はこうしました
UniversalWindowsPlatformAnd
XboxOne
● 気をつけなければいけないところ(番外編)
○ UWP関連の情報が非常に少ない
■ SDKに関する不具合については特に情報が遅い
■ 何かあったら海外フォーラムの方を
頼りにしたほうがいい
(これに関してはStackOverflowもあてにならない)
■ 最悪自己解決能力が問われる事になる
UniversalWindowsPlatformAnd
XboxOne
● XAMLとD3D
○ UnityのBuild Settingにはこんな項目があります
UniversalWindowsPlatformAnd
XboxOne
● XAMLとD3D
○ XAML
■ UWPのFormが使える
■ マウスモードが使用可能
● しかしマウスモードを使用しない事が
推奨されている
■ Direct3Dのビューがフルスクリーンにならない
● 余白が必ず出来てしまう
(レイアウト設定を変更してもだめでした)
UniversalWindowsPlatformAnd
XboxOne
● XAMLとD3D
○ Direct3Dビューの余白問題
■ Unityに限った問題ではない
VisualStudio2015のテンプレートプロジェクト( XboxOneでの動作)
UniversalWindowsPlatformAnd
XboxOne
● XAMLとD3D
○ Direct3Dビューの余白問題
■ Unityに限った問題ではない
VisualStudio2015のテンプレートプロジェクト( Windows10での動作)
UniversalWindowsPlatformAnd
XboxOne
● XAMLとD3D
○ D3D
■ UWPのFormは使用不可
● MessageBoxも使えません
■ マウスモードが使用不可
● 元々非推奨だから、まぁいいや
■ フルスクリーンになる(余白ができない)
● ガイドラインとしてはテレビのセーフエリアを
考慮しなさいと記載されている
● しかし最近のゲームはセーフエリアを
無視しているゲームが多い気がしますが…
UniversalWindowsPlatformAnd
XboxOne
● テレビのセーフエリア
○ テレビはオーバースキャン方式が採用されている為
画面端は表示されるか保証されない。
(PCモニタはアンダースキャン方式)
○ SDブラウン管テレビの時代は
アクションセーフエリア:90%
タイトルセーフエリア:80%
● 参考
https://blogs.msdn.microsoft.com/ito/2008/11/21/1073/
UniversalWindowsPlatformAnd
XboxOne
● テレビのセーフエリア
○ ハイビジョン液晶テレビの時代は
情報範囲:93%
重要情報範囲(スーパー文字などの情報):90%
安全範囲(提供スーパー文字などの情報):80%
(電波産業界ARIBによる取り決め)
● 実際の所、ゲームだとこの辺を無視しているゲームは
今の時代だと結構ある
○ HUDとか見えない部分があるゲームが割とある。
その場合は「テレビ側の設定を変えてください」という
案内になっている事が多い(気がする)
UniversalWindowsPlatformAnd
XboxOne
● Creators ProgramとIL2CPP
○ Creators ProgramのSDKを適用した状態で
スクリプトバックエンドをIL2CPPに設定すると
Unityのビルド時にエラーが起きます
○ そんなような事をTwitterで書いていたら
とあるUnityTechnologiesの人から
こんなリプライが飛んできました
UniversalWindowsPlatformAnd
XboxOne
● いざ審査へ!
○ ある程度準備が揃ったので試しに
審査に出すことにしました。
UniversalWindowsPlatformAnd
XboxOne
● 「ストアに提出」ボタンが押せませんでした(´・ω・`)
UniversalWindowsPlatformAnd
XboxOne
● その後の経過についてはXboxOne向けの配信が
達成できたときに「こんしゅま部」という放送を通して
報告したいと思います
こんしゅま部:
Ustream上で放送していたラジオ番組。
「コンソール機向けにゲームを出す方法を探る」という番組
この人と一緒に放送やると思います。たぶん →
“ありがとうございました
質問などあればお気軽にどうぞ

同人ゲームサークルが単独でコンソール機向けにゲームを出すコト