|
|
※該当の記事タイトル一覧はリンク一覧から参照できます。
プチダートレース - プチコン4でシンプルな2Dレースゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2022年3月6日 ![]() ふと「今までレースゲームを作ったことがない。作ってみよう」と思い、シンプルな2Dのレースゲームを作ることにしてみました。その際、10年位前にiPadでプレイした"Reckless Racing HD"が頭に浮かんだのですが、ここまでリアルではなくても、気軽にダートの路面をドリフトしながら曲がっていく感覚を楽しめるものがいいな、と思っていました。そして完成したものが、今回の「プチダートレース」になります。タイトル: プチダートレース 公開キー: 4KENEWWQV まずは「車をドリフトさせながら動かす」という、シンプルなデモプログラムを作成してみました。当初、ドリフト走行を再現するには、色々と複雑な計算が必要ということが頭にあり、その一部を組み込む形でプログラミングしたつもりだったのですが、残念ながらうまく動いてくれませんでした。そのため、プログラムはより簡易的なものになっています。具体的には旋回の際に遠心力(速度の2乗/回転半径)がある数値を超えたら、ベクトルを旋回方向と直進方向の2つに分解した上で、再度合成するような簡易的な手法を取っています。加えて車の見た目の向きについては指示通りに回転させるとドリフトっぽく見えるので、これを組み合わせた形を車のコントロールのベースとすることにしました。 続いて、レースゲームと言えばライバル車(敵車)の登場です。敵車との当たり判定は、いつもの物理演算(衝突演算)のプログラムを応用しています。自車と敵車の重さは同一で、衝突した場合にはビリヤードのような角度で反発するようになっています。昔のレースゲームでは車同士が当たるとそのままミスになってしまったり、変な方向に反発したり、もしくは当たり判定そのものがなかったりするものもありましたが、それよりは「心地よさ」のようなものは感じられるかなと思っています。 コースは衝突演算の関係でいわゆるBG面(テキスト面)ではなくグラフィック面を使用しています。コースの作成はプチコン4付属のGAHAKUで行いつつ、敵車の動きや自車の順位の計算についても、コースの画像をコピペしたものを応用して使っています。詳細な説明は省きますが、グラフィック面の色からHSVを取得して、その"H"の値で敵車の動く方向を決めたり、コース中のチェックポイントを判別したりするようなプログラムになっています。 全部で4つコースを作成して、あとはタイトル画面を付けて完成です。私のゲームにしては珍しく、タイトル画面からコンピューターが勝手にプレイするデモ画面に遷移するようにもしてみました。デモ画面は自機の動きのアルゴリズムやパターンを設定するのが面倒なのですが、今回については敵車のアルゴリズムを自車にそのまま応用できるので、難しくなかったということもあります。プログラムは以下の通りです。 今回は初のレースゲーム作成でしたが、自分なりには結構楽しめるものができました。リアルさという点では欠けているものの、気軽にドリフトのような動きを楽しめる、という点ではうまくいったかなと思っています。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
跳べ、ジョニー! - プチコン4でシンプルなアクションゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2022年1月15日 ![]() 昨年末位からジャンプ台でジャンプする主人公と、バネにぶら下がっているような感じで上下しながら動くフルーツの場面が頭の中に浮かんでいて、「せっかくなので、これをゲームにしてみよう」と思っていました。物理演算やポリゴンなど複雑な計算を使わないシンプルなプログラムで、誰でも簡単に遊べるゲームにしようということで作ってみたのが、今回の「跳べ、ジョニー!」です。タイトル: 跳べ、ジョニー! 公開キー: 4QJXD3XED まずはプチコン4のプリセットのキャラを使い、基本となるジャンプ動作の部分を作ってみました。ゲームのルール自体はシンプルなのですが、「せっかくなので擬似3Dみたいに背景を上下左右に動かしてみよう」と思い、主人公のジョニーの動きに併せて、背景の木を動かしてみました。しかし、ゆっくりと上下に動く背景は、船の揺れに通ずるものがあって、文字通り「船酔い」に近い感覚になってしまいました。そのため、「動く背景」は不採用ということにしましたが、その後の完成版ではタイトル画面で左スティックを使い、背景を上下左右に動かせるおまけの機能を付けています。 続いてバネの動きのようなフルーツを設置しました。画面上から紐のようなものにぶら下がっている演出にしています。「何でフルーツがこんな感じでぶら下がってるの?」と言われると困ってしまいますが、見た目がヨーヨーのような、昔駄菓子屋にあった紐付きの飴のような、そんな感じのイメージです(答えになってないですが…)。 あとは敵を数種類用意して、無敵のパワーアップアイテムを加えて、地面のジャンプ台と針の画像を作って完成です。正月の2日間と先週末の3連休だけで出来上がった規模の小さいゲームではありますが、そこそこ楽しめるような仕上がりにはなったかなと思っています。もう少し何か奥深くなるような要素を加えたい気もしましたが、シンプルさや遊びやすさを優先しています。プログラムは以下の通りです。 ゲーム作りに没頭することで、他での心配事やストレスなどを忘れることができるのもメリットだと思っています。ただ、あまり集中してやるとゲーム作り以外の事が頭から抜けてしまい、週明けの仕事で何かと思い出すのに時間がかかったりすることもあります。まあ、何にしてもほどほどに、というのが良いのでしょうね。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
令野蘭子さんのだるま落とし - プチコン4で横視点のボウリング風ゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年12月18日 ![]() プチコン4で自作の物理演算を用いて、横視点のボウリング風ミニゲーム(ややパチンコ風)を作ってみました。画面左下から大玉の鈴を投げて、だるまに当てて落としていくという内容になっています。私はリアルのボウリングも好きなのですが、ルールについても1フレームで2回投球、合計10フレームでスコアを出すところを真似てみました。ただし、スペアやストライクはリアルのボウリングよりも難しく、この辺りの得点方式はガラッと変えています。タイトル: 令野蘭子さんのだるま落とし 公開キー: 4QZ2DD4N3 今年の8月にプチコン4で「わなげ(改造版)」を作った際にだるまを描いたのですが、「せっかくなので、これを使ってデモを作ってみよう」と思ったのが今回のゲームを作り始めたきっかけです。最初はだるまが上から下に落ちて障害物に当たると跳ねるというシンプルなデモだったのですが、だるまを土台の上に整列させて、これにボールを当てて落としていくという形に変更したところ、なかなか楽しい動きになってくれました。ゲームのベース部分は、これでほぼ完成しています。 「せっかくだるまを使ったゲームであるなら、背景も和風な感じが良いだろう」と思い、武蔵村山の実家の裏山(狭山丘陵)にある須賀神社奥の院の写真を参考にしながら、下手なりにもGAHAKUで模写してみました。SwitchのJoy-Conを使って描くので、なかなか難しいものがありましたが、私の絵心的にはタッチペンやマウスを使ったところで出来はあまり変わらなかったでしょう。 「せっかく和風なゲームなのだから、BGMも和風な感じが良いだろう」とも思い、ミニキーボードを弾きながらメロディーとコードを考えつつ、「TINY MML SEQUENCER」(作者:Shinoさん 公開キー:4Q44DREF3)にデータ打ち込んでいきました。メロディとベースについては全てヨナ抜き音階で、音色には琴、三味線、和太鼓を使用しています。実は一度、夜中に曲を作って「良くできた」と思いそのまま採用したのですが、日が明けて改めて聞いてみると「何だか少し変…」と感じて、その日のうちに急遽作り直したのが現バージョンの曲です。 メインキャラはプチコン4公式キャラの「令野蘭子」です。今年の5月の作成した「令野蘭子さんのフリースロー」でも登場させていて、今回のゲームでも当初はバスケットボールを投げる形だったのですが、これも「和風な感じが良いだろう」ということと妻のアドバイスで、大玉の鈴を投げる形に変更になりました。さらに画面左上にスコア表を設置してゲームとして完成です。プログラムは以下の通りです。 物理演算系のゲーム制作は半年ぶりだったのですが、動きに独特な感じが出て作っていても楽しかったです。次回作もほぼ内容を決めていて、これまた物理演算系になります。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
やや本気でスパイク練習 - プチコン4でバレーボールのスパイク練習名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年11月14日 ![]() 今までにプチコン4で「ヘディングゲーム」(サッカー)、「令野蘭子さんのフリースロー」(バスケットボール)とスポーツ系のミニゲームを作ってきましたが、今回はバレーボール系のミニゲームを作ってみました。ミニゲームなので、バレーボールのある部分を切り取ってゲームにする形になりますが、ゲームとして一番爽快感がありそうな「スパイク」に着目してみました。タイトル: やや本気でスパイク練習 公開キー: 4SDNX8NHV まずはプチコン4のプリセットのキャラを使い、グラフィック命令で簡単に背景を作って、2画面分程度のシンプルなプログラムで基礎となる部分を作りました。操作はスティックか方向ボタンで助走、Aボタンでジャンプ、Bボタンでスパイクになります。この時点でスパイク時の自分とボールの当たり判定や、ボールの動きの調整を行いました。ちなみに、今回は物理演算を用いておらず、動きに関する計算式も基本的に四則演算のみで組み立てています。 その後、プリセットのキャラに多少手を加えて、トスやスパイクの動きに対応するようにしました。加えて背景も体育館のような板張りのような色をベースに仕上げていきました(基本はGFILL、GTRI、GLINEのみでできています)。さらに、「ボールを何かに当てると吹っ飛ぶ仕掛けがあると面白いかな」と思い、右側にその対象としてロボットを置いてみました。ボールの数は全部で15球、全体でも2分程度のミニゲームになります。 最後にゲームオーバー時のランク表示と、スタート時のタイトル画面を作って完成です。当初、タイトルは「スパイク練習」という見たままのものにするつもりでしたが、タイトル画面の左右に大きな隙間ができてしまったため、その場で思いついた「やや本気で…」という言葉を加えて隙間を埋めるようにしました。私のゲームのタイトル付けは、このように結構いい加減だったりします。プログラムは以下の通りです。 個人的にスポーツはやるのも見るのも好きなので、また何かスポーツ系のシンプルなゲームを作ってみたいと思っています。プチコン4のプリセットキャラにバドミントンのシャトルがあるので、「次はこれかな」と考えたりしましたが、いずれにしても製作はまだ当面先にはなりそうです。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
ワンパクと三角 - プチコン4でシンプル「三角渡り」ゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年10月9日 ![]() ここ最近は仕事が忙しく、週末もプログラミングをする気力がなくて、ゲーム作りから遠ざかってしまっていました。ただ、先週の日曜日にようやくまとまった時間と気力の両方があったことから、4時間かけてミニゲームを作ってみました。プチコン4の公式キャラの1人であるワンパク(つっぱり風キャラ)と動く三角形を足場にしたものの組み合わせのゲームですが、丁度語呂が良いのでタイトルを「ワンパクと三角」としてみました。タイトル: ワンパクと三角 公開キー: 4SK832N8E このゲームの原形となったのは、高校時代にX68000で製作した「独楽(こま)」というゲームで、マイコンBASCIマガジン1989年3月号にも掲載されました。ジョイスティックで独楽を操り、4重スクロールのグラフィックの上を渡りながらアイテムをゲットしていくというルールでした。「ワンパクと三角」では、このうちのアイテムの要素を無くして、よりシンプルなものにしています。 プログラムの方についても特に難しいことはしていません。基本は三角関数を用いて回転する三角形を描画、配列関数を使ってその三角形を多数動かしています。三角形はスプライトではなくグラフィックで、毎フレーム(1秒間に60回)画面消去と三角形の描画を繰り返している形です。プログラムは以下の通りです。 現状で仕事が忙しいこともあって、何日もかかるようなゲームを作るような気力がありません。ただ、今回のように時折ミニゲームを作ることができれば、それなりに良い週末を過ごせるのかなと思っています。ここ最近は疲れて寝っぱなしの週末が多かったので…。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
わなげ - プチコン4でシンプルな輪投げゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年8月21日 ![]() 現在、プチコン4の私設コンテスト「アイリス杯」が開かれています(8月31日締切)。このコンテストは「自由プログラミング部門(お題:おまつり)」と「プログラム改造部門」に分かれていて、そのうちのプログラム改造部門向けに「わなげ」を作りました。タイトルの通りシンプルな輪投げゲームになっています。タイトル: わなげ 公開キー: 442EDXS3 プログラム改造部門のベースになるものは、プチコン4の他のユーザーさんによる作品で、右画像のような非常にシンプルな作りになっています。プログラムそのものもシンプルで、コメントが丁寧に書かれていることもあり、誰でも改造しやすいようになっています。ただ、改造とは言っても私自身シンプルなゲームが好きなので、改造前のルールをできるだけ活かす方向で行くことにしました。10個の景品を取れればクリア、というのはそのままにして、輪の本数を20本に限定することにしました。 まずは見た目の変更ということで、とりあえずタイトル用のロゴ、祭りの提灯、だるまのキャラをGAHAKUで描いてみました。フォントはパワポで書いたものを参考にして、GAHAKU上でJoy-Conを使って模写しています。 さらにタイトル画面に、以前別のゲームで作った花火を入れてみました。タイトルは夜っぽいのに、メインのゲームの方は昼間で一貫性が無いですが、細かいことは気にせずに「花火は綺麗で迫力があるのでこれで良し」ということにしました。 その他、以下のような変更を加えています。・輪が景品と重なったら輪がズレる処理 ・雲と鳥の演出 ・景品ゲット時に迫ってくるような拡大表示 ・ゲーム終了時の演出 ・かんたん、ふつう、むずかしいの3つのモード(輪の大きさの違いのみ) ・英語対応 プログラムは以下の通りです。オリジナルのプログラムに自分のプログラムを追加、さらに他の自作ゲームからユーザー定義関数をコピペしたりして、見た目がぐちゃぐちゃになってしまっています(最初の元素名も他の自作ゲームからのコピペで、「わなげ」のメイン部分には使われてないです)。 私はプチコン4ではGOSUBをよく使うのですが、本作のメインプログラムがユーザー定義関数をループさせる形になっていて、DEF内ではGOSUBを使えない事から、久しぶりにGOSUBを使わないプログラムになりました。私がゲームプログラムでGOSUBを使わないのは、数年前にPythonでゲームを作って以来になりますが、よく考えてみるとプチコン4の前は何十年もGOSUBを使ってなかったんですよね(PC-6001mkIIまで遡ります)。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
何の変哲もないシューティング - プチコン4で1980年代風のシンプルシューティング名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年6月27日 ![]() 私はゼビウス、スターフォースあたりの1980年代中盤位のシューティングゲームが好きで、この頃はゲームセンターでもファミコンでもシューティングゲームを好んでプレイしていました。しかし、その後はパワーアップのルールが複雑化したり、極端に連射を要求されたり、敵の攻撃パターンを丸暗記しないとクリアできなかったりしてどんどん難化していってしまい、私はついて行けずにシューティングゲームから離れるようになってしまいました。そんな過去がありましたが、「また昔のようなシンプルなシューティングゲームで遊んでみたい」と思い立って、今回制作したのが「何の変哲もないシューティング」です。タイトル: 何の変哲もないシューティング 公開キー: 44JXDJ43D 作り始めは今年の2月で、まずは「自機が弾を連射、敵が多数の弾を自機にめがけて吐き出す」という、シューティングゲームの基本のようなプログラムを作ってみました。今までにこんな感じのオーソドックスなタイプのシューティングゲームは作ったことがなかったのですが、とりあえずこのプログラムは2時間程度で完成しました。配列変数とSPCOL(スプライトの衝突判定用の命令)を多用することで、想像通りスムーズに動いてくれました。 その後、個人的な用事などで間が空いてしましましたが、6月に入ってから制作再開。敵の種類を増やし、ボスキャラを追加するなどして、ゲームらしく仕上げていきました。最終ボスキャラでは誘導ミサイルを導入してみましたが、以下の式を思いついたことで、プログラムを短くまとめることができました。RD1=RD1+SGN(SIN(RD2-RD1))*回転速度 ・RD1:ミサイルの向き(ラジアン) ・RD2:ミサイルから自機への方向(ラジアン) その後は過去の自作品から銀河の画像を転用したり、他のプチコン4ユーザーさんのフォント集からフォントを拝借したりして、最終的に完成させることができました。自機キャラと敵キャラは全てプチコン4のプリセットで時間がかからなかったこともあり、製作期間は全部で約3週間でした。プログラムは以下の通りです。 プチコン4では多数の良作シューティングゲームが公開されていて、そんな中に自分が作ったシューティングを追加したところで、誰も遊んでくれないのではないかと思ったりもしました。でも、自分の「作りたい」という欲求が勝って、結局完成まで持って行くことができました。今回できあがった「何の変哲もないシューティング」を公開後も、プレイした複数の方から「楽しかった」という声を聞くことができて、本当に作って良かったと思っています。これに気を良くして、またメジャーなジャンルで「自分なりに作るとこうなる」というゲームを作ってみようかなと考えたりもしています。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
迷路を爆撃せよ - 自動生成した迷路を破壊するゲーム(プチコン4)名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年6月7日 ![]() 先日作成した迷路自動生成プログラムですが、「せっかく作ったので、これをゲームに発展させよう」と思いました。しかし、普通にスタートからゴールに向かうだけのゲームでは当たり前すぎると思い、ふと「爆弾で迷路の壁を壊しまくることができたら爽快かも」という発想が浮かびました。「せっかく作った迷路を破壊するのでは、迷路であることの意味は…?」と問われかねないアイデアですが、とにもかくにも作り始めてしまい、最終的には完成するまでに至りました。タイトル: 迷路を爆撃せよ 公開キー: 4D3JNN3C4 まずは単純に自動生成した迷路に爆弾を投げて、爆発したところが円形状に壁がなくなる、というプログラムを組んでみました。さらに、壊れた壁に何かが当たって跳ねたりしたら面白いかも、と思い、ボールのキャラを上から落とすようにしてみました。爆風でボールが吹っ飛ぶ処理も追加します。爆発の連続で「爽快さ」の片鱗のようなものは感じられましたが、この時点でゲームのルール自体は全然固まっていませんでした。 この動画をTwitterに上げたところ、複数のフォロワーさんから色々なアイデアをいただき、私もそこから新たな発想が浮かんだりもしました。その中でも「壊せない壁」「再生する壁」「(ロットロットっぽく)キャラを誘導して落とす」「(アレパチのように)下に並んだ数字にキャラを落としていく」というアイデアを実際に組み込んでみました。結果、よりゲームらしくなってきました。 その後、「(ドルアーガの塔のウィル・オー・ウィスプのような)お邪魔キャラを迷路上で動かす」というアイデアも追加。さらにキャラをミイラやガイコツなどのモンスターに統一して、「迷路とミイラと言えば、ピラミッドとかエジプトっぽい」というイメージで、背景もそれらしいものにしてみました(プチコン4のプリセット画像をそのまま使用。月の画像は自作)。ゲームのルールは「爆弾で迷路を爆破して、下の各穴それぞれにモンスターを4体落とせばクリア」という形にしました。クリアタイムによってランク(S、A、B、C、Dの5段階)が決まります。ということで、めでたく完成です。プログラムは以下の通りです。 今回はTwitterのフォロワーさんのおかげもあって、楽しく爽快感のあるゲームを作ることができました。今までもゲームの作り始めに最終的なアイデアが固まっていなくて、後からルールを決めていくようなやり方は何度かありましたが、今回のように色々なアイデアを集結させていく方法は、作りながらも「果たして何ができていくのだろう」というワクワク感があって楽しいです。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
コメント:迷路を爆撃せよ - 自動生成した迷路を破壊するゲーム(プチコン4) 名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年7月25日 ![]() その後、迷路を爆破した後に半透明の「迷路の跡」が残るようにしてみました。
![]()
プチコン4で迷路自動生成プログラム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年5月16日 ![]() Twitterのタイムラインを見ていると、時折自動生成された迷路の画像が出てくることがあります。以前から「これができるとゲーム作りの幅が広がる」とは思っていたのですが、あまり深く調べることはありませんでした。しかし先日、ふと頭の中に迷路生成のアルゴリズムのようなものが浮かびました。「せっかくなので形にしてみよう」ということで、プログラムにしてみたところ、うまく動いてくれました。迷路生成のルールはこんな感じです。 1)1本目の通路を生成開始。基本は通路が行き止まりになるまで迷路の生成を続ける(ただしランダムで終了あり)。 2)座標をランダムに取って、既に通路があるところであれば、そこから分岐した通路を生成開始。基本は通路が行き止まりになるまで迷路の生成を続ける(ただしランダムで終了あり)。 3)画面上に新たに通路を生成できなくなるまで2)を繰り返す。 自分では「我流のアイデア」と思っていたこの迷路作成のアルゴリズムは、「穴掘り法」という名前で既に存在していました。いずれにしても、思った通りに迷路を自動生成するプログラムができて嬉しく思いました。 以下、穴掘り法のプログラムと迷路自動生成の動画です。 これをきっかけに、ネットで迷路の自動生成について調べていると、「棒倒し法」がより簡単に実装できて一般的であることがわかりました。せっかくなので、自分でも作ってみることにしました。 棒倒し法のルールはこんな感じです。 1)フィールド上に1マス置きに「棒(壁)」を設置する。ただし、画面の端のマスは上下左右とも空白であること。 2)一番上の棒からスタート、ランダムに上下左右のいずれかに倒す形で、倒した所のマスも壁として埋めていく。ただし、既に壁として埋まっているところには棒は倒せない。 3)上から2番目以降の棒も随時倒していくが、これ以降は下と左右のみ倒せる(上には倒せない)。既に壁として埋まっているところには棒は倒せない。 以下、棒倒し法のプログラムと迷路自動生成の動画です。 棒倒し法の方が圧倒的に短くシンプルなプログラムにはなりますが、迷路に短い分岐が多くなってしまうのと、スタートとゴールを設置した際に、解法が「一旦上に向かって、その後に下に降りていく」というワンパターンな感じになってしまいます。個人的には穴掘り法の方が好みです。 一方、穴掘り法については迷路の規模が大きくなると描画に時間がかかってしまうことと、「長くくねくね」とした感じの通路になりがちということがあります。 ついでに、「迷路を自動的に解く」プログラムも作ってみることにしました。以下のようなルールで迷路を解いていきます。 1)スタート地点から進行できる方向に行ける所まで進めていく。 2)行き止まりになったら、逆に戻るようにして分岐の手前までを塗りつぶして、次にここに辿り着かないようにする。 3)2)を繰り返しながら行き止まりをつぶしていくうちに、ゴールまでの道のりがあぶり出されていく。 以下、迷路を自動的に解くプログラム(一部)と動画です。この動画の迷路の生成は棒倒し法ですが、もちろん穴掘り法でもこのプログラムは適用できます。 穴掘り法、壁倒し法以外に、「壁伸ばし法」という方法もメジャーなようです。今のところ試してはないですが、また時間のある時にプログラムを作ってみようと思います。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
令野蘭子さんのフリースロー - プチコン4でバスケのフリースローゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2021年5月5日 ![]() 4月17日にYouTube上でプチコン4大喜利(作品コンテスト)の結果発表がありましたが、その際にプチコン4の新オフィシャルキャラの紹介がありました。「令野蘭子」という名前の女性キャラです。早速そのキャラを使って、何かミニゲームを作ろうということになり、思い浮かんだのがバスケにフリースローです。GW中に製作を開始して、実質丸2日で完成しました。タイトル: 令野蘭子さんのフリースロー 公開キー: 4E3N5B1 まずはゲームのベースとなる部分を作成。Joy-Con(L)のスティックの傾きでボールを投げる角度と強さを決定、スティックを放すとボールを投げます。ボールと壁やリング(ゴール)の当たり判定は、いつもの物理演算のプログラムを適用します。リングは両端だけグラフィック(GCIRCLE+PAINT)にして、中央部分はスプライトにしてボールが通り抜けるようにします。ネットの部分はその範囲にボールが通過したら減速するようプログラムしています。 これができれば後は装飾や細かいルール付けです。背景の木、家、雲はいつものプリセットのキャラを使っています(見た目はすっかりマンネリです…)。当初はミス1回でゲームオーバーにする予定でしたが、プレイしてみると結構難しく、ミス5回まで許容することにしました。得点はシンプルに1ゴール100点としています。「連続ゴールでコンボ」などのルールも付けられなくはなかったですが、ここはあえてシンプルな形にしています。プログラムは以下の通りです。 実はフリースローのゲームは高校時代に一度作った事があります。ただ、当時はX68000の熱血高校ドッジボールのキャラをそのまま使ったため、一般に公開することはありませんでした。今回は著作権に配慮して(?)オフィシャルのプリセットのキャラを使っており、久しぶりに同じようなルールのゲームが陽の目を見ることになった感じです。 プチコン4関連記事(リンク一覧): ツインスティック・チェーン・ブラスト - プチコン4で連鎖爆発のシンプルSTG / ノックアウトドライブ - プチコン4でLRボタンだけを使ったショートゲーム / くつとばしゲーム - 小6でBASICを覚えたての頃に作成したゲームをプチコン4で再現 / 懐かし昭和の10円ゲーム3 - プチコン4の別の自作ゲームから物理演算系関数の流用 / ロックバルーンポップ - プチコン4でシンプルな物理演算系風船割りゲーム / ...(記事連続表示)
※該当の記事タイトル一覧はリンク一覧から参照できます。
■ ホームへ
|