今回は今日完成&公開した定番パズルゲーム「さめがめ」の制作について書いておきます。
落ちものパズルを作りたい
しばらく定番ゲームを作っていこうという考えになってから定番ゲームについていろいろ調べたり考えたりしてたんですが、そのなかで自分が遊んで楽しい&作りたいと思うものの一番が落ちものパズルゲームでした。
落ちものパズルゲームは「テトリス」や「ぷよぷよ」が有名ですが3マッチゲームの類やツムツム的なものなどかなり多くのゲームが存在します。
そして落ちものパズルはだいたい面白い。
で、ちょっと考えて気づいたんですが
「基本的な落ちものパズルのテンプレートさえ作ってしまえば量産可能じゃね?」
そう。定番ゲームをたくさん作るならたくさん作れるジャンルを攻めていくのが勝利への近道じゃないのか!?
ということで落ちものパズルゲームの中で最も開発難易度の低そうな「さめがめ」から着手することにしたわけです。
さめがめ開発初日
「さめがめ」は落ちもの系ではありますが、後から追加されるブロックが無いのでそこを意識しなくてすみます。また、タッチしたものと繋がっている同色のブロックが一度に消えるだけで連鎖なんかも無いので考えることが少なく、やはり落ちもの系としては開発難度が一番低いと感じました。
同色のブロックが消える処理については前回作った「マインスイーパー」のタイルを消す処理と同じです。いろいろ作っていくと以前に経験してたりすることが多くなり作業時間が短縮されていきますね。
ただ、今回は自分の中で「スーファミクオリティを目指したい!」っていうのがあって、90年代多くの落ちものゲームが発売されましたがそれらのクオリティにできるだけ近づけたいっていうのが目標としてありました。
なので消えるときや落ちるときなんかに何かしら小さな演出を入れようと考えていました。
今回は消えるときはフェードアウトだけにしましたが(画像作るのがきついので)、落下の着地時に弾む感じは想像通りに良い感じにできました。
これは単純に着地時に縮小させて戻すときにちょっとだけ元より大きくさせて元に戻すって感じにしてみたら良い感じにできました。自分の想定通りにできると自分は天才なんじゃないかと思ってしまいますね(プログラマあるあるかな?)
ちょっと手間取ったのが一列が空になったときに左に寄せる処理。本当はこれも数フレームかけて移動するようにしたかったんですが、そうするとあちこちに影響が出そうなので諦めました。自分の想定する落ちものゲームでこの処理があるのが「さめがめ」だけなので無理する必要は無いと思い打ち切りました。
開発二日目
二日目は得点計算やゲーム終了判定処理などを作りました。
このゲームは一度にたくさんのブロックを消した方が高得点になります。
その式をどうしようかと思ったんですが数学の知識が無いのでそこはまぁそれっぽくなるような感じに適当に作りました(^^;)
なので頑張っていっぱいくっつけて一度に消すとかなりの高得点が出ます。
そのためバランスとして全消しできたらボーナスとして30000点、逆に残ったらブロック一つにつき500点マイナスするようにしました。
高得点を狙うために一度にたくさん消すことばかり考えて全消しできないと最終的に高得点にならない感じです。
終了判定はちょっと苦労しました。判定自体は同色で隣り合っているブロックが無いことをチェックするだけなんですが、プログラムの処理の流れの中にバグがあってそれを見つけるまでにけっこう手間取りました。
細かい演出を入れるようになるとそれらの処理がきちんと終わってから行わないとおかしなことになるので今後より演出を足したりしていくとこういうバグが増えそうで怖いですね。。
開発三日目(最終日)
三日目、つまり今日なんですが、今日は結果画面を作りました。
ボーナスや減点があるのでただ結果だけを表示するわけにもいかないのでちょっと演出的なものを入れる必要があると思い少し悩みました。
あまり複雑なものにすると時間がかかるのでとりあえず順番に表示するようにだけしました。それでもけっこう面倒くさかったです(-_-;)
これだけ簡素でもこんだけ面倒なんで市販ゲームはやっぱすごいですよね。こういうい面倒な部分もきっちりつくってますもんね。
まぁ自分がこういう地味な作業が嫌いってのもあるんですけど(^^;)
あと最後にランキング機能をつけたんですがこの時にエラーが出て。
このランキング機能は自分で作ったものをコピーして使ってるんですが、以前は全くエラーなんて出なかったんですよね。
それが突然エラーが出たから「なんで?」って感じで原因を突き止めるのがなかなか大変でした。
原因はわかりましたがそれでも以前は大丈夫だったのに不思議なんですよね。。
それとも今までたまたま気づかなかっただけなんでしょうかね。
あとがき
今回は2日もあれば余裕でできると思ってたんですが1日延びちゃいました。
ただ、延びたぶん想像していたクオリティより良い出来になったのでむしろ良かったです。
実際、自分のなかで「さめがめってそんなに面白いゲームではない」って思ってたのでここまで良くできたのは本当にまったく想像してなかったです。
たまにこういうことがあるから「何かを作る」っていう作業は楽しいんですよね!