KUNISAN.JPブログ - 151 / 1695 ページ

新規書き込み
ページ:1 ... 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 ... 1695

雨の日の落とし物 (プチコン4)

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2020年3月7日
雨の日の落とし物 (プチコン4)プチコン4で初めて2ヶ月もの時間をかけて一つのゲームを完成させました(半年やそれ以上かけてゲームを完成させる方もいますが、私はプチコン4では2ヶ月かけるのは初めてです)。タイトルは「雨の日の落とし物」。タイトルの通りゲームの中で雨が降っていて、主人公の女の子を操作しつつ、三角ピースを3つ置くと傘や敵や隠しアイテムを三角形で囲むことができるというルールです。隠しアイテムの場所は大き目に囲むと赤っぽい跡が残り、小さめに囲むと隠しアイテムが出現します。全15面です。

タイトル: 雨の日の落とし物
公開キー: 4JB84834E



このゲームの作り始めはキャラの動き等のプログラミングではなく、エリック・サティのピアノ曲「Je te veux(おまえが欲しい)」のMML入力からでした。当初は具体的なゲームのアイデアが煮詰まっておらず、「雨の中、女の子が広場に散らばってしまった文房具を拾う。水たまりから水たまりへぴょんぴょん跳ねる…」みたいなイメージでいました。自分の中では「雨といえばワルツ」ということで、まずはワルツのリズムである「Je te veux」を入力して、この曲を聴きながら想像を巡らせてゲームのアイデアを構築していくことにしました。

その後、実際に画面上に雨を降らせるプログラムを組み、その中に主人公キャラクターを入れてみました。

この時点で、キャラクター同士の重なりを許可する(プログラムがシンプルかつ処理が軽くなる)か、キャラクターが触れた場合に衝突演算を行うか(プログラムが複雑かつ処理が重くなる)か、どちらにするか少し悩みました。ただ、やはり動きが面白くなるのは後者の方なので、衝突演算を組み込むことにしてみました。

それからTwitter上でフォロワーさんから「雨と言えば傘、アジサイ、虹、カエル…」のようなアイデアを頂き、傘とアジサイ(さらにカタツムリ)を自分で描いてみました。相変わらずうまいとは言えないものの、パッと見で傘、アジサイ、カタツムリと分かる感じだったので、そのまま採用することにしました。カエルはプリセットのキャラにあったので、そのまま使っています。

虹はGCIRCLEで描いたもので、面クリア時に「雨が上がって虹が上がる」ようにしてみました。曲はベートーベンの「歓喜の歌」です。ちなみにメインBGMの「Je te veux」と面クリア時「歓喜の歌」の組み合わせは、昔のファミコンの「バイナリィランド」と同じです。もちろん、アレンジは異なっています。

ゲームの基本ルールですが、別のゲーム用として頭の中にあった「三角形で敵を囲む」というアイデアを採用することにしました。これは言うまでもなくリブルラブルが元アイデアですが、リブルラブルのような複雑形状で囲む処理はプログラムが想像できない程難解になりそうなため私には無理です。三角形であればGTRIを使って描写できるので難しくないというのが大きいです。

次に敵(カタツムリ、カエル、魚人)の動きを作り込み、それから各ラウンドを構成していきました。ただ、三角形を大きくして囲むと簡単に攻略できてしまうことが分かり、その対応策としてエネルギー制(画面下部にエネルギーメーター表示)を取ることにしました。三角形の面積に応じてエネルギーを消費して、ある程度以上エネルギーが無いと、三角ピースを設置できないようにする仕組みです。ただ、これでもラウンドクリア直前に大きな三角形で面クリアというのを繰り返す形で、ゲームバランスがうまく取れていない状態でした。これについてはラウンドクリアでエネルギーを100%に戻さず、ラウンドクリアの表示時間分だけ回復するようにして、次のラウンドでもある程度状態を持ち越すようにしました。

通常は衝突演算を組み込んだプログラムでも、キャラ50個位は同時に動かせるのですが、このゲームでは35個位で処理落ち(フレーム落ち)が見られるようになりました。キャラによって当たり判定の条件分けなどがあり、このあたりの例外処理の負荷が高かったようです。処理落ちしてしまったラウンドは仕方なくキャラを減らすか、別のキャラに変更(例:爆弾から負荷の少ない木に変更)するなどして対応しました。

最終面の15面はボス面です。プチコン4のプリセットに大きく不気味なキャラ(ヘドロマン)があったので、これを使うことにしました。曲は手元に楽譜のあったドビュッシーの「雨の庭」がテンポも曲調もぴったりだったので、これを採用することにしました。ボスキャラは魚人とカエルを組み合わせたような動きをします(普段は主人公キャラを追いかけて、時折ジャンプ)。あと、ボスキャラを倒すと枯れ木が緑の木に変わる演出も加えてみました。

エンディングの曲は昔のX68000のゲーム「ソフトでハードな物語」でも使われていた、モーツァルトの「ピアノ協奏曲 ニ短調 作品466 第二楽章」を使う事にしました。プチコン4のプリセットのキャラにグランドピアノがあり、このゲームの曲の音色も全てピアノで統一していたので「ちょうどいい」と思い、このキャラを登場させることにしました。エンディングでは、それまでに取得した隠しアイテム一覧を表示するようにして、全14アイテムを取ると3万点ボーナスが入るようにもしました。

最後にタイトル画面の制作です。タイトルロゴはまずはGPUTCHRで32x32の大きさで書き、プチコン4付属のGAHAKUを使ってモヤモヤ&カクカクの部分を手作業で滑らかにしてみました。これを一文字ずつスプライトに定義して、色の変化を付けるようにしました。また、ゲームのルールがわかるようなデモも作ってみました。こういう試みは今までで初めてだったので、効率の良い作り方が分からなかったのですが、単純にタイマーを設置して、時間毎にIFで区切ってキャラを動作させるようにしてみました。

そんな感じで完成した「雨の日の落とし物」ですが、動画をTwitterに上げた所、3日間で200ものリツイートと500近くのいいねを頂くことができました。プチコン4の中でも3日間でダウンロードが120を超えて、いいねも16個付きました。色々な方から好意的な評価をいただき、本当に作ってよかったと思っています。

プログラムは以下の通りです。今までで一番長いプログラムになっているので、かなり早送りになっています。



次回からは恐らくまた規模の小さいゲームに戻りますが、やはりしっかりと作り込んだゲームは、自分でもお気に入りの度合いが半端なく高いです。今後もたまに数か月かけて作るようなゲームもいいのかなと思っています。





プチコン4関連記事(リンク一覧): プチリバーシ - プチコン4でシンプルなオセロ風ゲーム / プチエアホッケー - プチコン4でシンプルなエアホッケーゲーム / ムカデ四匹対戦ゲーム - プチコン4でCOM対戦型ゲーム / 慣性シューティング イネルシア - プチコン4でエクセリオン風ゲーム / フルーツ好きのアルパカさん - プチコン4で物理演算系ジャンプアクションゲーム / ...(記事連続表示)

SmileBASIC専用USBキーボード+マウスセット TKPS-001
SmileBASIC専用USBキーボード+マウスセット TKPS-001をAmazon.co.jpでチェック

ページ:1 ... 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 ... 1695