ゲーム制作8個目: タイツ工場

フルスクラッチゲームクリエイター業、8個目。
ゲームはは
https://nabetani.sakura.ne.jp/game24f/
で公開した
100日以上空いてしまった。
当初別のゲームを作っていて、一応遊べるぐらいまでは作ったんだけど、なんか違うなというかいまいち私として面白くない感じでもやもやしていた。
そんなとき
https://misskey.yancya.club/notes/9yujomd4va
からのやり取りをして、じゃあクッキークリッカー作ろう、となった。
クッキークリッカーと思うと、アクションゲーム的な要素がない。ないのであれば、Phaser のようなものを使う理由がない。
ではということで、人生初 React を使ってみた。
サーバーサイドがないのに React というのも奇妙なかんじではあるけれど、ダイアログが出たりスライダコントロールが出たりとなると React がよいかなということになった。
使ってみると、なるほどわからない、という感じだったんだけど、だましだまし書き上げた。
どうも何かがリークしているらしく放置しているとブラウザが重くなることがあるけど、気にせずリリースすることにした。
ゲームとしては、指数関数的に発展するゲームという点ではクッキークリッカーそのものなわけだけど、もちろん色々ぜんぜん違う。
クッキークリッカーにはない要素として
- 建物を立てる場所という要素 → これを活かすために、隣の建物に影響を与えるとう計算を導入
- 生産施設ではない施設がある(生産技術研究所、など)
をいれた。ちょっとゴチャゴチャしたかなと思う。
クッキークリッカーにはおそらく数百のイベントやアイテムがあるが、そんなコストは掛けられないのでそういうのはない。
あとあと。
日本語は「540 septillion」を「540 𥝱」と、少ない面積でかけるのが便利だなと思った。
と、書いて思い出したけど 𥝱 はサロゲートペア文字のようで、 "𥝱".length
が 2 になる。「恒河沙」みたいなときに字を小さくする処理を入れたときに 𥝱 が小さくなって驚いた。
今回の画像はほとんど SVG で、ラスタはアイキャッチのみ。アブストラクトゲーム感が高まるかなと思って。
BGM は、クッキークリッカーにないからなくていいかなとも思ったけど、一応作った。
無難な曲にはできたと思ってるんだけど、どうだろう。
前回
次はもっと完成までの手間が少ないゲームにしたい。
何作ろうかな。
と書いたにも関わらず、わりと手間のかかるゲームを作ってしまったことをちょっと反省している。
次回こそはもっと完成までの手間が少ないゲームにしたい。
ゲーム制作7個目: 魔法のタイツの迷宮

ゲーム自体は
https://nabetani.sakura.ne.jp/game24e/
で公開した。
Wizardry も出たことだし、3Dゲームにしてみよう、迷路を彷徨う以外なにもしなければ簡単だろう、と思ったたんだけど、大変だった。
Point light をたくさん設置したらレンダリングできなくなったり。
壁を百個ぐらい設置しただけなのに重くてだめになったり。
2Dゲームとはぜんぜん違うんだなということを思い知った。
今までとはゲームエンジンが違うとか、寝込んだとか、そういうのもあったけれど。
音楽は今までとは雰囲気を変えようと頑張ってみた。今回も GarageBand on Mac。
難航したし、予定よりだいぶ短い音楽になったけど雰囲気を変えることには成功したと思う。
次はもっと完成までの手間が少ないゲームにしたい。
何作ろうかな。
……とかいたところでリリースしたんだけど。
手元では iPhone + Safari、Firefox / Chrome / Safari + macOS、Firefox / Edge + Windows とかで動作確認をしていて。
なんと Android だけで不具合が発生するという事態になっていた。
最近はそういうことはあんまりないと思っていたので驚いた。
だいぶ試行錯誤して修正したんだけど、難しかった。
Andriod での動作確認、どうやるのが安いんだろう。
ゲーム制作6個目: 宇宙巡洋艦タイツ

ゲーム自体は
https://nabetani.sakura.ne.jp/game24d/
で公開した。
そういえばシューティングゲーム(FPS とかじゃなくて、インベーダーゲームやゼビウスの系譜の 2D ゲーム)作ってないなと思って。
見覚えのないゲームを作りたい、UI をシンプルにしたい という2つの要請を考えたら今の仕様になった。
舞台は宇宙。宇宙なので摩擦がない。
回転が速くなりすぎたら常識的には中の人が死ぬのでそういう理由でゲームオーバーという仕組みも入れようかと思ってたんだけど、考える要素を減らすために採用しなかった。きっと我々の知らない謎技術によって G を軽減しているんだろう。
主砲の反動で動くということは、めちゃくちゃすごい主砲が出るということ。宇宙にいて、めちゃくちゃすごい主砲が出るといえば、宇宙戦艦ヤマトということで、ロゴはだいぶ宇宙戦艦ヤマトを意識して作ってみた。
「宇宙戦艦タイツ」という名前にしようかとも思ったんだけど、最近は「戦艦」というカテゴリの船自体が存在しないということもあって今も運用されているらしい「巡洋艦」としてみた。とはいえ、私にはその差はわかっていない。
ということで 宇宙戦艦ヤマト のロゴを大いに参考にしながらロゴを作ったら、わりとそれらしくなった。宇宙戦艦ヤマトとの共通部分は「宇宙」と「艦」だけなので問題ないと思う。
宇宙らしさを出すために星が複数の層になっている無限スクロールとしてみた。美しいと思っているんだけど、思い通りの操作ができないしぐるぐる回りがちということと合わせてわりと 3D 酔いの原因になっている気もする。
あと。
最初雑に描いていたら firefox でやけに重いという事に気がついて手を入れた。リアルタイムにラスタデータの見栄えを変更したのが良くなかったんだと思うけどよくおぼえてない。
前回の 合成タイツでブラウザなどの環境によって時間がぜんぜん違うという問題が発覚したので、今回はそこどうしようかとおもったんだけど
- 重そうだったら、多重スクロールをやめる
- 制御周期は、基本実時間(上限あり)
という対応にしてみた。非力な端末ではあまり試していないのでどうなのかよくわからない。
あと、端末が非力だと音を出すと辛くなる。という事に気づき、注意書きをいれることにした。
毎回苦しむ BGM。
今回は前回ほど苦しまなかったんだけど、それが原因なのか、なんとなく似た雰囲気になってしまった気がする。
本当はもっと重苦しい音楽にしたかったんだけど、重苦しい音楽は作れなかった。
今回の新機軸は、SUZURI にお店を出したという点。
グッズが欲しい人がいるような気は全然しないんだけど、お店がある事自体が面白いという気分で店を出した。
せっかくなので合成タイツなんかの商品も置いたんだけど、合成タイツ自体には手を入れてないので気づく人はあまりいないと思う。
さぁ次は何を作ろうかな。
ゲーム制作 5個目: 合成タイツ
ゲーム自体は
https://nabetani.sakura.ne.jp/game24c/
で公開した。
タイルマップゲームはまたもや先送り。
今回は離散的なゲームを作りたい、という気持ちで作った。
スバラシティーが好きなんだけど、スバラシティー は一回始めると何時間もかかるから困るなぁと思っていて。
そんなに長持ちしないでゲームオーバーになるゲームにしたいと思った。
で、例によって Phaser3 で書いた。
ずっと MacPook Pro 上で動かしていたんだけど、最後に Kindle Fire HD で動かしてみたらめちゃくちゃ重かった。富豪的に過ぎたらしい。
まぁこんだけ半透明とアンチエイリアス使っていればそうなるよね、と思わなくないけど、最近のブラウザならこれぐらいたいしたことないだろうと思いこんでいた。
非力なスマホの方には申し訳ないけど、マシンパワーまで気が回らなかった。iPhone でもちょっと重い感じがする。
非力だと時間がゆっくり流れるのでちょっと簡単になる。あとで治すかも(治さないかも)。
例によって BGM は難産だった。作曲に関する本を読んで参考になるなと思ったりはしたものの、やはり難しい。
難しかったけど、それらしさは以前より高まっている気がする。
作曲するようになってから、そういう気持ちで JPOP を聞くと手数の多さに驚く。
ゲーム自体は、今までのゲームの中で「普通のゲーム」という雰囲気が強いと思う。
前回の「タイツを探せ」みたいな見覚えのないルールでもないし、その前の Dragon Tights みたいな見覚えのない UI でもない。
マス目をタップしたらコマが動く、なんていうのはたぶん見たことあるよね。動き方は若干独特だけど、若干でしか無いと思う。
最初、現れるタイツをランダムにしたら割とつらくて。
その後、合成しやすいように(でも即座には合成されないように)という恣意的な計算をしたらゲームとして楽しくなったと思う。
あと。
前回リリースが 3/1 までしか問題がないので 3/1 ぐらいにリリースしたいというのがあって、ちょっと追い立てられる気分があった。
さぁ次は何を作ろうかな。
ゲーム制作 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タイトルアシストの挑戦と失敗
となった。「日々」じゃないよなぁということで最初のを採用した。