見出し画像

AIプログラミング日記:物理演算を試していたら「スイカゲーム」っぽい何かができた件


ポリゴン落下の物理演算

物理演算のお試しとして、Pygame(ゲームライブラリ)とPymunk(2次元物理学ライブラリ)を使って、ポリゴン(多角形)が落下するシミュレーションプログラムを作ってみました。
実行すると、三角、四角、五角、六角といったポリゴンが自然落下して積み重なります。また、マウスボタンをクリックすると、追加で落下し積み重なります。弾性があって、かなりブヨブヨした感じです。

ポリゴンが接触すると合体

これを見ていたところ、最近話題の、

スイカゲームみたいじゃね?

と思いました。そこで、同じ頂点のポリゴンが接触したら、合体して1つ頂点の多いポリゴンに進化するようにしてみました。

スイカゲームとぜんぜんちがーう!

マウスをクリックすると、三角形がじゃんじゃん落ちてきて、同じ頂点のポリゴン同士が接触すると、四角形→五角形→六角形と変化します。

なんかそれっぽい…で、どうする?

実を言うと、この私、本家スイカゲームをプレイしたことが一度もありません。なので、スイカゲームの細かい部分でのルールはさっぱり知らなかったことを思い出しました。

調べてみると、スイカゲームはフルーツを1つずつ、狙いを定めて丹念に落としていくゲームでした。また、10回ほど合体させてスイカにすることが目的のようです。

それに対して作っているものは、そもそも動きがブヨブヨしてますし、じゃんじゃんポリゴンが落下するという、なんか根本的に違いすぎて笑うしかない感じ。

ゲームぽく仕上げてみた

とてもじゃないですが、本家スイカゲームには遠く及びません。それでも、10回ほど合体したらメッセージを表示したり、さほど意味のないスコア表示を付けて、それっぽく仕上げてみました。

ちなみに、マウスボタンをカチカチ押すのが面倒ですし、ボタンかイカれそうなのでボタン押しっぱなしで連続落下するようにもしています。
アニメーションGifにしてみました。こんな雰囲気です。

おもしろさについてはウームな出来か

実行すると、最初にバラバラといくつか自動でポリゴンが落ちてきます。あとは、マウスボタンを押して(押しっぱなしOK)ポリゴンを落として合体させていくだけです。
ゲームの目的は、薄ピンクのポリゴンを2つ合体させることです。
ゲームとしての難易度は割と難しいようで、私自身、ほとんど成功したことがありません。
ただ、ゲームのおもしろさとしては、たいしたことないです(笑)。
物理演算でゲームっぽいものができたことには大満足ですけどねー。

今日もまた、ノーコーディングプログラミングでつまらぬコードを生成してしまった…

いい感じで整った! AIプログラミング最高だぜ!

実行プログラムを公開します

この、名前もついていない無名のゲームっぽい何かの実行プログラム(Windows用)を公開しますので、本当に暇な方は遊んでみてください。
使い方は、zipファイルをダウンロードして解凍して、exeファイルをダブルクリックして実行するだけです。

いいなと思ったら応援しよう!