プチコン4関連記事 - 連続表示

新規書き込み

※該当の記事タイトル一覧はリンク一覧から参照できます。

インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2025年1月2日
インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム近々TOEICオンラインIPを受ける予定で、関連の本を購入してマイペースで勉強していたのですが、パッと見で分からない英単語・英熟語がいくつもありました。私の英語スキルの中でも「語彙力」は昔も今も課題であることは変わらず、何とか克服しようとは思っているものの、こればかりはコツコツとやり続けるしかありません。そんな中、昔ファミコンで「ポパイの英語遊び」という英単語学習ゲームがあったのを思い出しました。「プチコン4で『ポパイの英語遊び』みたいなゲームを作ってみようかな」と思い、実際に作ってしまったのが今回の「インテリ君の英語遊び TOEIC®英単語・英熟語」になります。

タイトル: インテリ君の英語遊び TOEIC®英単語・英熟語
公開キー: 4NK4NYDSM



英単語・英熟語を学習するゲームを作るにあたり、最初に必要になるのが言葉のデータです。TOEIC学習本を勉強している中で、パッと見で分からない単語や熟語をExcelにまとめていたので、このデータを使用することとします。恐らくTOEIC800点辺りの人だと「程よい難易度」と言えるようなものです(個人的には900点オーバーですが、特にリーディングパートの語彙力が弱いのでこの辺りのレベルかと…)。データの形式は、日本語の言葉とそれに対応した英単語/英熟語をセットとして、アルファベット順に上から並べていく形にしました。データ入力は普通のプログラム画面を使い、"WORDS"という名前のテキストファイルとして保存します。

ただ、当初はこのデータから配列変数への落とし込みが簡単にできず、少々複雑なプログラムになってしまいました。PHPのexplode関数のように、文字列で区切って配列に入れるということができる命令が無かったため、ファイルの最初から最後まで一文字ずつチェックしながら文字列変数(配列)に継ぎ足していき、改行文字が見つかったら配列の次の要素に進む…、というようなプログラムになってしまいました。

この状況をXでポストしたところ、ある相互フォロワーの方から「PRG~命令を使う」という助言と、さらにプログラムの例までいただきました。具体的にはPRGEDIT、PRGSIZE、PRGGET$という命令を使うのですが、恥ずかしながらこれらのPRG~命令は教えていただくまで知りませんでした。そして、右のスクショが簡略化後のプログラムになります。プログラムをシンプルにすることは、特にメンテの際には非常に重要なので、良いアドバイスをいただいて大変助かりました。

データが揃い、続いて「ポパイの英語遊び」のルールに寄せていくステップになります。画面上にアルファベットを配置して、主人公キャラの「インテリ君」をスティックで操作、Aボタンでアルファベットを選択、英単語を作っていく…、というところまで一気に作っていきました。

その後は悪者キャラに「ワンパク」を置いて、不正解の場合にはフルーツを蹴り飛ばす演出を入れました(不正解5回でフルーツがなくなりミスになります)。あとはスコアやタイトル画面を入れて完成です。ちなみにこのゲームのタイトル画面の音楽は、「ポパイの英語遊び」のタイトル画面の音楽を意識して作りました(劣化アレンジですみません…)。

プログラムは以下の通りです。



このゲームは日本語の言葉から英単語・英熟語を作っていくゲームですが、よく考えるとTOEIC L&Rは英語をそのまま理解して答える形のテストなので、「日本語⇒英単語・英熟語」のように考えるようなパートはありません。でも、英単語・英熟語を記憶に留めるにはこのアプローチもありなのかなというのと、単純に「『ポパイの英語遊び』みたいなゲームが作れた」ということに満足ではあります。





プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)

関連カテゴリー: 英語学習関連記事, プチコン4関連記事


虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年12月8日
虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム12月に入ってからは、ゲーム作りはしばらく休止して、英語の勉強にシフトしようと思っていました。しかし、X上でブロック崩しのボールの挙動が難しいというポストを見かけて、「自分でもちょっとやってみよう」ということでプログラムを作り始めてみました。ただ、実際に作ってみて分かったのが「意外と簡単ではない」ということです。もともとは数十分でプログラムを作り終えるはずだったのが、それなりにブロック崩しのような動きにするまでに結局数時間かかってしまいました。そこからさらにゲームっぽく味付けしたのが、今回の「虹色ブロック崩し」です。

タイトル: 虹色ブロック崩し
公開キー: 4JEN32VHV



プログラムが「意外と簡単ではない」理由の一つは、ボールがブロックに当たった時の反射角です。普通にボール(スプライト)とブロック(スプライト)に当たり判定を付けて、場合分けでボールを反射させるアイデアもあったのですが、恐らくかなり入り組んだ条件式の組み合わせになってしまうと想像しました。自分の場合にはせっかく手持ちの物理演算の関数があるので、これをそのまま生かす形にしました。ただ、手持ちの物理演算はブロックをグラフィックで描画する必要があります。この方式は、単純にボールとブロックとの当たり判定と反射角の算出だけなら便利なのですが、「ボールがどのブロックに当たったか?」を判別するのに一工夫必要です。これについてはいくつか方法がありましたが、ブロックの色をHSV関数で各行の色合いを変えつつ、各列についても彩度を少しずつ変化させて、ボールが衝突した「色」の色合いと彩度でブロックの行と列を計算するという形を採用しました。

ボールの反射角については物理演算の関数を使うと自然な形にできることはできるのですが、昔ながらのブロック崩しでは、ボールがまっすぐ上下や左右に移動することはなく、そのあたりは調整が必要になってきます。これに対してはボールのベクトルの角度を「斜め」のみの12種類のみに限定して、ボールがブロックに当たる場所によって、ボールの入射角ベクトルの「(1)上下反転」「(2)左右反転」「(3)上下左右反転」のいずれかを選択するようにしています。ただし、ボールがブロックをかするように触れると、ボールの角度が変わらないままブロックが消滅する現象も発生しました(ある意味自然な動きに近いのですが、「ブロック崩し的」にはNG)。このような場合にはブロックを消去せずにボールを素通りさせるような例外処理をしています。

これで動きの部分についてはほぼ完成しましたが、「せっかくここまで作ったのだから、ゲームとして仕上げておこう」ということで、全3面のミニゲームの形にすることにしました。ただ、何度もテストプレイを重ねていくと、実は上記の処理だけでは完全な動作にはなっていないことが分かりました。例えばブロックが左上から右下に階段状にブロックが並んでいて、ボールが「上と右」のブロックに同時に触れた場合に、ボールの動きはしっかりと「(3)上下左右反転」するものの、上のブロックしか消滅しないという不具合が発生してしまっていました。これは上記の「色」判定を1か所だけではなく最大2か所で行うことで解決に至りました。その後、色々と微調整を行いつつ、最終的に完成に至りました。

プログラムは以下の通りです。



ブロック崩しは1970年代のゲームなので、「簡単に作れるだろう」と高をく括っていたのですが、実際に作ってみたら思ったよりもなかなか難しかったです。ただ、パズルを解くような感覚で一つ一つ問題をクリアしていって、最終的にゲームにすることができるまでの過程はそれはそれで楽しかったです。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


プチピンボール - プチコン4のシンプルピンボール風ゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年11月23日
プチピンボール - プチコン4のシンプルピンボール風ゲーム以前から「いつかプチコン4でピンボールゲームを作ってみよう」と思ってはいたのものの、なかなか取り掛かれず、ようやくピンボール風の物理演算サンプルプログラムを作り始めたのが今年の5月でした。途中STC Associate試験とTOEICオンラインIPテストの勉強でプログラミングができなかったり、プログラミング復帰後も別のゲームの制作(ワンパクとトランプ)があったりしましたが、それからピンボール風ゲーム制作を再開させて、制作期間合計2か月半ほどでようやく完成させることができました。

タイトル: プチピンボール
公開キー: 4N4K5RXK3



このゲームの作り始めはフリッパーの動作からでした。ゲーム全体の物理演算はいつものもの(自作の関数)を使います。その中で、フリッパーは角度ごとに画像パターン(スプライトではなくグラフィック)を複数用意して、フリッパーが上下に動いている間にボールが当たった場合には、フリッパーのボールが当たった場所の単位時間の移動距離(先端ほど移動量が大きい)から、ボールの反発を計算させるようにしました。この部分は三角関数を使用するなど、多少計算が複雑でしたが、最初の段階から割とうまく動いてくれました。

それからプランジャー(ゲームスタート時にボールを飛ばすバネの付いたピン)とレーンをプログラムで描画。あと、思いつきでりんごが多数でてきてそれを落としていくようなデモを制作してみました。この時点ではうっすらと「ステージクリア型のピンボール風ゲーム」が頭にあり、このりんごを落とすアイデアは、「ステージの原案」のような感じで考えていました。(後にりんごはマルチボールの一形態になります。)

昔ファミコンの「ピンボール」が好きだったこともあって、そこから左右に動くバー、トランプめくり、ボール吸い込み&発射、アウトレーンのバンパーなどのフィーチャーを、一つ一つ導入してみました。この時点で「ステージクリア型ではなく、オーソドックスかつシンプルなピンボール風ゲームとして仕上げよう」と方向転換しました。

ここまで来ると具体的なイメージが頭に浮かびやすくなってきます。ボールを大きくするアイテム、糸を引く蜘蛛などの独自フィーチャーを配置、それから全体のレイアウトや壁の尖りを無くしてカーブを入れたりなどの調整も行いました。最後にノーマルモード、2分モード、5分モードと3つのゲームモードを用意し、各モードのタイトルにスコアランキングを取り付けて完成です。とは言いつつ、一旦完成した後もボールの動きやバンパーの反発やフリッパーの挙動など、物理演算に関する部分のパラメーターの再調整にかなりの時間を費やしてしまいました。

プログラムは以下の通りです。シンプルなゲームながら、自作品の中ではかなり長い方になります。



念願のピンボール風ゲームが何とか完成して、正直ほっとしました。52歳にして生まれて初めてピンボール風ゲームを作ることになるとは、自分が中高生の時(ベーマガ全盛期)には全く想像できませんでしたが、年齢に関わらず自分のできる範囲で何かに挑戦し続けるのは大事だし楽しいと思っています。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年9月16日
ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム7月~8月の2か月間は、STC Associate試験(安全保障輸出管理実務能力認定試験)とTOEICオンラインIPテストの勉強のため、ゲーム作りをお休みしていました。ゲームプログラミングについては、間が空いてしまうと効率的でないコードを書いてしまうなど、少し頭の回転が鈍くなるような感覚があります。そのため、久しぶりにゲームを作る場合には「肩慣らしのキャッチボール」のような感じで、シンプルなゲームの制作から再開することが多いです。今回の「肩慣らしゲーム」は2分間のスコアアタックアクションゲームになりました。

タイトル: ワンパクとトランプ
公開キー: 4L39Y33C4



つい一週間前に、「トランプの数字を順番に取っていくと、ポイントがどんどん高くなる」というゲームの原型となるアイデアが頭に浮かびました。順番から外れた数字を取るとポイントが元に戻ってしまうため、カードが得点源にもなるし邪魔物にもなるという形です。昨年1月に作成した「ワンパクとウェーブ」のプログラムをベースにして、まずはトランプがランダムに上から流れてきて、数字の順番に取っていくと高得点になる、というものを作ってみました。これだけで、ゲームのベースとなる部分はほぼ仕上がった形です。

ここから主人公(ワンパク)がトランプに触れるとトランプが小さくなって消滅したり、ゲームオーバー後の星評価を加えたりなどして、よりゲームらしく仕上げていきました。最後はタイトル画面をさっと作って完成です。このタイトル画面は、「ワンパクとウェーブ」のものをほぼ転用する形で、ほとんど時間がかかりませんでした(手抜きと言われるとそれまでですが…)。ゲーム制作開始から丸2日での完成です。

以下、プログラムになります。



ゲーム作りを休止する前の6月に、ピンボールのようなデモを作っていました。次回作はこれに手を付ける形で、ピンボール風ゲームにしようかなと思っています。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年5月18日
すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム「プチコン4で横スクロールのシューティングゲームを作ったことが無いな」と思い、Xでそのようなことをポストしたところ、あるフォロワーさんから「いつもの物理演算で、上から落ちてきたもので敵をやっつける」というアイデアをいただきました。どのように「横スクロールのシューティングゲーム」と「上から落ちてきたもので敵をやっつける」のを組み合わせるのかはその時点ではうまく想像できませんでしたが、「なんとなくでいいから作ってみよう」と思い、8日ほどで出来上がったゲームが今回の「すいかを落とせ」になります。もともとシューティングゲームだったはずが、最終形態としてはパズルアクションゲームになっています。

タイトル: すいかを落とせ
公開キー: 4CAQYX3J4



Xでアイデアをいただいた数日後、ふと「丸いものが地面に置いてあって、ショットで地面を崩すと、その丸いものが下に落ちていく」というイメージが頭に浮かび、早速プチコン4で作ってみることにしました。「丸いもの」は何でもよかったのですが、プチコン4の真ん丸なプリセットキャラの中で一番定義番号の若い「すいか」を選択しました。地面はBG(テキスト)用のプリセット画像ですが、これをGCOPYでグラフィックとして使用(グラフィックの方が物理演算と相性が良いため)、画面全体を左に1ドットずつずらしてコピペする形で横スクロールを表現しています。まだこの時点では具体的なゲームのイメージは頭に浮かんでおらず、シンプルな「物理演算デモ」のような形でした。ただ、ゲームとしてのポテンシャルはあるかなとも思いました。

続いて頭に浮かんだのが、あの「スイカゲーム」です。スイカゲームは同じフルーツ同士をくっつけて別の大きなフルーツに変換、最終的に巨大なスイカにするというゲームです(ちなみに実際にプレイしたことはないです)。この「くっつけて大きくなる」という部分を拝借して、すいか同士が触れたら雪だるま式に大きくなるようにしてみました。すいかはくっついた分「重量」のパラメーターが足し算されて、サイズ(直径)は重量の「三乗根」に比例して増すようにしました。すいかのサイズについては、もっと大きくした方が見た目にはインパクトがあるのですが、地面と引っかかりやすくなって難易度が増してしまうこともあり、重量と寸法の関係は三乗根を使う標準的な形のままにしておきました。

その後、すいかの重量を見える化して、番号をふるようにしました。さらに画面の幅の範囲内ですいかを下に落とすと得点をゲットできるようにもしました。番号が大きなすいか(重いすいか)はより得点が高くなるように設定しています。

それから簡単なタイトル画面を作成して、一旦完成としました。公開後、またX上で別のフォロワーさんから「タイマーを見やすくした方が良い」というアドバイスをいただき、数字を大きくしたほか棒グラフでも表示するなどして、視覚的に残り時間が分かりやすくなるよう変更しました。その後も細かいバグなどが見つかり、調整と再アップを繰り返しつつ、ようやく落ち着くようになりました。ただ、すいかが地面と地面の隙間に入ると震えることがあったり、画面左端で自機が地面に挟まれると突き抜けたり、一部の不具合は放置したままの少々大雑把な作りになっています。

プログラムは以下の通りです。



久しぶりに完成形が定まっていないままゲーム制作をスタートさせてしまいましたが、小規模なゲームということもあるものの、意外と短時間で仕上げることができました。物理演算系のゲームは作りながらアイデアが出るようなことが多い分、世に出ているゲームとは少し違った感覚のものができるのが、作っていても面白かったりします。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


パチスロ風ゲーム+シミュレーター - プチコン4で単チェリーからのネジりとペカりを再現

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年5月3日
パチスロ風ゲーム+シミュレーター - プチコン4で単チェリーからのネジりとペカりを再現私は1990年代にパチスロにハマっていました。「ワイルドキャッツ」や「スーパープラネット」や「コンチネンタルⅡ」から始まり、最後の方は「アステカ」や「大花火」などゲーム性が比較的高い機種もやりこんでいました。それ以降はパチスロにハマるようなことは無くなり、パチンコ店やパチスロ店には月1に1回行くか行かないか…まで減り、さらに最近では年に1回正月に行くか行かないか…までめっきり行く回数が減ってしまいました。ここ数年はパチスロを打つにしても、ルールを覚えるのが面倒なのでシンプルなジャグラーシリーズのみです。そんなジャグラーっぽいパチスロゲームをプチコン4でも再現しようと思って作ったのが今回の作品になります。

タイトル: パチスロ風ゲーム+シミュレーター
公開キー: 4EKSK4321



パチスロ風のゲームは8年前にJavaScriptで作ったことがあります(その名も「JavaScriptパチスロ」)。基本はジャグラーっぽい感じに仕上げていますが、絵柄や音楽が違うのはもちろん、リール配列やリールストップの挙動なども部分部分で異なります。今回プチコン4で作ったものも、基本的にはジャグラーっぽい「JavaScriptパチスロ」のプログラムや作成資料を参考にしています。

作りはじめはリール配列からでした。リールの絵柄は基本的にプチコン4のプリセット画像を使っており、セブン(7)やBARについてもテキストをスプライト化したものを横に伸ばす形になっています。ただ、リールを動かしてみると、60fpsでも絵柄がカクカク動くように見えてしまい、この辺の調整も必要になります。ちなみにプログラム的には絵柄情報を入れ込んだ二次元配列を使って、それをユーザー関数で制御しながら動かす感じです。

続いてBETボタン、レバー、ストップボタンの配置をして、役(リプレイ、ぶどう、ボーナスなど)の当選フラグの発生と、それに伴うストップ時のリール制御を組み込みました。こちらは実際のパチスロの動作に合わせて、ストップボタンを押してから最大4コマまで滑らすようにしています。当選フラグが立っているものは滑らせてでも絵柄を揃えるようにして、フラグが立っていないものは絵柄が揃っていてもわざと外すような形です。リールが動いている時の絵柄のカクつきについては、半透明のスプライトを8つ用意して、それを縦に並べてぼかして表示することで、若干スムーズに動いて見えるように改良できました。

その後、デジタルカウンター(7セグメント)の設置をしたり、ボーナスゲームの演出を入れ込んだりして完成です。BGMについては当初自分で作ろうと思っていたのですが、曲が頭に浮かばなかったことから、今回は全てプチコン4のプリセットのものになっています。

あと、今作の「肝」とも言える「情報+設定」画面も用意しました。実際のパチスロ店で見られるような、ボーナス間のゲーム数推移やスランプグラフが見られるのと、台設定(通常の1~6に加えて爆裂モードも)、ウェイト有無、ボーナスゲーム省略有無、フラグ表示有無なども選べるようにしました。各種設定については、スマホアプリのパチスロシミュレーターも意識しています。

プログラムは以下の通りです。



昨秋以降、大よそ月1本のペースでゲームを作ってきましたが、今回の「パチスロ風ゲーム+シミュレーター」の完成でやり切った感があるのと同時に、頭の中に「作りたいゲーム」がない状態になってしまいました。また少しブランクを置いて、何かアイデアがひらめいてゲームが作りたくなったら、ゲーム作りを再開しようと思います。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


プチリバーシ - プチコン4でシンプルなオセロ風ゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年4月7日
プチリバーシ - プチコン4でシンプルなオセロ風ゲームプチコン4のCOM対戦型ゲーム第3弾は、シンプルなオセロ風(リバーシ)にしてみました。リバーシについては、8年前に「PHPリバーシ」という、名前の通りPHPで作成したものをWeb上で公開したことがあります。ただ、製作者である私が、オセロが得意ではないことから、PHPリバーシについてもCOM側はあまり強くはありませんでした(当時小学生だった息子にやっと勝てた程度です)。そんな感じで久しぶりのリバーシゲームの作成になりますが、プチコン4でアクション要素のないゲーム制作も久しぶりになります。

タイトル: プチリバーシ
公開キー: 48KQEA3DJ



作りはじめですが、盤面の描画、COM思考の基本的なところ、2人プレイモードの実装などを半日でやってしまいました。石(表裏が白と黒の丸いピース)については、めくる動作も含めてプチコン4のプリセット画像にあるので、わざわざ描画する必要がなくて、この部分は楽でした。「COM思考の基本的なところ」は、盤面のそれぞれのマスに優先順位を設定して、COM側の石が置けるマス(プレイヤー側の石をめくれるマス)が複数ある場合に、優先順位のより高いところに石を置く…、というものです。この部分は2次元の配列変数を使って処理をしています。

COM思考については、さらに状況に応じて各マスの優先順位を変動させる「例外処理」を色々と加えていきます。これにより「普通ならこんなところには石を置かない」という動作をある程度回避できるようになります。この例外処理を作っていくのに数日かかりましたが、その後はレイアウト調整やタイトル画面の追加を簡単に済ませて、合計8日間でゲームとして完成しました。

ちなみに8年前に作成したPHPリバーシと今回作成したプチリバーシを対戦させてみました。片方を先手、もう片方を後手として、1戦ごとに先手後手を入れかえる形で、合計2戦対戦させたところ、PHPリバーシの2勝、プチリバーシの2敗という結果に終わりました。プチリバーシの方が例外処理を凝ったつもりだったのですが、「8年間で脳の老化が進んでしまったのでは…」という思わず寂しい想像をしてしまいました。

プチリバーシのプログラムは以下の通りです。



今回のプチリバーシで、一連のCOM対戦型ゲームの製作は一旦区切りを付けようと思っています。次回はパチスロ風ゲームを作ってみようと思っていますが、こちらも過去にJavaScriptでパチスロ風ゲームを作ったことがあるので、ある程度頭の中に制作の流れのイメージはできています。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


プチエアホッケー - プチコン4でシンプルなエアホッケーゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年3月24日
プチエアホッケー - プチコン4でシンプルなエアホッケーゲーム前作の「ムカデ四匹対戦ゲーム」に引き続き、またCOM対戦型のゲームを作ってみました。今回はエアホッケーです。エアホッケーと言えば、私もひと昔前にゲームセンターでよくプレイした記憶があります。マレットでパックを思いっきり弾き飛ばして、相手のゴールに入る瞬間の爽快感はなかなかのものです。その爽快感とスピード感を何らかの形で再現したいと思いながら作ったのが、本作「プチエアホッケー」になります。

タイトル: プチエアホッケー
公開キー: 4T49NH3DJ



作りはじめは自分(マレット)とパックの動きからです。左スティックでマレットの操作、Bボタン(もしくはLボタンまたはRボタン)で加速、Aボタンでスマッシュという設定にしました。当たり判定や衝突時の反発処理は、いつもの物理演算プログラムを応用する形なので、基本的なところはそれほど手間がかかりませんでした。ただ、パックがかなりの高速(速い時は1フレームで数十ドット)で動くために、パックがマレットをすり抜けてしまうなど、不自然な挙動を起こすことがありました。そのため、1回の処理あたりの速度を1/5に落として、1フレームあたりの処理回数を5回にすることで、衝突時の精度を高めるようにしました。これによりパックの不自然な挙動がなくなりました。

その後、実際のエアホッケーで使われるテーブル、ゴール、マレット、パックの寸法を調べて、同じような比率でキャラクターをセットしてみました。しかし、マレットとパックが思いのほか小さくなりすぎて、かなり見づらい感じになってしまいました。テーブルを横に表示して全体を大きく表示させるアイデアもありますが、私は「プレイヤーが手前にいて、マレットでパックを向こうに押し出す…」感覚をできるだけ出したかったので、やはりテーブルは縦に表示する形を固辞しました。ただ、キャラが小さすぎるのはよろしくないので、マレット、パック、ゴールをそれぞれ大き目に調整して見やすく調整はしました。

COMの動きに関しては意外とてこずりました。サーブの時の位置調整や、スマッシュ始動の判断、パックが止まりそうになった時の追いかけ、それに高難易度を選択した場合にはパックの到達位置予測をするなど、色々な要素を組み込んでいったら、かなり複雑なプログラムになってしまいました。それに加えてファール判定やゴール後の処理などの場合分けを作っていくうちに変数が多くなりすぎてしまい、久しぶりに自分の中で把握しきれなくなってしまいました(変数表を作るのが億劫なもので…)。それでもどうにかこうにかして、ゲームとして成り立つ感じにはなってきました。

あとは見た目の調整をした上で、一旦完成、公開までしたのですが、その後にSwitchの携帯モードでプレイしたところ、気持ち大き目に調整したはずのマレットとパックがかなり見づらいことに気づきました。これではプレイに支障をきたしかねないので、マレットとパックの直径をそれぞれ+30%アップ、これに合わせて各種パラメーターを再度調整した上でサーバーに再アップしました。キャラサイズ辺りの設定は定数を1か所変えるだけで他も調整するようにしたこともあり、せっかくなのでトップ画面でLボタンとRボタンを同時に押すと、マレットとパックのサイズが切り替わる隠し機能も加えておきました。

プログラムは以下の通りです。



COM対戦型ゲームを続けて作りましたが、次回もCOM対戦型ということでオセロゲーム(リバーシ)を作ってみようかなと思っています。以前、PHPでもオセロゲームを作ったことがあるので、その時のCOM思考ルーチンをほぼそのまま適用するつもりでいます。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


ムカデ四匹対戦ゲーム - プチコン4でCOM対戦型ゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年3月3日
ムカデ四匹対戦ゲーム - プチコン4でCOM対戦型ゲームプチコン4のとあるクリエーターさんが、毎回のようにCOM対戦型のゲームをさくっと制作されていて、「凄いなあ」と思っていました。私自身、プチコン4で50作を超えるゲームを作っていますが、COMと対戦するゲームは「プチダートレース」だけで、プチダートレースを制作する時にも、COM側の動きを作るのは「結構大変だ」と思っていました。ただ、逆にCOM対戦型のゲームは自分にとってほぼ未開拓と言えるエリアで、制作するゲームの幅を広げていくにはここを攻めていくのが良いかなと思うようになりました。そこで制作したのが今回の「ムカデ四匹対戦ゲーム」になります。

タイトル: ムカデ四匹対戦ゲーム
公開キー: 4D5N38VQV



実はこのゲームは「バネの原理を使用する形で、ムカデのようなキャラを動かしたらどんな感じになるだろう?」というデモプログラムからスタートしてます。まだこの時点ではCOMとの対戦やマルチプレイヤーについては頭にありませんでした。ただ、実際に作ってみたところ、今までにない操作感が新鮮だったので「これでゲームを作ったら面白いかも」と思うようになりました。

それからしばらくしてCOMとの対戦やマルチプレイヤーのことが頭に浮かびました。自キャラ(ムカデ)の配列変数の値をコピペして少しだけいじるような感じで、全部で4キャラ分を動かせるようにプログラムを変更しました。また、フルーツ(バナナ)を食す動作も加えます。COMの動きについては基本シンプルで、「近くにあるフルーツに向きを合わせる」のと、「向いている方向に進んでいく」ということが中心になります。ただ、壁の向こうにフルーツがある場合にはそのまま固まってしまうこともあったので、「一定時間固まったら逆の方向を向く」というのも加えています。さらに高得点のスイカが出てきたら、そちらを優先に追いかけるなど、細かい所での調整もポツポツと追加しています。

フルーツを食べるだけのゲームだと少々シンプルすぎる気がしたので、ゲームが少し進むと爆弾を登場させるようにしました。爆弾に何かが触れると爆発して、爆風で周りのものが吹っ飛ばされるのと、フルーツは「焼きフルーツ」になって得点が高くなるように設定してみました。焼きフルーツのアイデアは、ゼルダの伝説BotWやTotKの「焼きバナナ」から思い浮かびました。

ゲーム本体が完成した後はタイトル画面の作成です。タイトルロゴは走査線状にスプライトを分割して、HSV関数でカラフルに表示するようにしています。また、背景でムカデ4匹xCOM操作のデモを動かすようにしました。ただ、そのままデモを動かすと、ややごちゃごちゃした感じがあったので、背景側はLFILTERでぼかしを加えています。

プログラムは以下の通りです。シンプルゲームの割には、COMの思考と物理演算でプログラムが長くなってしまいました。



そんな感じで、これからしばらくはCOM対戦型のゲームをメインにして作っていきたいと考えています。ちなみに次はエアホッケーみたいなゲームを作りたいと思ってます。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


慣性シューティング イネルシア - プチコン4でエクセリオン風ゲーム

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2023年12月16日
慣性シューティング イネルシア - プチコン4でエクセリオン風ゲームVtuberのヴァルナ・ユキさん(チャンネル: @varna-yuki)が、定期的にプチコン4のゲーム紹介をしている中で、私のゲームも毎回のようにプレイしていただいて、大変お世話になっています。そのヴァルナさんの発案で、「エクセリオン風ゲーム」をお題とした「シン・ヱクセリヲン展示会」が開催されることになり、私もそれに合わせてエクセリオン風のゲームを作ってみました。タイトルは「イネルシア」ですが、これはスペイン語の"inercia"という単語から取っており、「慣性」という意味になります。

タイトル: 慣性シューティング イネルシア
公開キー: 4N3S3NPP1



私自身、1980年代にエクセリオンはよくプレイして好きなゲームではあったものの、あまり得意ではありませんでした。いずれにしても数十年のブランクがあるので、アーケードアーカイブス版のエクセリオンを購入してプレイしてみました。やはり、「得意でない」というのは変わらないようで、何度やってももあっという間にゲームオーバーでした。

プチコン4での作り始めは、自機の動きとデュアルショットとシングルショット(オート連射)でした。自機の動きには慣性が付くのですが、慣性が付く物理演算系のゲームは今まで沢山作ってきたこともあって、ほぼ戸惑うことなく普通にできました。ただ、背景の動きが無いと、慣性があるのかが少し分かりづらい感じがしました。

エクセリオンは1983年のゲームということもあって、背景画像は疑似3D的な表現がされているものの、「手前に来ると画像が拡大」という処理はありませんでした。これはこれで味があるのですが、「せっかくプチコン4で作るので…」ということで、今回作るゲームについては画像の拡大を伴う疑似3Dの背景にしてみました。自機を左右に動かすと、背景の向こう側ほど大きく横に振れる形にして、旋回感を出すようにもしています。併せて、敵キャラや敵弾も出すようにして、当たり判定も付けてみました。こちらもプチコン4のSPCOL命令とSPHITSP命令の組み合わせで迷うことはありませんでした。

ちなみに本家エクセリオンの敵の動きや演出は1983年のゲームにしてはかなり凝っていて、正直なところ似せるのさえも困難でした。私のゲームの方はよりシンプルな動きになっているのと、敵キャラは全てプリセットの画像です。

ボーナスチャレンジも加えてみました。これがあるとゲームのメリハリが出る感じがします。空の画像も夜↔朝/夕↔昼と遷移するようにしていますが、これは以前作った「空飛ぶロボット3Dシューティング」と同じように、背景スプライトを最初から3枚重ねて「表示・非表示」の切替で見た目が変わるようにしています。

最終的に敵キャラを15種類用意して出現パターンを作成、最後にタイトル画面を挿入して完成です。今回はX(旧Twitter)上で「スコアランキングを入れると楽しい」という意見を聞いて、初めて「トップ5スコア」を採用してみました。プログラム的には配列変数を6つ用意して、6つ目の配列にゲームオーバー時のスコアを代入、それから逆順のソート(RSORT)をかけて上位5つだけを表示という形にしています。

前作に引き続き、本作品もBGMは自作です。ボーナスチャレンジとゲームオーバーの曲は今年の春に作ってストックしておいたもの、メインBGMはX上で見かけた「某TK氏のコード進行」をそのまま使い、作曲入門書に掲載されていたコード進行を追加、適当にベースやドラムパターンを乗せたものです。

プログラムは以下の通りです。制作期間は大凡1か月で、ほぼ週末の作業でした。



ゲームのアイデアを自分で一から考えて…、というのは個人製作ゲームの醍醐味ではありますが、今回のようにお題を与えられて作っていくというのもこれはこれで楽しいです。同じお題でも他の方は全く違う感じのゲームを作成したりして、これもまた楽しさの要因だったりします。



プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示)


| 前ページ(新しい記事) |     | 次ページ(過去の記事) |

※該当の記事タイトル一覧はリンク一覧から参照できます。