2008-05-07
Pythonでゲーム作りますが何か?
Pygame | |
![]()
このサイトでは、プログラミング言語Pythonと Pythonのゲーム用ライブラリPygameを用いてゲーム制作の過程やテクニックをまとめています。主に自分の知識の整理に使うつもりですが、これからPythonを学んでゲームを作ってみようという方の参考になれば幸いです。Pygameは知らなくても大丈夫ですが、Pythonの基本は知っていることを前提にしています。Pythonで書いたプログラムはWindowsでもMacでもLinuxでも動きます。全部オープンソースです。ソースコードの著作権を主張することはないので自由に使ってください。
(注1)ファイルをダウンロードするときは、ファイル名の後の
マークをクリックしてください。はてなの仕様のようでファイル名をクリックしてダウンロードしようとするとファイル名が変になります。
(注2)ブログはその他雑多な記事も多いため記事は連続しておらず記事上方にあるナビゲーションはほとんど役に立ちません。このページを起点としてリンク先へ、読んだら戻るといった使い方が楽だと思います。
基礎
- インストール - Python、Pygame、PyOpenGLをインストールする(2008/5/3)
- ウィンドウを表示する - まずはウィンドウを表示する(2008/5/3)
- テキストを描画する - 画面に「Hello, world!」というテキストを表示する(2008/5/4)
- 図形を描画する - 四角形、円、直線を描画する(2008/5/5)
- イメージを描画する - 画像を描画する、透明色を指定する(2008/5/5)
- マウスイベント - マウスクリック、マウス移動を検出する(2008/5/6)
- 画像の移動と跳ね返り処理 - アニメーションの基本(2008/5/9)
- キーイベント - キーボードの押下を検出する(2008/5/10)
- BGMと効果音の再生 - BGMと効果音を鳴らす(2008/5/11)
- スプライトの使い方 - 画像と位置をまとめて管理する(2008/5/17)
- スプライトグループの使い方 - スプライトをまとめて管理する(2008/5/17)
- キャラクターアニメーション - 「足踏み」の作り方(2008/5/18)
- フルスクリーンモード - ゲームはやっぱりフルスクリーン(2008/6/21)
- ファイアボール - ターゲットへ向けてまっすぐ飛ばす(2008/10/25)
- フォントファイルのロード - 添付フォントで日本語を描画(2009/1/8)
ブロック崩し
- パドルの移動 - マウスでパドルを動かす(2008/8/9)
- ボールの反射 - パドルでボールを跳ね返す(2008/8/10)
- ブロックを壊す - ボールが当たるとブロックが壊れる(2008/8/11)
- ボールの反射音 - ブロックを壊したときに音を鳴らす(2008/8/15)
- 反射方向の調整 - 数学ってすごく役に立つよね(2008/8/15)
- スコアの表示 - 連続してブロックを壊すほど高得点!(2008/8/23)
インベーダー
- 自機を動かす - 地球防衛軍、発進!(2008/8/30)
- ミサイルの発射 - 構え、狙え、撃てー!(2008/9/6)
- エイリアン襲来 -
(2008/9/13) - プレイヤーの攻撃 - ミサイルで倒せるようになった(2008/9/20)
- エイリアンの反撃 - エイリアンのビーム攻撃(2008/9/27)
- 爆発エフェクト - どっかーん(2008/10/11)
- ゲームオーバー画面 - タイトルとゲームオーバー画面追加(2008/10/12)
横スクロールアクション
- 左右移動 - パイソンが主役!(2008/11/15)
- ジャンプ - つ、つちのこ!?(2008/11/23)
- ブロックとの衝突判定 - 床と壁(2008/11/29)
- 二段ジャンプ - ジャンプ力強化(2008/12/7)
- マップファイル - ファイルからマップを読み込む(2008/12/20)
- マップスクロール - 大きなマップを読み込む(2009/1/3)
RPG
- プレイヤーの描画 - はじめに勇者ありき(2008/5/22)
- マップを作る - はじめての世界創造(2008/5/24)
- プレイヤーの移動 - 勇者は第一歩を踏み出した(2008/5/24)
- マップとの当たり判定 - 勇者は無人島に閉じ込められた(2008/5/26)
- 足踏みさせる - 移動しなくても足踏みはさせる(2008/5/29)
- カニ足移動を直す - こっち見んな(2008/5/31)
- オブジェクト化 - ここまでのまとめ(2008/5/31)
- マップのロード - いろんなマップが読み込める(2008/6/1)
- タイルベーススクロール - 勇者はいつでも世界の中心(2008/6/7)
- ピクセルベーススクロール - ドラクエみたいなスクロール(2008/6/14)
- キャラクターを追加 - 流浪の王様たち(2008/6/21)
- キャラクターイベント - イベントファイルの導入(2008/6/22)
- メッセージウィンドウの表示 - すべてのウィンドウの基礎(2008/6/28)
- メッセージエンジン - 文字列の描画(2008/6/28)
- 会話する - 王様は静かに語り始めた「しろは まだかい?」(2008/6/28)
- 流れるメッセージ - 会話は流れるように(2008/6/28)
- キャラクターチップとマップチップ - 全員集合!(2008/6/24)
- バイナリマップのロード - マップの保存(2008/7/5)で作ったバイナリマップをロード(2008/7/5)
- マップ間移動 - お城ができて王様たちも大喜び(2008/7/12)
- BGMを鳴らす - 音楽が鳴ると雰囲気が変わる(2008/7/12)
- 効果音を鳴らす - ザッザッザッって鳴ります(2008/7/13)
- デバッグ情報の表示 - 画面に座標とか表示(2008/7/20)
- 宝箱と扉を開ける - 王様がほうびをくれるそうです(2008/7/20)
- コマンドウィンドウ - ドラクエと同じになってしまった(2008/7/20)
- 町をつくる - マップを追加するのは簡単(2008/7/21)
- パーティー - 仲間ができたよ(2008/7/26)
- ゲーム状態の導入 - タイトル画面がださい?ほっとけ(2008/7/27)
- 戦闘画面 - まだたたかえない(2008/8/3)
マップエディタ
- カーソルの移動 - マップ内を自由に移動(2008/6/29)
- マップチップの描画 - マウスでお絵描き(2008/6/29)
- マップチップパレット - 1色のお絵描きじゃつまらないでしょ?(2008/6/30)
- 選択マップチップの表示 - グリッドも表示できるよ(2008/7/1)
- マップの新規作成 - テキストを入力するInputWindowも作成(2008/7/4)
- マップの保存 - バイナリ形式でマップを保存(2008/7/5)
- マップの読み込み - バイナリ形式マップを読み込む(2008/7/5)
ミニゲーム
- 1945 - 縦スクロールシューティング(2008/10/13)
人工知能
- ライフゲーム - 人生ゲームじゃないよ(2008/9/14)
PyOpenGL
- OpenGLウィンドウの表示 - OpenGL用ウィンドウの作成(2008/8/24)
- プリミティブの描画 - 点、線、三角、四角、ポリゴンの描画(2008/8/24)
- 立方体の描画 - 3Dオブジェクトの描画(2008/8/31)
- ティーポット - 簡単に3Dオブジェクトを作れる(2008/9/6)
- 平行移動・回転・拡大縮小 - アフィン変換(2008/9/14)
- 回転キューブ - 回転する立方体(2008/9/15)
- 神々のトライフォース - 某ゲームのあれ(2008/9/15)
- 惑星 - 太陽と地球と月みたいなの(2008/9/15)
- ライティング - 光あれ!(2008/10/11)
- キーボードの利用 - キーボードで物体を動かす(2008/10/18)
リンク集
トラックバック - http://d.hatena.ne.jp/aidiary/20080507/1269694935
リンク元
- 1925 http://pygame.skr.jp/
- 1140 http://d.hatena.ne.jp/seikenn/20080506/1210088946
- 1000 http://news4wide.livedoor.biz/archives/1685761.html
- 917 http://pygame.skr.jp/index.php?FrontPage
- 498 http://www.google.co.jp/search?q=python+ゲーム&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:ja:unofficial&client=firefox-a
- 285 http://www.google.co.jp/url?sa=t&rct=j&q=python ゲーム&source=web&cd=1&ved=0CBwQFjAA&url=http://d.hatena.ne.jp/aidiary/20080507/1269694935&ei=TPeETt2AINSgtgeg76hB&usg=AFQjCNHGOVKaTf6wiZbZt8mUasyxVJP6Sw
- 222 http://vipprog.net/wiki/prog_lang/python.html
- 187 http://search.yahoo.co.jp/search?p=python+ゲーム&search.x=1&fr=top_ga1&tid=top_ga1&ei=UTF-8
- 180 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=python+ハイスコア
- 172 http://search.yahoo.co.jp/search?p=Python ゲーム&sp=1&aq=-1&ei=UTF-8&fr=top_ga1_sa&SpellState=

長らく放置されていたので、心配していたんですが、まあ安心しました。
これからも役に立つ記事を書いていってください。
本当にありがとうございました。
まだ、未完成と言うことで頑張ってください、応援しています。
windowsで実行形式にできる記事、pygameとネットワーク通信を重ねあわせるなどの記事が早くみたいです。
おねがいします!