![見出し画像](https://assets.st-note.com/production/uploads/images/57130399/rectangle_large_type_2_daa67417fa559dfa63204b5c0801444a.png?width=800)
【Pythonでゲーム制作】パックマンを作ってみた
どうもです。あいぺけです。
今回の作成したゲーム、というか参考にしたゲームはパックマンです。
ビジュアルをパク…、参考にさせていただいた感じですね。
ゲーム内容は、自分で色々 考えて作成しています。
良かったら見ていって下さい。
1. 制作物の紹介
動画をのせておきます。
見た目は パックマンですが、中身の機能についてはオリジナルのものができたと思います。
なぜ、パックマンにしたのかというと、絵が楽だから。
これにつきますね。(笑)
絵を描いたりするのって割と手間なんですよね。
とりあえず、パワポにスクショで作ってますが、まずまずのものは作れるので、今はこれでいいかと。
タイトル画面とかの手抜き感がすごいですね。
基本的にはプログラムの学習が目的なので もう良いやって感じ。
2. コード紹介
下のGitHubにコードをのせておきます。
作成した画像など、使用したものも一緒にのせています。
今回のゲームを作成することになった経緯は、実際にネット上のパックマンをプレイしたところ、「敵が追尾するような処理ってどう書くんやろ…」と思ったのが始まりです。
調べてみると迷路探索法のアルゴリズムがあると知り、これで作れるんじゃね…、みたいな感じ作り始めました。
実際には、『幅優先探索法』を使いました。
この探索法を使うことで、敵の位置からプレイヤーの位置までの最短ルートを割り出すことができました。
プレイヤーの位置から逆算していって、次の移動方向を求めたりと色々しましたが、説明とかは追々。(たぶん)
あと、今までのゲームと異なる処理は、プレイヤーを中心に画面が動いて見えるようにしたことですね。
これができるようになったことで、よくあるスーパーマ◯オみたいなゲームが作れると思います。(願望)
ちなみに 迷路の自動生成は、前回 投稿した(『AIの迷路自動探索を作ってみた』)時と同じく棒倒し法です。
行き止まりまでが遠いと、すぐ詰みますので迷路の生成方法はこれがいいかなと思います。
3. 作ってみた感想
実際に遊んでみて、「まあまあ、いいんじゃない?(何が)」、といった感じですね。
ハマるほどではないですが…。
色別のパックマンの効果、敵のタイプについては作りながら思いついたものを取り入れていった感じで、完全にその場その場って感じでした。
それでも、一応は完成までもっていけたので、今回も良しとします。(笑)
ゲームを作っていて、地味に難しいのが難易度だと思います。
今回も敵の数や移動の速さ、アイテムの数などのいくつかの要素を調整していく必要があるので、なかなか…
自分は、ある程度の調整ができれば切り上げるようにしています。
あとは、エラーで止まらないかとかですかね。
4. 最後に
前回に引き続き、迷路を扱ったので他の迷路の作成方法や探索法を試してみるのも良いかなと思っています。
いろいろ理屈をつけて、さも真っ当な理由で迷路の生成に『棒倒し法』を使ってる感じにしていますが、正直 1番楽に作れそうだから っていう理由なんですよね(笑)
まあ、今回のようなゲームであれば、この方法が適切だと思いますが。
また、試してみることができれば投稿とかしてみたいと思います。
今回も最後まで読んでいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?