見出し画像

■ぷよぷよを作る(1) フィールド、ぷよ、回転

1.経緯(昔話なので飛ばして頂いて…(ry )

 振り返ると、幼い頃から自分で何かを作りたいという思いがありました。
 保育園の時はチラシの裏に迷路を描いたり、マリオ3のステージや敵を描いて遊び、小学生の頃はRPGのフィールドや敵をこれまた紙に描いて無理やり遊んだりしてました(笑) 高校生になると当時家にあったWindows95で、お馴染みのペイントでドット絵を描いてました。その後RPGツクールにハマり、情報系の学科に進路を決めました。
 専門学校に進学後、学生寮の自分や友人の部屋でよくゲームをしていました。その時仲間内で一時期流行った「ぷよぷよ通」を自分で作ってみようと思い立ちましたが、当時は数時間で挫折…。
 社会人となった今、ゲーム制作の意欲は尚変わらず、あの時諦めたぷよぷよ通を作ってみようということで、制作を始めました。

2.概要

 今回作るのはSFC版の「すーぱーぷよぷよ通」の対戦モードです。…が、実はある程度対戦できるレベルまで出来ています。
 今まで自分が作ったクローンゲームの記事を書いてみたかったのですが、どんな記事を書くか全く決めていなかった中、制作時の資料が割と細かく残っていたぷよぷよ通を選びました。今回の記事ではその資料の内容や、制作当時の楽しかったことや苦労した点など書いていけたらと思います。また、必要があればプログラミングに関しても記載するかも知れません。
 開発環境はEclipse、Javaです。

3.プログラミングして作ったゲームの画面

 実際にプログラミングして作ったゲームの画面がこちらです。

 ぷよの操作、連鎖、相手へのおじゃま攻撃などを実装した状態です。
 今はNintendo switchでぷよぷよ通が遊べますが、制作当時はswitchが出る前だったので出張先のゲーセンに足繫く通い、アーケードのリアルな操作感を体験して勉強しました。出費は痛いですが…(笑)
 キーボードでの操作の他、LWJGLライブラリを使うことで市販のゲームパッドやアーケードコントローラでも遊べます。(RAPで動作確認済み)

4.制作開始(フィールド・ぷよの表示、回転)

 当時の目標は、アーケードモードではなく対人戦ができることでした。
なのでCPU戦はまだ作っておらず、最終的に実装する予定でした。
「ハーピー積み」なら案外作れそう…(´ー`)

CPU戦(こんな感じに作りたい…)

 まずは何といってもフィールドと「ぷよ」をどう実装するかですね。
フィールドは2次元配列を使えば良さそうです。当時の資料はこんな感じでした。

制作当初の資料

 ぷよの色の無色とはお邪魔ぷよのことですね。各色のぷよにIDを割り振っています。フィールドのマスの数は実際のゲーム画面を見て数えた記憶があります。そしてこの段階で特に意識したのがぷよの連結表現です。別に無くてもゲームに支障はありませんが、この連結表現が是非とも再現したいものの1つでした。

 早速、フィールドとぷよを表示してみたのが以下です。

フィールドとぷよの表示

 ぷよを表示した際にぷよが微妙にズレましたが(左)、その後修正(右)。とりあえずこれだけでもうぷよぷよっぽくてテンションが上がりました。
 次にぷよの回転処理を作りました。(静止画なので分からないですが…)

左右の回転処理実装

 回転はその場でクルクル回すだけでなく、フィールドの状況によって複雑になります。

フィールドの状況と回転

 落ちてくるぷよが、ぷよとぷよ(もしくは壁など)に挟まった状態の時は、同じ方向の回転を2回行うとぷよが上下反転します。
 ここまでできたら、次回はぷよの落下を作ります。

この記事が気に入ったらサポートをしてみませんか?