ニコニコ生放送では、配信内でゲームを起動して、配信者と視聴者で一緒に遊ぶことができます。 これらの配信内で起動できるコンテンツを ニコ生ゲーム と呼びます。
Akashic Engine では、このニコ生ゲームを作成することができます。これには概ね次のステップが必要です。
また akashic-sandbox
や aksahic serve
コマンドは、ニコ生ゲームの開発に便利な機能を提供しています。
ニコ生ゲームを作成するには、まずコンテンツが対応する モード を決める必要があります。
モードは放送内での遊び方を決めるもので、以下の種類があります。
"ranking"
): 一人プレイのゲームを、放送者と各視聴者がそれぞれ遊び、スコアを競う"single"
): 一人プレイのゲームを放送者が遊び、視聴者はその様子を見る"multi_admission"
): 放送者と視聴者複数人で一つのゲームプレイで遊ぶモードを指定するには、game.json
に environment.nicolive.supportedModes
プロパティを加え、そのゲームが対応するモードを(配列で)全て列挙してください。ニコニコ生放送には、ここで列挙されたそれぞれのモードで起動できるように登録されます。
次の例は、ランキングモードに対応する game.json の記述例です。
{
"environment": {
"nicolive": {
"supportedModes": ["ranking"]
}
}
}
"ranking"
モードを指定する場合は、ゲーム内でスコアを設定する必要があります (後述) 。
それ以外のモードでは、そのような条件はありません。普通の Akashic Engine のコンテンツとしてシングルプレイ・マルチプレイのコンテンツを作るだけで投稿できます。
"multi_admission"
の代わりに"multi"
を指定することもできます。"multi"
は「起動時にニコ生がプレイヤー募集を行わない」点を除き"multi_admission"
と同じです。特に意図がなければ、募集を行う"multi_admission"
の利用をおすすめします。詳細は プレイヤーの募集 を参照してください。
以前は
environment.nicolive
ではなくenvironment.niconico
プロパティを利用していました。現在environment.niconico
は非推奨になっています。詳細は ニコ生ゲーム関連の仕様 を参照してください。
モードを決めたら、それに応じたコンテンツを作る必要があります。 選んだモードに関わらず、画面解像度と FPS には次の制約があります。
ニコニコ生放送内のゲームは放送画面に合うよう自動的に拡縮されます。放送画面上で縦横に余白なく表示できるよう、アスペクト比 16:9 を推奨します。公開されているいくつかのサンプルコンテンツ(泥棒バスターなど))は、640x360 で作成されています。
FPS は 30 または 60 を推奨します。低い方が負荷は低いので、演出上必要がなければ 30 にしておくと、より広い環境でストレスなく遊べる可能性があります。
解像度や FPS は、 akashic
コマンドでゲームを生成する時点で入力を求められるので、そこで指定することができます。
$ akashic init
(中略)
prompt: width: (320) 640
prompt: height: (320) 360
prom pt: fps: (30) 30
INFO: Done!
生成済みのゲームの場合は、 game.json
の width
, height
, fps
プロパティをそれぞれ編集してください。
{
"width": 640,
"height": 360,
"fps": 30,
"...": "(その他の値)"
}
この他のゲームで必要な対応や、開発ツールでの動作確認方法はモードによります。次の節で "ranking"
モードのゲームについて、その次では "multi_admission
" モードのゲームについて述べます。