鍋あり谷あり

テーマを決めずに適当に書いています。

ゲーム制作6個目: 宇宙巡洋艦タイツ

宇宙巡洋艦タイツ バナー
宇宙巡洋艦タイツ バナー

フルスクラッチゲームクリエイター業、6個目。

ゲーム自体は
https://nabetani.sakura.ne.jp/game24d/
で公開した。

そういえばシューティングゲームFPS とかじゃなくて、インベーダーゲームゼビウスの系譜の 2D ゲーム)作ってないなと思って。

見覚えのないゲームを作りたい、UI をシンプルにしたい という2つの要請を考えたら今の仕様になった。

舞台は宇宙。宇宙なので摩擦がない。
回転が速くなりすぎたら常識的には中の人が死ぬのでそういう理由でゲームオーバーという仕組みも入れようかと思ってたんだけど、考える要素を減らすために採用しなかった。きっと我々の知らない謎技術によって G を軽減しているんだろう。

主砲の反動で動くということは、めちゃくちゃすごい主砲が出るということ。宇宙にいて、めちゃくちゃすごい主砲が出るといえば、宇宙戦艦ヤマトということで、ロゴはだいぶ宇宙戦艦ヤマトを意識して作ってみた。

「宇宙戦艦タイツ」という名前にしようかとも思ったんだけど、最近は「戦艦」というカテゴリの船自体が存在しないということもあって今も運用されているらしい「巡洋艦」としてみた。とはいえ、私にはその差はわかっていない。

ということで 宇宙戦艦ヤマト のロゴを大いに参考にしながらロゴを作ったら、わりとそれらしくなった。宇宙戦艦ヤマトとの共通部分は「宇宙」と「艦」だけなので問題ないと思う。

宇宙らしさを出すために星が複数の層になっている無限スクロールとしてみた。美しいと思っているんだけど、思い通りの操作ができないしぐるぐる回りがちということと合わせてわりと 3D 酔いの原因になっている気もする。

あと。

最初雑に描いていたら firefox でやけに重いという事に気がついて手を入れた。リアルタイムにラスタデータの見栄えを変更したのが良くなかったんだと思うけどよくおぼえてない。

前回の 合成タイツでブラウザなどの環境によって時間がぜんぜん違うという問題が発覚したので、今回はそこどうしようかとおもったんだけど

  • 重そうだったら、多重スクロールをやめる
  • 制御周期は、基本実時間(上限あり)

という対応にしてみた。非力な端末ではあまり試していないのでどうなのかよくわからない。
あと、端末が非力だと音を出すと辛くなる。という事に気づき、注意書きをいれることにした。

毎回苦しむ BGM。
今回は前回ほど苦しまなかったんだけど、それが原因なのか、なんとなく似た雰囲気になってしまった気がする。
本当はもっと重苦しい音楽にしたかったんだけど、重苦しい音楽は作れなかった。

今回の新機軸は、SUZURI にお店を出したという点。
グッズが欲しい人がいるような気は全然しないんだけど、お店がある事自体が面白いという気分で店を出した。
せっかくなので合成タイツなんかの商品も置いたんだけど、合成タイツ自体には手を入れてないので気づく人はあまりいないと思う。












さぁ次は何を作ろうかな。

ゲーム制作 5個目: 合成タイツ

フルスクラッチゲームクリエイター業、5個目。

ゲーム自体は
https://nabetani.sakura.ne.jp/game24c/
で公開した。

タイルマップゲームはまたもや先送り。
今回は離散的なゲームを作りたい、という気持ちで作った。

スバラシティーが好きなんだけど、スバラシティー は一回始めると何時間もかかるから困るなぁと思っていて。
そんなに長持ちしないでゲームオーバーになるゲームにしたいと思った。

で、例によって Phaser3 で書いた。

ずっと MacPook Pro 上で動かしていたんだけど、最後に Kindle Fire HD で動かしてみたらめちゃくちゃ重かった。富豪的に過ぎたらしい。

まぁこんだけ半透明とアンチエイリアス使っていればそうなるよね、と思わなくないけど、最近のブラウザならこれぐらいたいしたことないだろうと思いこんでいた。
非力なスマホの方には申し訳ないけど、マシンパワーまで気が回らなかった。iPhone でもちょっと重い感じがする。
非力だと時間がゆっくり流れるのでちょっと簡単になる。あとで治すかも(治さないかも)。

例によって BGM は難産だった。作曲に関する本を読んで参考になるなと思ったりはしたものの、やはり難しい。
難しかったけど、それらしさは以前より高まっている気がする。
作曲するようになってから、そういう気持ちで JPOP を聞くと手数の多さに驚く。

ゲーム自体は、今までのゲームの中で「普通のゲーム」という雰囲気が強いと思う。
前回の「タイツを探せ」みたいな見覚えのないルールでもないし、その前の Dragon Tights みたいな見覚えのない UI でもない。
マス目をタップしたらコマが動く、なんていうのはたぶん見たことあるよね。動き方は若干独特だけど、若干でしか無いと思う。

最初、現れるタイツをランダムにしたら割とつらくて。
その後、合成しやすいように(でも即座には合成されないように)という恣意的な計算をしたらゲームとして楽しくなったと思う。

あと。
前回リリースが 3/1 までしか問題がないので 3/1 ぐらいにリリースしたいというのがあって、ちょっと追い立てられる気分があった。

さぁ次は何を作ろうかな。

ゲーム制作 4個目

フルスクラッチゲームクリエイター業、4個目。

ゲーム自体は
https://nabetani.sakura.ne.jp/game24b/
で公開した。

もともとタイルマップを使った普通のゲームを作るつもりだったんだけど、日本語の文章からタイツを探す、というアイディアが思いついてしまったのでそっちに行くことにした。

ということで、まずは「タイツ」を含む文章を探す必要がある。改変しても法律的に問題ないものということで青空文庫から探そうと思ったけど、漢字かな交じりの文章から「たいつ」を探すのは割と難しい。

形態素解析 をすればいいんだと思い、形態素解析といえば mecab。と思ったけど、それは 10年ぐらい前。
現在はどうなっているのか調べた結果、
GiNZA - Japanese NLP Library | Universal Dependenciesに基づくオープンソース日本語NLPライブラリ
にたどり着いた。

このツールを使って探してみると、たいつは全然ないわけでもないけどよくあるってほどでもない。
なんにせよ、何個か見つかった。

今回の新機軸で、Wordle を真似て毎日違う出題をする、という仕組みを入れた。
サーバサイドはなにもないので、ブラウザの localStorage に保存することにした。

BGM は、一行一行出るタイミングに合わせてだそうということで、一行出すたびに再生としてみた。

再生する端末によっては行が表示されるタイミングと音が出るタイミングがズレたりするんだけど、試した範囲内ではズレ方が一定なのでリズムは乱れてない感じにはなった。

今まで通り、音も画像も自作した。出題する文章の一部は青空文庫からの引用だけど。

タイトルページの文字は、
Kaisei Decol - Google Fonts
で書いたものを手書きでなぞった。こういうのって権利的にどうなんだろうと思ったりもする。

依然として Phaser3 で書いているんだけど、なんかわかってなかったなと思う場所がたくさんあった。まあまだわかっていないわけだけれども。

さぁ次は何を作ろうかな。

Dragon Tights 制作ノート

ゲーム三個目をリリースした。

前回同様

  • 音源画像全て自力で作る
  • ウェブゲームらしさ

を必須として作成した。

そして前回同様「設計をもうちょっとちゃんとする」と思いながらつくりつつ、あんまりそうはならなかった感じ。
私の気持ちと Phaser3 の気持ちが合ってないということでもある。次は別のフレームワークを試してみるのも悪くないかも。

さらに前回同様、BGM は難産だった。
今回作ってみて思ったんだけど、曲の雰囲気が同じ感じ。もうちょっと雰囲気の違う曲を作れるようになるには勉強が必要かな。

今回の新機軸(?)としては

  • クリックした場所によって起こることが違う
  • 「クリア」という「クリアできずに終了」という概念がある
  • スクロールっぽいことが起こる

の3点かな。

あと、HTML の title をちゃんと設定したのも新機軸(?)。

スクロールといってもそんなに長くないので、スクロール範囲を埋め尽くす、縦4300ピクセルの画像を適当に動かす、という作戦にしたら。なぜかアンドロイドでは表示できないという思いがけない事態に遭遇した。びっくりした。
分割するという対応で解決したけど、そういうもん? と思った。

やりたかったけどやらなかったのは、日替わりステージ。ステージの自動生成ロジックがめんどくさくてやめた。
また別の機会に。

全体的には、ちょっと時間を書けすぎた感じ。
もっと雑に作って、こんなもんでいいでしょ、とか言いながら雑にリリースしたい。

作ったゲームは
https://nabetani.sakura.ne.jp/game24a/
に置いている。

年明けの挫折からの新たなスタート

あけましておめでとうございます。

という投稿をする前に、ゲームの制作ノートを出す予定だったんだけど、昨年中に完成しなかった。

昨年は、ここに 8個ぐらい記事を書いた模様。

最近にしては多い方、昔はもっと多かったけど。

年明けの今日は

  • wordle 久々の敗北
  • お屠蘇用に適当に買った日本酒が、飲むための酒ではなかった(酒屋で普通に並んでいたので気づかなかったよ)
  • 某イベントに足を運んだが、1/1 は休みで無駄足だった
  • やや二日酔い

と、わりといまいちな日。一年の計は元旦に無いことを祈ろう。

まあ、私のいまいちなんて、地震の被害にあわれている方々に比べれば誤差程度だけれども。

あと「AIタイトルアシスト」という機能ができたらしいので使ってみたが、初回は字数が足りないと言われ、二回目はなんか失敗と言われた。
三回目はようやく結果が出て

  • 年明けの挫折からの新たなスタート
  • 日本酒の誤算といまいちな日々
  • AIタイトルアシストの挑戦と失敗

となった。「日々」じゃないよなぁということで最初のを採用した。

ゲーム第二弾

先月に続いて、タイツゲームを出した。

今回の目標は、前回と同じく

を前提としつつ

  • 設計もうちょっとちゃんとする。

としたいと思った。

前回は最初からスマホターゲットのつもりで作ったのに画面が中途半端な横長という詰めの甘さだった。
ので。
今回は反省を活かして縦長にした。
どれぐらいにするのがいいのかよくわからないのだけれど。

ゲームの規模は前回よりだいぶ大きくなった。
前回は、動いているものはタイツ、自分、パワーゲージ ぐらい。
今回は、魚たくさん、タイツたくさん、波、そして自分なので数十個。

でも、今どきのブラウザなら軽く動く。ありがたい。
……とおもっているんだけど、どうだろう。手元では動いている。

今回も BGM も含めてすべて自作。
そして今回も BGM が難産だった。
あと、ゲームクリア音も難産だった。出来上がったゲームクリア音は非常に簡単だけど、ここに至るまでが大変だった。
音は難しいね。

出来たゲームは
https://nabetani.sakura.ne.jp/game2311/
においている。

ゲームを作るのは良い趣味だと思えてきたので、毎月またはそれより少ないぐらいのペースでリリースしていきたい。

フルスタックゲームクリエイター

タイッツーというサービスを使っていたら、ブラウザゲームの小品が流れてきて。
見ていたら作りたくなったので作った。

フレームワークはしょぼいゲームに向いていそうな phaser3 を選んだ。
言語は TypeScript。

今回の目標は

の 2点。
面白さは、まあまあで良いという気持ち。初ブラウザゲームなので無理しない。

ソフトウェア面では。

途中で設計ミスったなと思ったけど、まあこのまま最後まで行けないほどのミスじゃないと思って突き進んだ。
次はもうちょっときれいに書けると思う。

画像は。

Pixelmater Pro で書いた。色がブレるペンが便利だった。
ポインティングデバイスMacBook Proトラックパッド。書きにくかったけど、要求品質が低いので問題なかった。

効果音は。

ガレージバンドで作った。
音色を探すのが大変だった。

BGMも。

ガレージバンドで作った。
作ったんだけど、難航した。

曲の作り方がわからない。
ループ音源を組み合わせるだけでそれらしい音にはなるんだけど、それは曲を作ったと言えるのか。みたいなことも思う。
ガレージバンド以外も試したけど、結局ガレージバンドに戻ってきた。

試行錯誤の末

  1. コード進行を Am→F→G→C に決める。
  2. コードに合わせてベースを各1小節作る。
  3. ベースに合わせてメロディーを作る。このとき、コードに含まれる音ばっかり使う。
  4. 4小節作ったら、ドラムパートを自動生成する。生成は、気にいるのができるまで条件を変えて何十回か行った。
  5. 音色を選ぶ。

という方法で曲を作った。

じゃまにならない程度の曲にはなったように思う。

あと。
ループ再生の仕方がわからなくてだいぶ苦しんだけど、なんとかなった。

ということでできたゲームは
Jump Down into TIGHTS
というもの。

初めての制作としては悪くないと持っている。

企画、ルール設計、画面設計、画像素材作成、効果音制作、BGM制作、コーディング、サーバに設置 まで全部一人でやったので、これからは「フルスタックゲームクリエイター」と名乗っていいんじゃないかと思う。