(自称)プログラマーからみたナナシスのすごさ

公開日:2022/03/13 11:08
最終更新日:2022/03/14 05:53

 こんにちは!すずともです。
 コロナは大変ですねぇ。早く収まって欲しい…

 ということで、今回は「(自称)プログラマーからみたナナシス」という題で書いてみようと思います。
※(自称)と付けたのは、プログラマーとして仕事したわけでもないし、無知な部分もあると思うからです。間違いあったらコメントで教えて下さい(o^―^o)
※あと、比較できるのは僕のやってるゲームだけなのでご了承ください(つまり、ナナシス、ガルパ、CUE!)。あとガルパ→ナナシス勢なのもお忘れなく。(だから比べたがる)

1.ナナシスはUnity

 ナナシスは、「Unity」と呼ばれるゲームエンジンにて作られている(はずです)。他にもガルパなどもUnityで作られていて、ゲーム作成といえばUnityという感じです。(もちろん他にもありますが…)

 Unityで音ゲーを作るにあたって(特にスマホ向け)もう一つ重要なのが、「CRIWARE」と呼ばれるものです。こいつは何者かというと、音をスピーカーから出すときに使われるやつです。
 とはいえ、実はUnity自体にも音を出す機能はついていて簡単に音楽流したりできるのですが、実はそこには弱点が。
 その弱点とは、Androidスマホで音を出すときに遅延が発生するというもの。PCもiPhoneもOSが最適化されていたり、高スペックだったりするので、プログラムで「音出せ!」と命令してから実際にスピーカーから音が鳴るまでの遅延はほとんどありません。しかし、Androidの場合、さまざまな端末に対応するため、音を出すときにOSが邪魔となりすぐに音が出ません。機種によっても違いますが、300msぐらい遅延することもあります。
 音ゲーしている人はわかると思いますが、300msの遅延というのは致命的ですよね!タップ音を鳴らすのに300ms遅延があったら音ゲーどころではありません。ストレスたまりまくりです。
 という問題を解決してくれるのが、先述した「CRIWARE」。こいつは有能で、Androidで遅延が少なくなるだけでなく、音(特にSE)を制御するのに便利な機能がいっぱい!! まぁ、こいつについてはまた別の時にでも詳しく書こうかな。
 長くなりましたが、ナナシスでは「CRIWARE」も使われてます。(起動時にロゴ出てくるよね!)

 と、ここまで読んで「ナナシスすげぇ」と思った人はあんまりいないと思います。その通りです!
 UnityもCRIWAREもスマホ音ゲーを作るために必須!あのガルパにも同じのを使って作られているので、ここまでの話は、ナナシスは他の音ゲーと一緒なツールで作られているということでした。

2.ライブ画面

 それじゃぁ、ナナシスは他の(つまりガルパ)と比べて何がすごいの?ということですよね。
 ではここからは、ナナシスの凄さを綴っていこうと思います。まずはライブから。

 ライブ画面。つまり音ゲー部分。ズバリナナシスの優れている点はこちら!!

  • 軽い!!
  • レーンおかしい!?
  • ANOTHER譜面!?????????

a.軽い!!

 まずは、皆さんもわかりやすい動作の軽さから。
 僕がナナシスを始めて驚いたのが、MV付き??ということ。今はガルパもMV付きの楽曲が何曲かありますが、僕がナナシス始めたころにはもちろんガルパにはMVなどなく、「重そう」と思っていました。
 しかし、いざライブをやってみると、ぬるぬる動く!?動画後ろで流れてるのに??
 その後、ガルパでもMV機能が実装され(パクられた?w)ガルパでもMV付けてやってみました。まぁ普通にできるよね…と思ったけど、何曲かやってると端末が熱くなってくる。ナナシスではここまで熱くならんかったよなぁ。
 ということで、ガルパは重いと思っていた僕はこの件で「やっぱガルパ重いわぁ」と確信することとなりました。

 同じソフト(Unity)、同じ音声出力ツール(CRIWARE)を使って同じ機能(音ゲー+MV)を実装してるのに、なぜこんなにパフォーマンスに差が出るか。これはつまり、ナナシスのプログラマーは優秀!ということですね!!!

 はい。ナナシスすごいぞ!

 とはいえ、ガルパも重いわけじゃないのでiPhoneやハイスペック端末ではぬるぬる動きますよ!僕が使ってるのがちょっと雑魚なスマホなだけで。

b.レーンおかしい!?

 これは、分かる人にはわかるやつ。ナナシスのノーツが流れてくるレーンって曲がってますよね!これ実はすごいんです!わかります?

 いろんな音ゲーかじったことあるけどあんまりレーンが曲がってるの見たことない。というのも、作るの難しいから誰も作らないんだろうね。

 どこが難しいって?
 レーンがまっすぐだったら、平面上にレーンとノーツを置いてその平面上をまっすぐノーツを進めるだけ(つまりx,y,z座標のどれかを動かすだけ。)Unityは3D空間が使えるから、ガルパみたいに奥から手前に来るようにしたければ、カメラをレーンの斜め上に置くだけ。これで一般的なレーン音ゲーが完成します。プログラマーならわかるけど、割と簡単に実装できます。
 そのレーンが曲がってたら?どうやってノーツを3D空間に設置するの。えげつない計算を毎フレーム行ってるんだよね。凄くない?ガルパより計算量多いのにガルパより軽いんだよ?
  なぜレーンを曲げることができたのか。これはつまり、ナナシスのプログラマーは優秀!ということですね!!!

 はい。ナナシスすごいぞ!

 (実は、楕円の方程式とか使えば意外と簡単に実装できそうだったり。)

c.ANOTHER譜面!?????????

 はい。もうこれがすべて。皆さんANOTHER譜面って知ってますか?時々イベントで出てくる期間限定のふめんですね。僕が初めてこのANOTHER譜面をプレイしたとき。ナナシスやべぇとおもいました。
 ANOTHER譜面知らない人は下の動画でも見てください。(他人の動画です、使わせていただきましたm(__)m)

https://youtu.be/WCgozFmgUd8

 音ゲーで譜面の速さの変化してるのはよく見るけど、譜面戻ったり、急に出てきたりチュウニズム並みの譜面。
 これ、すごいよ!!!!細かいことは省くけど、これはゲーム作成当初からしっかりとプログラムの構成を練っておかないとできないやつ。普通にただ流れるだけのゲーム作ってたら、この譜面実装するのにプログラムほぼ全部書き換えないといけないし、おそらくそれまでに作った譜面データはパー。音ゲー部分リニューアルしたときにこんなことまで考えていたなんてねぇ。しかも、常時実装ではない機能なのにこの力の入れよう。僕がナナシスのプログラマーだったらANOTHER譜面は常時実装してほしいところですね。
  なぜANOTHER譜面を実装することができたのか。これはつまり、ナナシスのプログラマーは優秀!ということですね!!!

 はい。ナナシスすごいぞ!

3.その他のところ

 ここまで、ライブ画面についてナナシスの凄さを解説してきました。ナナシスの凄さは主にライブ画面ですが、もう一つだけ!ナナシスの他のゲームより優位な点を。

 それが、「リスト」

 リストとは、ゲーム内のいろんなとこにある縦スクロールできるいろんな項目の事ですね。つまり、エピソード選択画面のあれです。
 僕が思うに、ナナシスはこのリストの機能が軽いんですよ。皆さん。称号の画面を見て下さい。

image

 これは僕の画面ですね。現在(2020年4月16日)301個の称号が存在してます。

 どう凄いって?このリストをスクロールしてみてください。ぬるぬる動くでしょ?
 そう、ナナシスは、リストも軽いんですよ。

 いつも対比させて申し訳ないですが、ガルパのミッション画面。特にEXミッションのところ。そこ開くと、一瞬重くなるでしょ?まりなさんの動きががくがくw

 なぜリストが重くなるか。それは、「大量の画像を読み込むから」。称号画面だったら称号一個一個の画像。EXミッション画面だったらもらえるアイテムの画像。
 画面を開くときにその画像たちを読み込むので、画像読み込みに時間がかかって処理が長引くとその間プログラムは止まっちゃうので重くなるというわけです。
 一回全部画像読み込んじゃうと、あとはどっちもぬるぬる動きますね。
  なぜリストが軽いのか。これはつまり、ナナシスのプログラマーは優秀!ということですね!!!

 はい。ナナシスすごいぞ!

 実はCUE!でもリスト重かったり...(というか全体が重い。改善待ちですね。)

4.さいごに

 今回は、(自称)プログラマーからみたナナシスのすごさを語ってみました。
 プログラム勉強してると、いろんなゲームがどうやって作られてるんだろう...って気になるんですよね。とくにUnityとか触ってると。

 今回「(自称)プログラマーからみた」としたのは、他の部分はすでにいろんな人が語ってるからです。
 ナナシスはキャラもいいし、ストーリーも楽曲もすべていい!!茂木さん神!!
 今回は、こんな素晴らしいナナシスは、プログラマーも優秀だよ!ということを伝えたかったのでブログに上げました。文章書くの下手でいろいろぐちゃぐちゃでしたが、ここまで読んでくれた方ありがとうございましたm(__)m

 ナナシスの制作会社「Donuts」のブシロードとの共同アプリ「Groovy Mix」というのも体験版がDLできます。このアプリは起動から音ゲー始めるまでの時間がばか早いです!
 おそらくナナシスのプログラマー(というかDonutsの社員ですね)も制作に入ってると思うのでぜひ応援してあげてください!!