isobe_yakiのブログ

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

パネワン振り返り

2021年の9月にアツマールで「パネワン・ロワイヤル」というゲームを公開しました。割と好評でアツマールでは多くの方に遊んでもらいました*1。また、たくさんの広告やギフト、コメント等もありがとうございました。itch.ioやニコ生ゲームではまだ遊べますので是非遊んでみてください。今回はアツマールの閉鎖を惜しみつつパネワン開発時のことなどを振り返ってみたいと思います。

isobeyaki.itch.io
itch.ioにシングルプレイのみですが公開中

誕生秘話

そもそも製作のきっかけはむじゅりんのニコ生放送でした。パネポンを自分で作ってみるという枠をやってたのを見てなんとなく自分もやってみようかなと思ったのが始まりです。

なんやかんやあってクローンゲーム自体は数日後に完成します。シングルプレイ&CPU対戦ができるHTML5ゲームです。対人プレイも作ってみたかったんですがサーバー立てるのとかよく分からなかったんで諦めていました。

See the Pen PanePon by z0ero (@z0ero) on CodePen.

CPU戦のデモ。パネワンの上級CPUはこの動きをしている

そして数か月後、またむじゅりん枠を見ていると今度はみんなでジグソーパズルというゲームを開発していました*2。ニコ生で視聴者も参加できるゲームだと言います。実はこの段階ではニコ生ゲームのことはほとんど知らなかったんですが、ここで初めてマルチプレイヤーのゲームを作って投稿できるらしいということを知りました。

これなら諦めてたパネポンマルチもできるかも?ということでさっそく開発環境を整えて初のニコ生ゲーム開発に取り掛かったのでした。

開発

公式サイトの分かりづらさに惑わされながらもなんとか作っていきます。細かい話も書きたいところですが正直もう覚えてないのであんま書くこと無いですね…。

言語

パネワンは全てjavascriptで作られています。ニコ生ゲームはTypeScriptでも作成可能で半分くらいの方はそちらを使っているんじゃないでしょうか?(もしかしてもっと・・・?)TypeScriptの方が型付き言語なので便利だと思います。自分もc++でニコ生ゲームを作るくらいには型がガチガチなのも好きなんですが、それは1万行オーバーのプロジェクトでの話で、パネワンくらいの書き殴りで逃げ切れる規模ならむしろ型ゆるゆるで書けた方が速いのでjsを選びました。それに加えてブラウザネイティブ言語かどうかというのも結構大きいかなとは思いますね。

ちなみにパネワンのソースコードはこんな感じです。

  • ai.js(172行)
  • common.js(421行)
  • effect.js(340行)
  • game.js(1126行)
  • main.js(907行)
  • menu.js(647行)

計6ファイル3613行

うん、jsの型システムで十分ですね。

参考までにニコニコ迷宮のc++ソースコードはこんな感じです。

ファイル数 行数
エンジン側 80 14091
ゲーム側 107 13173
187 27264

2万7000行ありました。こういうのが逃げ切れないってことですね。

描画

描画周りの処理はアカシックに乗せ換えるうえで結構大変だった記憶はあります。アカシックでは基本的に全て画像にしないといけないからです。元のゲームは画像0で全てCanvascssの図形描画などで作ってたのでこれ全部画像に変更するの面倒いなーと。このブログで度々出てくるCanvasのハックはそれを回避するために編み出されたと言っても過言じゃないですね笑

マルチ

そしてもちろんマルチプレイ周りの実装も大変です。アカシックエンジンのマルチの仕様はかなり独特なのでバグ取りが大変でした。その辺の技術的な話はまた別記事にてまとめたいと思います。

ゲームデザイン

パネワンは最大25人対戦が売りということになっていますが、この辺のゲームデザインテトリス99を参考にさせていただきました。確か当時流行ってたと思います(もうちょい前か?)。25という数字は画面の収まりの良さと処理負荷を考慮してなんとなく決めました。正直スマホじゃ動かないかなと思ってたけど案外動くもんなんですね(感心)。見た目的にもサイバー?な感じがテトリス99リスペクトです。パネポン原作といえば少女向け(というか幼年向け?)のような可愛らしい世界観が良いところなんですが、ゲーム自体はテトリスのように非常に競技性が高いと思うんですよね。なので、思い切って可愛さを捨てて無機質化させて、ストイックな感じを演出しました。

www.youtube.com
かわいい

www.youtube.com
かっこいい

パネワン

テトリス99では攻撃ターゲットを4種類くらいから選べるシステムがあり、アツマールでもそのシステムが欲しいという要望は来てたんですが、パネワンではそれは入れませんでした。一応操作が複雑になるのを避けるためという建前はあったんですが、やった方が良かったんですかねー。ちなみにRuたんさんの「パズトリ」ではバージョンアップで大人数プレイできるようになったんですが、テトリスっぽいターゲッティング機能が恐らく実装されてます。シンプルに落とし込んで実装できてるのほんとすごいですね~。

入力

あとは細かい話ですが、入力が苦し紛れな感じでした。元のHTML5ゲームは普通にキーボード操作で実装してたんですが、Akashicでは標準でキーボードが使えない上にスマホのタッチ操作にも対応しなくてはならない。幸いキーボード対応に関してはニコ生ゲームに前例があったのでやれないことはないことがわかります。タッチに関しては仮想十字キーなどで対応という方法もあったかも知れませんが、直感的に入れ替えたいパネルの隙間をタッチするという操作方法にしてみました。自分が手先器用じゃないんでこれ無理だなと思ったんですが、案外その操作の方が速くていいという人もいるようですげぇなと素直に関心してしまいました。この頃はスマホでニコ生ゲームを遊ぶ人が割と多いということを知らなかったので全部PCを想定して作ってました*3

その他

あとは設定画面・入室画面・リザルト画面などのUIとゲームフローを実装してついに完成します。(あんまり書くことないんでさらっと書きましたがかなりめんどかったです・・・)

結局リメイクにかかった期間は1.5か月くらいだったと思います。まぁリリース後もちょこちょこバージョンアップやバグ取りをしてたのでトータルでは2~3か月手をかけていたと言えると思います。また初タイトルということもあり最適化が不十分で一部の環境では結構重いらしいです。このことが後にWebAssemblyに手を出すきっかけにもなってますね。

ちなみにリザルトの時に表示されるトロフィー画像はGIMPで描きました。別に絵が上手いわけでもないのにたまーーに描きたい衝動に駆られてしまうんですよね。下手でも使っちゃう。作る情熱って案外そういうとこで湧いてくる気がする。

デッサンめちゃくちゃだけど色彩感覚は悪くないよね・・・?

公開

公開してからのことはぶっちゃけもうそんなに覚えてないです笑。バグ報告やフィードバックの対応を何度かしてたなーという感じですね。

反響

アツマールでのプレイ数の推移としては10月11月でどんどん落ち込んでいって「あ、終わった」って感じでしたが12月に何故か息を吹き返してたと思います。なんでですかね?

一方ニコ生でどれくらい遊ばれてたかは全然分かりません。そっちでのプレイ数は集計されないしニコ生ゲーム枠見ないしツイッター見回りもしてなかったんで反響とかはほとんど見れてませんでした。今になってツイッター見てみると当時結構パネワンのつぶやきあったんだなと分かりますが、ニコ生ゲームってユーザーの意見を開発者が汲み取りに行かないといけないのがなんだかなーとは思います。あまり開発者が重視されてなさそうです。

アイコン

アイコンは公開した年の12月に一度変更しています。

旧アイコン
新アイコン
最初のはすごい適当です。なんかタイトルとも違うこと書いてるし。公式ゲームが灰色一色なシンプルアイコンが多かったのでそれを参考にしたんですがそれにしてもひどいですね。二代目はとにかくキラキラしてて視認性のあるデザインにしたかったんですが、いい感じに盛れたんじゃないでしょうか?ただ、やっぱりデザイン下手くそだなーと思うのはどっちもゲーム本編のデザインと合ってないんですよね~笑。パッケージ詐欺なんて言葉もありますが、あまり内容を反映してないアイコンはよろしくないので皆さんは気をつけましょう(^-^;ほんとトータルでデザイン考えるの下手すぎる・・・。

アツマールのおわり

2023年の6月末、(どれくらいの歴史か知らないけど)アツマールの長い歴史に幕が下ろされました。それと共に約21か月に渡るパネワンの歴史も幕を閉じました(アツマールのみ)。もともとはただ自分で作ってqiitaでちょっと記事書いて終わりになるはずだったゲームがここまで日の目を見ることができたのはむじゅりんとニコニコと原作達のおかげです。ありがとう。

静かに幕を閉じた後、10日後くらいに冒頭にも貼ったitch.io版を公開しました。こちらは完全にソロプレイ用です。実はアツマールはマルチプレイに対応していたんですが、宣伝が悪いのか運営が全くそれを活かせてなくてマルチで遊んでる人は一度も見たことありませんでした。つまりアツマールでも実質ソロプレイゲーだったのでその点は問題なしですね!*4ただ、ランキング機能がなくなったのはちょっと痛いかもしれません。この辺もWeb知識とかがある人ならありものの無料サービスとか組み合わせてパパっと簡易なランキングとか作っちゃうんでしょうかね?

アツマールのゲーム達はいったいどこに行くんでしょうね。

終わりに

流石にかなり前の話だったので全体的におぼろげな内容になっちゃいました。この記事は何か思い出したら追記していくスタイルで行こうと思います。

*1:アツマール閉鎖時の最終プレイ数は84000+

*2:後の大人気タイトルですね

*3:スマホを重視してないのは今もですが

*4:そもそもアツマールマルチが空振りに終わったのが問題だろ!運営!