この記事を選んでくれたあなたは、すでにPythonが書ける方か、ゲームプログラミングに興味を持っている方かもしれません。
私がこの記事でお伝えしたいことは、“ゲームプログラミングって奥深く面白い”です。
静止画像を使って物が動いているかのように見せる技術は、マジックに似たものがあるように思います。
そんなマジックのタネを少しのぞいてみませんか? きっとマジックのタネ明かしをされた時のように、仕組みがいかに簡単であなたもその技術を取得できることを実感いただけるかと思います。
もくじ
こんなあなたになれます!
- 現場で働けるゲームクリエータ
- 自作ゲームを作れるパイソニスタ
なぜ、ゲームプログラミングを学ぶべき?
プログラミング文法を一通り学んだら、ゲームプログラミングの学習をおすすめします。
理由は、ユーザインターフェース、画像、サウンド、シナリオ遷移と学べることが多いからです。
ここで言うユーザインターフェースとは、画面上にあるメニューやボタン、キーボード及びゲームパットです。
一般的なアプリケーションでは、マウス操作でボタンを選択して、画面のバックグラウンドでプログラムを動かしますが、ゲームプログラミングだと、それ以外にもゲームパットに対応しないといけません。
また、画像やサウンドもシナリオ毎に色々なパターンの材料を用意し、それを高速に切り替えながら、画面に動きを表現する必要があります。もちろん、画面のチラツキにも対処する必要があります。
それらのコードを有効にしたり無効にしたりして、その違いを実際に体験すると、想像以上に楽しくなり、よりゲームプログラミングのことを知りたくなります。
これらはほんの一例で、他にもゲームプログラミングには細かな技がたくさんあります。
これらの技術については、後ほど紹介する書籍を読むことで知識としてインプットできます。
なぜ、Pythonでゲームプログラミングなのか?
ゲームプログラミングを勉強する際に、どの言語を使って勉強しようかと考えるかもしれません。以下の理由よりpythonがおすすめです。
- 集中してゲームプログラミング(技法)を学ぶ
- デバック作業がしやすい
- ライブラリが豊富
集中してゲームプログラミング(技法)を学ぶ
ゲームクリエータになるためには、ゲーム特有のプログラミング(配列マップや衝突判定等)を知る必要があります。
それらを学ぶためには、シンプルな文法構造を持つPythonを使うことをおすすめします。
理由は、高度なプログラミング言語を使った場合、同じ機能を実現するために、より多くのコードを書く必要があるからです。
それにより、プログラムエラーのバグ混入の確率を高めてしまい、何を勉強しているかわからなくなってしまうからです。
集中してゲームプログラミング技法を学ぶためには、pythonがいいでしょう。
デバック作業がしやすい
またプログラム作成時には、設計と違う振る舞いをするバグが発生します。
初心者だとバグを修正するのに時間がかかるため、コードの修正および実行の繰り返しがスムーズにできるプログラミング言語を選択する必要があります。
Pythonは、インタプリタ型なので、コード修正後すぐにプログラム実行できます。
ライブラリが豊富
複数の機能をひとまとめにしたライブラリが、Pythonにはたくさんあります。
例えば、ゲームメイン画面を表示する機能を持ったGUIライブラリもありますし、画像、サウンドやキーボード操作をシステムレベルで処理できるGAMEライブラリがあります。
そのようなライブラリがあるため、ゲームコンテンツ制作に集中できます。
- GUIライブラリ → Tkinter
- ゲームライブラリ → pygame
- 数値計算ライブラリ → numpy
pythonゲームプログラミングおすすめ書籍
1. 金宏 和實 (著)はじめるPython! ゼロからのゲームプログラミング
著者は、2000年から2006年に渡り、日経ソフトウエア誌にC言語やPHPの連載や特集を書いており、私もお世話になった一人のエンジニアです。 この本でも、Python入門書の中でも飛び抜けてわかりやすい解説をしてくれ、ゲームプログラミングも作ったことがない読者におすすめです。 この本を読み終える頃には、Pythonを使ったゲームプログラミング作成を一人でできるようになります。
2. 廣瀬 豪 (著) Pythonでつくる ゲーム開発 入門講座
筆者は、ゲーム業界で25年以上ゲーム制作をしてきた経験より、ゲーム制作技術だけでなく、ゲーム業界事情にも精通しています。
この本では、合計9つの異なる系統のゲームを作れます。 PythonライブラリのTkinter(GUI)やPygame(Gameに特化したライブラリ)を使ってプロの開発現場でも使われるゲームプログラミング技法を学べます。
Chapter11, 12でRPGを作りますが、それを理解できるようになれば、ゲームクリエータとして十分な基礎が身につきます。
ゲーム業界の筆者だから知るゲーム業界ネタのコラムはなかなか興味深く、あなたのモチベーションをさらに上げてくれます。
3. 廣瀬 豪 (著) Pythonでつくる ゲーム開発 入門講座 実践編
”Pythonでつくる ゲーム開発 入門講座”の続編です。
筆者もおっしゃる通り、python文法に自身がある方は、いきなりこの本から学習を始めましょう。
実践編だけあって内容はハードです。しかし、アクションゲーム、シューティングゲーム、擬似3Dカーレースと魅力ある内容があります。
それぞれのゲームを見た瞬間、レトロゲームのボン◯ーマン、グラ◯ィウスやマリオ◯ートに似ていると思ったのは私だけでしょうか。是非、サンプル画像を確認ください。
Pythonマスターへの近道
初学者が短期間で効率よくプログラミング力を上げるのはかなり難しいこと。
私も買い切りの教材を買って勉強したんですが、つまずく回数が増えてモチベーションが下がって積み教材になったことがあります。
そんなことになる前に、なんでも回答してくれるようなメンターがいたり、お互いに頑張れる仲間がいると想像以上に効率よくプログラミング習得ができます。
もしあなたがITエンジニアを目指すなら
もしあなたがITエンジニアを目指すなら、一度プログラミングスクールを調べてみることをオススメします。
月額制で、就職活動までバックアップしてくれるプログラミングスクールもあるので、情報収集をしてみてください。
説明会(オンラインor来校)はもちろん無料なので色々な情報を集めてみると目標までの最適解が見つかります。
11月5日まで最大割引価格で購入可能 : 1,800円〜
公式サイト⇒ 米国シリコンバレー発祥、世界最大級のオンライン学習プラットフォーム!【Udemy】
●【ビジネスマン向け】Excel×Python自動化の超基礎