ニコ生ゲーム開発
今回は技術記事ですがフワフワした点も多いのでこの文体でいきます。 Unity in ニコ生ゲーム Motivation 成果 使い方 手順1 手順2 手順3 手順4 手順5 手順6 手順7 手順8 手順9 技術的な話 Unityが出力するファイル スクリプトのパターンマッチング 改変した…
マルチゲームで画像データなどをやり取りするためにg.game.raiseEvent()でバイナリデータを送りたいことがある。それ自体は何も難しくなく、送信データに[42, 16, 120, ...]のようなArrayオブジェクトやUint8Arrayオブジェクトを含めればいいだけである。し…
その1での予告通り今回はマルチプレイゲームでwasmを実行する方法についてまとめる。 サーバー向けビルド wasm読み込み まとめ サーバー向けビルド 以前の記事でも書いた通りマルチプレイモードのゲームではサーバー上でもゲームが1つ動いている。 このサー…
WebAssemblyの仕組みや、利点などに関してはネットで検索してもらえばいくらでも出てくるのでこの記事ではスパっと端折らせていただく。一応リンクを1つ載せておくのでどういうものか掴んでおいて欲しい。 developer.mozilla.org 小難しい説明は全て飛ばして…
アカシックエンジンで再生できるオーディオタイプには'music'と'sound'がある。それぞれの特徴は以下だ。 music ループ再生される musicは一度に一曲ずつしか再生できない BGM向け sound 単発再生 いくつでも同時に再生できる 効果音向け 今回作っているゲー…
前回まででWebGLを使い始めるところまで行った。 あとは普通にWebGLを駆使して作ってけばいいだけなので公式リファレンスや色々な解説サイトなどを参考に作ってください。で終わりなのだが、さすがにそれだけでは味気ないので自分が作って行く中で気づいた点…
ニコ生ゲーをアップロードする際必ずakashic exportコマンドを実行するが、開発後半など異様に時間がかかるようになったことはないだろうか。 怖い部屋3Dを作っているときこまめにエクスポートと動作確認を繰り返していたら、あまりにエクスポートが遅すぎて…
前回は色々と下調べしてニコ生ゲームでWebGLを使ったゲームを作ろうというところまでやった。 今回はひとまずAkashicでWebGL描画をする最小サンプルを作っていこうと思う。ちなみにWebGLそのものの使い方自体は当ブログでは取り扱わない。それに関してはネッ…
ニコ生ゲームで3Dができたら面白そうではないか?ということでパート1では3Dゲームを作るための技術についてまとめてみる。 技術を調べる 1.標準機能だけでやる Primitive Speed ~ 3Dドライビング ~というゲームが恐らくAkashicEngineのデフォの機能だけで…
キャンバスの詳細は以下から↓ developer.mozilla.org AkashicEngineでは内部でキャンバスを使っているが、何らかの目論見から隠蔽されており、実際にはかなり制限された描画命令しか使えないようになっている。 そういう厳しい制約の中で工夫してゲームを作…
ビットマップフォント AkashicEngineにはBitmapFont | Akashic Engineというものがある。あらかじめ画像化したフォントとその画像のどのエリアがどの文字なのか対応付けたjsonをコンストラクタに渡すことで使えるようになる。 公式で配ってるビットマップフ…
AkashicEngineにはアセットをパッケージに含めるための仕組みとしてjsonフォーマットとコマンドラインツールが備わっている。 akashic-games.github.io 有効なファイルタイプとしてはscript,image,audio,textなどがある。エクスポートコマンドを実行するとga…
ニコ生ゲームは公式で紹介されている通り配信ページの映像部分にオーバーレイで表示される。DOMで言うと以下のような構造になってる。 <html> <body> <iframe> <!--ゲーム領域--> <div> <div> <!--タッチイベント用レイヤー--> <div> <canvas><!--描画内容--></canvas> </div> <</iframe></body></html>…
この1年半くらいでニコ生ゲームの裏の仕組みが何となくつかめてきたので大体こうだろうという考察をまとめる。 まずランキング対応ゲーム。ゲーム自体はそれぞれ個人プレイで、制限時間終了時のスコアに応じてランキング画面が表示されるというもの。 ニコ生…