2018年7月23日シェアツイートシェアブックマークPythonでできることの一つ「ゲーム開発」。今回は、Pythonを使ったゲーム感の全体像とサンプルをご紹介します。Python初心者からPython上級者まで楽しんで頂けると思いますよ。No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアですCodeCampとは?(受講生体験記)「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。Game)本格的なゲームを作成まとめ【Python入門】Pythonでゲームを作れるのか?詳しく解説をしてみたPythonとゲーム画像引用:GitHub/DonkeyKong-Pygameゲームというと娯楽的、余剰的なイメージで「遊び」を連想しますが、Pythonゲームの場合は別格。老若男女、Python学習の取っ掛かりにゲームは非常に有効です。変数や関数、引数といった文法から入るより、ゲームで手を動かすことで「Pythonができるようになるとこんなことができるんだ」とイメージが湧きやすく、多くの方がモチベーションUPに。結果的にPythonスキルが身につくと、人工知能やデータ解析など仕事としてのスキルUPにも。した理由でPython学習初期に、ゲームに興味を持つ方が多いように思います。Pythonで書かれたゲームを機械にプレイさせてそれを機械学習、そしてゲームクリアの最適化が実験中。これが何の役に立つかというと、レースゲームからは自動運転技術への活用、パズルゲームでは配達の最適化などが検証。ゲームを楽しむというのではなく、実務としてPythonを使ったゲームが求められているんですね。したことから、これからPythonを学ぶにあたって、ゲーム開発も経験しておきたいですね。SimulatorPythonで開発されたゲーム事例これからPythonでゲームを作成&体験する前に、Pythonでどれだけのゲームができるか知っておきたいですよね。以下にPython製のゲームをいくつかリストアップ。パソコンで本稿閲覧中でお時間のある方は、一度リンク先のゲーム見て下さい。Novel/アニメ系はじめて上記のゲームを見た時「えっ、Pythonでここまでできるの?」と正直思いました。比べると同時処理能力が低くなると言われてはいますが、それでも見応え・やりごたえは十分で感動です。このレベルのもの作ろうと思うと大変ですが、Python初心者でも楽しめるゲーム・プログラムは多数公開されています。実際にPythonでゲーム開発を行う場合は、以下の3手法がメイン。純粋にPythonコードでゲーム開発Webやアプリ開発でフレームワークやライブラリが使われるように、ゲーム開発においてもある程度パッケージ化されたソフトを使うと開発の手間が省略できたり、メンテナンス性が向上します。Engineもたくさん開発されて、それぞれ特色を持ったモノが公開中。以下に主だったソフトをご紹介しますね。>>cocos2dPanda3DRen'PyGodotライブラリとは:特定のタスクを実行できるコードセット。ゲームエンジンとは:いくつかのライブラリをもったソフト。ゲームエンジンの方が多機能。選択するかは、開発するゲームがただのPython学習用なのか、それともAndroidやiOSとしてリリースするのか、Web公開するのかにもよって異なります。言えば、みんなが使っている人気のソフト(PyGameなど)を使うと困った時に役立つ情報も多いと思いますし、誰かに教えてもらうことも可能でしょう。CodeCamp提供のPythonデータサイエンスコース当メディアを運営しているCodeCampではPythonデータサイエンスコースを現役エンジニアのマンツーマンレッスンという形で提供しています。Game)ゲーム開発の初級というと「じゃんけんゲーム*」などが思い浮かびますが、今回は「スネーク・ゲーム」。蛇を動かして餌をゲットするシンプルなゲームです。このスネークゲームをあえて以下の3パターンで作成。これによってPythonゲームのライブラリ感やプレーンテキストの使用感などをご確認頂けると思います。基本的にターミナル(コマンドプロンプト)からでないとプログラムを実行できませんでした。snakeゲームを作ってみます。比べると随分コードが長くなり、オブジェクト指向の構成となっています。実行可能なプログラムです。ゲームをプレイしてみます。使っても、結構長くなりますね。ゲームなのに、どれもコードが長くてビックリですよね。3番目のようなオブジェクト指向が採用されます。命令文も、同じ動作結果なのに違うコードで表現していますので勉強になりますね。ゲームでも、使うライブラリが違えばコードの書き方も変わります。使ってみるのが賢明かもしれませんね。本格的なゲームを作成せっかくなので少し本格的なゲームをご紹介。コードを見てみると、プレイするのとは違って一つ一つの動作をコードで表現するのって結構大変そうですよね。ちなみにPythonで書かれたストIIも機械学習で最適化することが可能ですね*。https://gym.openai.com/こちらはゲームを機械学習で楽しむためのライブラリ。Python上級者向けの内容になりますが、Pythonで人工知能や機械学習スキルを習得したいと考えている方も多いと思いますのでご紹介。ライブラリ「gym」さえインストールできればサンプルは比較的簡単に動くと思います。こちらは機械学習の学習回数やパラメーターを設定。str(sum(rewards)/total_test_episodes))Scoreの点数が上がるように学習の最適化をしたいですね。ディープラーニングのフレームワーク「TensorFlow」を用いて運転の最適化を図るプログラム。エミュレータ(mupen64plus)ってあるんですね、スゴイです。CodeCamp提供のPythonデータサイエンスコース当メディアを運営しているCodeCampではPythonデータサイエンスコースを現役エンジニアのマンツーマンレッスンという形で提供しています。このコースの特徴は数学的な知識がない状態から実務で使えるプログラミングスキルを獲得できる「データ収集」「データ加工」「モデル構築」を習得できる企業のマーケター向けの研修にも取り入れられているカリキュラム無料レッスン受講後の申し込みで10,000円クーポンをプレゼントしています!ぜひお試しください。\AIエンジニアに必要なスキルが身に付く/CodeCampの無料体験はこちら▶︎無料体験レッスンの申し込みはスマフォで1分で完了!まとめ「Pythonでゲーム」、簡単なものからグラフィックスを駆使した本格的なものまでピンキリです。仮に「ゲーム開発」を主に考えるならC++やCの方がいいと言われますが、ゲーム開発をするのかデータ分析をするのか人工知能を開発するのか定かでない場合は、Pythonがいいかもしれませんね。今回は「Pythonのゲーム感」全体像をお伝えするためにコードの解説などは控えさせて頂きました。オンライン×マンツーマンでPythonスキルをスムーズに習得できると思いますよ。家事も仕事もプログラミングも。【2020年版】社会人でも通いやすいプログラミング教室5選|選び方の基準も解説プログラミング学習プログラミングスクール・サービス「エンジニアは女性のキャリアとして魅力的」モノづくり好き理系女子がWebエンジニアへ転職するまで受講生インタビュープログラミング未経験で介護師からエンジニアへ。家事も仕事もプログラミングも。受講生インタビュープログラミング習得後、フリーランスに転身。受講生インタビューフリーランス塾講師からエンジニアへ26才で転職。先生の支えがあって成長できました。学習ガイドtwitterLINE。