isobe_yakiのブログ

ニコ生ゲーム開発者向けの記事を書きます

ニコ生ゲーム開発

Unityでニコ生ゲームを作ろう

今回は技術記事ですがフワフワした点も多いのでこの文体でいきます。 Unity in ニコ生ゲーム Motivation 成果 使い方 手順1 手順2 手順3 手順4 手順5 手順6 手順7 手順8 手順9 技術的な話 Unityが出力するファイル スクリプトのパターンマッチング 改変した…

【小ネタ】ニコ生ゲームでバイナリ通信

マルチゲームで画像データなどをやり取りするためにg.game.raiseEvent()でバイナリデータを送りたいことがある。それ自体は何も難しくなく、送信データに[42, 16, 120, ...]のようなArrayオブジェクトやUint8Arrayオブジェクトを含めればいいだけである。し…

WebAssembly(c++)でニコ生ゲームを作ろう その2

その1での予告通り今回はマルチプレイゲームでwasmを実行する方法についてまとめる。 サーバー向けビルド wasm読み込み まとめ サーバー向けビルド 以前の記事でも書いた通りマルチプレイモードのゲームではサーバー上でもゲームが1つ動いている。 このサー…

WebAssembly(c++)でニコ生ゲームを作ろう その1

WebAssemblyの仕組みや、利点などに関してはネットで検索してもらえばいくらでも出てくるのでこの記事ではスパっと端折らせていただく。一応リンクを1つ載せておくのでどういうものか掴んでおいて欲しい。 developer.mozilla.org 小難しい説明は全て飛ばして…

【超小ネタ】アカシックエンジンでSEをループ再生したい

アカシックエンジンで再生できるオーディオタイプには'music'と'sound'がある。それぞれの特徴は以下だ。 music ループ再生される musicは一度に一曲ずつしか再生できない BGM向け sound 単発再生 いくつでも同時に再生できる 効果音向け 今回作っているゲー…

3Dのニコ生ゲームを作ろう その3

前回まででWebGLを使い始めるところまで行った。 あとは普通にWebGLを駆使して作ってけばいいだけなので公式リファレンスや色々な解説サイトなどを参考に作ってください。で終わりなのだが、さすがにそれだけでは味気ないので自分が作って行く中で気づいた点…

akashic export改善

ニコ生ゲーをアップロードする際必ずakashic exportコマンドを実行するが、開発後半など異様に時間がかかるようになったことはないだろうか。 怖い部屋3Dを作っているときこまめにエクスポートと動作確認を繰り返していたら、あまりにエクスポートが遅すぎて…

3Dのニコ生ゲームを作ろう その2

前回は色々と下調べしてニコ生ゲームでWebGLを使ったゲームを作ろうというところまでやった。 今回はひとまずAkashicでWebGL描画をする最小サンプルを作っていこうと思う。ちなみにWebGLそのものの使い方自体は当ブログでは取り扱わない。それに関してはネッ…

3Dのニコ生ゲームを作ろう その1

ニコ生ゲームで3Dができたら面白そうではないか?ということでパート1では3Dゲームを作るための技術についてまとめてみる。 技術を調べる 1.標準機能だけでやる Primitive Speed ~ 3Dドライビング ~というゲームが恐らくAkashicEngineのデフォの機能だけで…

Canvasを使ってニコ生ゲームを作ろう

キャンバスの詳細は以下から↓ developer.mozilla.org AkashicEngineでは内部でキャンバスを使っているが、何らかの目論見から隠蔽されており、実際にはかなり制限された描画命令しか使えないようになっている。 そういう厳しい制約の中で工夫してゲームを作…

ニコ生ゲーにフォントを埋め込んでお洒落にする

ビットマップフォント AkashicEngineにはBitmapFont | Akashic Engineというものがある。あらかじめ画像化したフォントとその画像のどのエリアがどの文字なのか対応付けたjsonをコンストラクタに渡すことで使えるようになる。 公式で配ってるビットマップフ…

任意のファイルを読み込めるようにする

AkashicEngineにはアセットをパッケージに含めるための仕組みとしてjsonフォーマットとコマンドラインツールが備わっている。 akashic-games.github.io 有効なファイルタイプとしてはscript,image,audio,textなどがある。エクスポートコマンドを実行するとga…

ニコ生ゲームに好きなDOM要素を乗っける

ニコ生ゲームは公式で紹介されている通り配信ページの映像部分にオーバーレイで表示される。DOMで言うと以下のような構造になってる。 <html> <body> <iframe> <!--ゲーム領域--> <div> <div> <!--タッチイベント用レイヤー--> <div> <canvas><!--描画内容--></canvas> </div> <</iframe></body></html>…

ニコ生ゲームの仕組み推察

この1年半くらいでニコ生ゲームの裏の仕組みが何となくつかめてきたので大体こうだろうという考察をまとめる。 まずランキング対応ゲーム。ゲーム自体はそれぞれ個人プレイで、制限時間終了時のスコアに応じてランキング画面が表示されるというもの。 ニコ生…