We may earn an affiliate commission when you visit our partners.
Course image
柳井 政和

 このコースでは、Pythonの基礎からはじめ、レトロ風RPGを作り、配布可能なWindowsのEXEファイルを作るまでを学びます。

 あなたはこのコースで、次のような事を学びます。

・PythonでWindows向けアプリケーションを作るときの環境構築。

・Pythonの文法の基本。

・Python向けゲームライブラリPygameの使い方。

・タイトル、マップ、バトルといったシーン移動をともなうレトロ風RPGの開発。

・配布可能なWindows向けEXEファイルの作成。

 コースで紹介する文法やゲームのコードは、サンプルとして全てダウンロードできます。

‥‥‥‥‥‥‥‥‥‥

 コースは、次のように進みます。

● 第1章 イントロダクション

 ・コースの説明

 ・作成するレトロ風RPGの説明

● 第2章 開発環境の構築

 ・Visual Studio Codeでの準備

 ・Pythonの導入

 ・venvの利用

 ・Pygameの導入

 ・PyInstallerの導入

 ・mypyの導入

Read more

 このコースでは、Pythonの基礎からはじめ、レトロ風RPGを作り、配布可能なWindowsのEXEファイルを作るまでを学びます。

 あなたはこのコースで、次のような事を学びます。

・PythonでWindows向けアプリケーションを作るときの環境構築。

・Pythonの文法の基本。

・Python向けゲームライブラリPygameの使い方。

・タイトル、マップ、バトルといったシーン移動をともなうレトロ風RPGの開発。

・配布可能なWindows向けEXEファイルの作成。

 コースで紹介する文法やゲームのコードは、サンプルとして全てダウンロードできます。

‥‥‥‥‥‥‥‥‥‥

 コースは、次のように進みます。

● 第1章 イントロダクション

 ・コースの説明

 ・作成するレトロ風RPGの説明

● 第2章 開発環境の構築

 ・Visual Studio Codeでの準備

 ・Pythonの導入

 ・venvの利用

 ・Pygameの導入

 ・PyInstallerの導入

 ・mypyの導入

● 第3章 Pythonの基本的な文法

 ・Pythonの特徴

 ・変数や単純な型、複数の値を格納する型

 ・関数、条件分岐、繰り返し処理、例外処理

 ・モジュール、クラス、async/await

● 第4章 Pygameの使い方

 ・Pygameの基本的な処理

 ・画像描画、図形描画、文字描画、スプライト

 ・キー入力、マウス入力、音声

● 第5章 mainと初期化

 ・プログラムの開始場所

 ・初期化

● 第6章 データを作ろう

 ・保存するデータ

・ゲーム、アイテム、マップ、イベント

 ・処理

・成長、JSON入出力

 ・保存しないデータ

・アクション、アプリケーション、音声、バトル、敵、シーン

● 第7章 画像や描画の処理

 ・画面、画像、文字、ダイアログの表示など

● 第8章 ゲームの処理

 ・BGMとSE

 ・キーなどのイベント

 ・シーンとシーン管理

● 第9章 タイトル シーン

 ・キャラクターの描画

 ・テキストの描画

● 第10章 マップ シーン

 ・移動とイベント管理

 ・キャラクターとマップの描画

 ・ステータスとミニマップの描画

● 第11章 バトル シーン

 ・メニューと進行管理

 ・戦闘画面の表示

 ・戦闘の計算

 ・エフェクト表示

● 第12章 EXE化して遊ぼう

 ・ゲームのEXE化

 ・画像保存

‥‥‥‥‥‥‥‥‥‥

Enroll now

What's inside

Learning objectives

  • Pythonの基本を身に付けます
  • Python用ゲームライブラリpygameの使い方を学びます
  • Pythonを使って簡単なレトロ風rpgを作ります
  • Windows用アプリケーションとしてpythonプログラムをexe化します

Syllabus

このセクションでは、コース全体の概要や、作成するレトロ風RPGの仕様について学びます。このセクションを完了することで、コースの全体像をつかめます。

ここでは、本コースのおおまかなロードマップを示します。何が学べるのか、何ができるようになるのか、どんな進め方をするのか、どんな学習をするのかを紹介します。

Read more

本コースで作る「レトロ風RPG」が、どんなゲームなのかを把握します。

本コースで作る「レトロ風RPG」で使用する画像や音声、フォントといった素材を確かめます。少ない素材でゲームを作れることを学びます。

このセクションのまとめです。問題に答えて、内容を覚えているか確認します。

ここでは、サンプルプログラムのソースコードをダウンロードします。

ここでは、Visal Studio Code を導入して、必要な拡張機能をインストールします。また、Visal Studio Code を利用した、プロジェクトの読み込みとファイルの開き方も学びます。

ここでは、Visal Studio Code のターミナル(CLI)で、ディレクトリを移動する方法を学びます。

ここでは、Pythonの導入をおこないます。また、ターミナルを用いて、Pythonのプログラムを実行してみます。

ここでは、Python標準のツールであるvenvを使い、仮想環境を作ります。また、仮想環境での操作を解説します。

Pythonでクロスプラットフォームのゲームを開発できるモジュール群であるPygameを導入します。また、動作確認をおこないます。

Pythonで書いたプログラムを1つにパッケージしてexe化するツールPyInstallerを導入します。また、注意点を説明します。

Python用のオプションの静的型チェッカーmypyを導入します。また、使い方を説明します。

Pythonの特徴を、他のプログラミング言語との比較で学びます。

変数や単純な型について学びます。Pythonのプログラムの基礎的な書き方も学びます。

複数の値をまとめてあつかうデータ型について学びます。リストやタプル、辞書や集合について学びます。

処理をまとめる関数について学びます。

条件式の結果で処理を変える条件分岐について学びます。

繰り返し処理をおこなう for 文や while 文について学びます。

Pythonの例外処理について学びます。

Pythonで別のプログラムを読み込むモジュールについて学びます。

Pythonのクラスについて学びます。

Pythonの非同期処理を制御する async/await ついて学びます。

Pygameを利用してプログラムを書くときの、基本的な構造を学びます。

Pygameの画像描画について学びます。

Pygameの図形描画について学びます。

Pygameの文字描画について学びます。

Pygameのスプライトについて学びます。

Pygameのキー入力について学びます。

Pygameのマウス入力について学びます。

Pygameの音声利用について学びます。

初期化や描画について、サンプルからどのように改良するかの話をします。

実際の初期化処理の内容を学びます。

実行用のバッチファイルの作り方を学びます。

この章の内容を振り返る練習です。

この章で学ぶことを、まずは把握します。

保存するデータです。主人公の情報や、マップの情報などを保持します。ゲームの一番最上位に当たるクラスを作ります。

前回の続きです。

保存するデータです。アイテムの情報を保持します。

保存するデータです。マップの情報を保持します。また、マップを生成します。

保存しないデータです。シーンの情報です。

保存するデータです。マップ上で発生するイベントの情報を保持します。また、マップ イベントを生成します。

データの補助的な関数です。主人公の成長の計算をおこないます。

データの補助的な関数です。保存するデータとJSONを相互に変換して、ファイルに書き込んだり、ファイルから読み込んだりします。

保存しないデータです。バトル シーンでの行動の情報です。

保存しないデータです。アプリケーションの描画単位やバッファ サイズ、画像ファイルのパスなどの情報です。

保存しないデータです。音声ファイルのパスなどの情報です。

保存しないデータです。バトル シーンで使う情報です。

保存しないデータです。敵の情報です。

スクリーン描画を管理する部分を学びます。小さなドット絵を、どのようにスクリーン全体に拡大するかを学びます。

キャラクターの画像や、土地の画像など、一定のサイズで並べた画像を読み込む処理を学びます。

スプライトを継承したクラスを学びます。ここでは、キャラクターの描画をおこないます。

スプライトを継承したクラスを学びます。ここでは、マップの描画をおこないます。

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a hands-on approach to learning Python by guiding learners through the creation of a retro-style RPG, which can be highly motivating for beginners
Culminates in creating a distributable Windows EXE file, which is a practical skill for developers targeting the Windows platform
Explores the use of Pygame, a popular Python library for game development, which allows learners to create cross-platform games
Covers Python's basic syntax, including variables, data types, functions, and control flow, which are fundamental concepts for any Python programmer
Examines game development concepts such as scene management (title, map, battle), which are essential for creating interactive game experiences
Introduces tools like venv, PyInstaller, and mypy, which are valuable for managing dependencies, packaging applications, and improving code quality

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

レトロrpg作成で学ぶpythonとゲーム開発の基礎

受講者によると、このコースはPythonの基礎からゲーム開発までを実践的に学べる点が高く評価されています。特に初心者にとって分かりやすく実際に動くレトロ風RPGを最後まで作り上げられる達成感が大きいとのこと。Pygameの使い方も丁寧に解説されておりコードも理解しやすいとの声が多く見られます。開発環境の構築に関する言及もありますが、全体的にはスムーズに進められるようです。ただし、より高度なゲーム開発技術やPythonの応用については、このコースだけでは不十分と感じる受講者もいるようです。しかし、最初の1本を完成させるという目的には非常に適しているコースと言えるでしょう。
VS CodeやPygame等の準備方法
"環境構築の手順が詳しく解説されており、迷わず進められました。"
"venvやPyInstallerの使い方も学べて良かったです。"
"一部環境でエラーが出ましたが、サポートのおかげで解決できました。"
"必要なツールの導入から学べるので安心でした。"
PythonやPygameの基本が分かりやすい
"Python入門者でしたが、無理なく進められました。"
"Pygameの概念が丁寧に説明されていて理解しやすかったです。"
"難しい部分も図解などで分かりやすく解説されていました。"
"プログラミング未経験でも最後まで取り組めました。"
実際に動くRPGを作る達成感
"実際に自分でゲームを完成させることができて感動しました。"
"サンプルを写すだけでなく、自分で考えてコードを書く力がつきました。"
"最初のゲーム開発として最適でした。最後までやり遂げられます。"
"一つ作品を完成させる経験ができて、とても自信になりました。"
基本以降の内容は自身で学習が必要
"RPGは完成しますが、より複雑な機能や最適化については触れていません。"
"Pythonの応用的な文法は軽く流されるだけでした。"
"このコースはあくまで入門。本格的なゲームを作るには他の教材が必要です。"
"提示された範囲を超える改変には追加学習が必要になります。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Pythonで作る レトロ風RPG: Pythonの基礎からWindows向けゲーム開発まで with these activities:
Pythonの基本文法を復習する
コース開始前にPythonの基本的な文法を復習することで、よりスムーズにゲーム開発の学習を進めることができます。
Browse courses on Python
Show steps
  • 変数、データ型、制御構造(if文、for文など)に関する基本的な概念を復習する。
  • 簡単なPythonプログラムを書いて、文法の理解度を確認する。
  • オンラインのPythonチュートリアルやドキュメントを参照して、知識を補強する。
Pygameの入門書を読む
Pygameの入門書を読むことで、Pygameの基本的な使い方を事前に理解し、コースでの学習をより効果的にすることができます。
Show steps
  • Pygameの入門書を選び、購入または図書館で借りる。
  • 本の目次を確認し、Pygameの基本的な機能や使い方に関する章を読む。
  • サンプルコードを実際に実行して、動作を確認する。
Pygameのサンプルコードを試す
Pygameのサンプルコードを試すことで、Pygameの基本的な機能を実際に体験し、理解を深めることができます。
Show steps
  • Pygameの公式サイトやGitHubなどで公開されているサンプルコードを探す。
  • サンプルコードをダウンロードし、実行する。
  • サンプルコードを修正して、動作の変化を確認する。
Three other activities
Expand to see all activities and additional details
Show all six activities
簡単なゲームのプロトタイプを作成する
コースで学んだ知識を使って、簡単なゲームのプロトタイプを作成することで、実践的なスキルを身につけることができます。
Show steps
  • 簡単なゲームのアイデアを考える。
  • Pygameを使って、ゲームの基本的な機能を実装する。
  • ゲームをテストし、バグを修正する。
Pythonのゲーム開発に関する書籍を読む
Pythonのゲーム開発に関する書籍を読むことで、より高度なゲーム開発の知識を習得し、スキルアップすることができます。
Show steps
  • Pythonのゲーム開発に関する書籍を選び、購入または図書館で借りる。
  • 本の目次を確認し、興味のあるテクニックに関する章を読む。
  • サンプルコードを実際に実行して、動作を確認する。
Pygameのオープンソースプロジェクトに貢献する
Pygameのオープンソースプロジェクトに貢献することで、より実践的なスキルを身につけ、コミュニティとの交流を深めることができます。
Show steps
  • PygameのGitHubリポジトリを探す。
  • Issueを検索し、貢献できるものを見つける。
  • コードを修正し、プルリクエストを送信する。

Career center

Learners who complete Pythonで作る レトロ風RPG: Pythonの基礎からWindows向けゲーム開発まで will develop knowledge and skills that may be useful to these careers:
ゲームプログラマー
ゲームプログラマーは、ビデオゲームのソフトウェアを開発する専門家です。このコースを受講することで、レトロ風RPGを作成する過程で、Pythonの基礎からPygameの使い方、WindowsアプリケーションとしてのEXEファイルの作成まで、ゲーム開発に必要なスキルを習得できます。特に、タイトル、マップ、バトルといったシーン移動を伴うゲーム開発の経験は、ゲームプログラマーとして即戦力となるでしょう。コースで紹介される文法やゲームのコードはサンプルとしてダウンロードできるため、実践的な学習が可能です。このコースは、ゲームプログラマーを目指す上で、非常に良いスタート地点となります。
Python開発者
Python開発者は、Pythonプログラミング言語を使用してソフトウェアアプリケーションを開発します。このコースでは、Pythonの基礎から応用まで幅広く学習し、Pygameを使ったゲーム開発を通して実践的なスキルを習得します。Python開発者として、ゲーム開発だけでなく、様々な分野のアプリケーション開発に応用できる知識を身につけることができます。条件分岐、繰り返し処理、例外処理といったPythonの基本的な文法はもちろん、モジュールやクラス、async/awaitといった高度な機能も習得します。Python開発者を目指す上で、このコースは強力な武器となるでしょう。
ソフトウェアエンジニア
ソフトウェアエンジニアは、ソフトウェアアプリケーションの設計、開発、テスト、およびメンテナンスを行います。このコースは、Pythonの基本的な文法から始まり、Pygameを用いたゲーム開発、最終的には配布可能なWindowsアプリケーションの作成までをカバーしています。ソフトウェアエンジニアリングの基礎となるプログラミングスキルはもちろん、アプリケーション開発のプロセス全体を体験できる点が大きなメリットです。特に、第2章で学習する開発環境の構築や第3章で学ぶPythonの基本的な文法は、ソフトウェアエンジニアとしての基礎力を高める上で非常に役立ちます。配布可能なアプリケーションを作成する経験は、ソフトウェアエンジニアとして自信をつける上で貴重な経験となるでしょう。
アプリケーション開発者
アプリケーション開発者は、特定のプラットフォームやデバイス向けのアプリケーションを設計・開発します。このコースでは、PythonとPygameを用いてレトロ風RPGを作成し、Windows向けの実行可能ファイルとして配布する方法を学びます。アプリケーション開発者として、異なるプラットフォームや環境に対応するための知識とスキルを習得できます。第2章で学ぶ開発環境の構築は、様々なプロジェクトに対応できる柔軟性をもたらします。また、第12章で学ぶEXE化のプロセスは、アプリケーションを配布するための重要なステップです。アプリケーション開発者を目指す方にとって、このコースは実践的なスキルを磨く絶好の機会となるでしょう。
ゲームデザイナー
ゲームデザイナーは、ゲームのコンセプト、ルール、ストーリー、キャラクターなどを設計します。このコースでは、レトロ風RPGを作成する過程で、ゲームの基本的な要素をどのように組み合わせて面白いゲームにするかを学ぶことができます。特に、タイトル、マップ、バトルといったシーン移動を伴うゲーム開発の経験は、ゲームデザイナーとしてゲーム全体の流れを設計する上で非常に役立ちます。ゲームデザイナーとして、プレイヤーを楽しませるためのアイデアを形にするための基礎を築くことができます。
コンピューターグラフィックスプログラマー
コンピューターグラフィックスプログラマーは、リアルタイムレンダリング、3Dモデリング、アニメーションなどのグラフィックス技術を開発します。このコースでは、Pygameを使って2Dグラフィックスを扱う基礎を学び、画像描画、図形描画、文字描画などの基本的なグラフィックス処理を習得します。第7章で学ぶ画像や描画の処理は、グラフィックスプログラマーとして、より高度なグラフィックス技術を学ぶための基礎となります。コンピューターグラフィックスプログラマーとして、視覚的に魅力的なアプリケーションを開発するための第一歩を踏み出すことができます。
テクニカルアーティスト
テクニカルアーティストは、アーティストとプログラマーの橋渡し役として、ゲーム開発における技術的な問題を解決します。このコースでは、Pygameを使ってゲームを作成する過程で、画像描画、図形描画、文字描画など、グラフィックスに関する基本的な知識を習得します。第7章で学ぶ画像や描画の処理は、テクニカルアーティストとして、アーティストの意図を技術的に実現する上で非常に役立ちます。テクニカルアーティストとして、創造性と技術力を両立させるためのスキルを磨くことができます。
フルスタックエンジニア
フルスタックエンジニアは、フロントエンド、バックエンド、データベースなど、ウェブアプリケーションのすべての層を担当します。このコースでは、フロントエンドとバックエンドの両方の要素を含むゲーム開発を経験することで、フルスタックエンジニアとしての基礎を築くことができます。Pygameを使ったゲーム開発では、ユーザーインターフェースの設計(フロントエンド)と、ゲームのロジックやデータ処理(バックエンド)の両方を実装する必要があります。特に、第6章で学ぶゲームデータの構造化とJSONを用いた保存方法は、バックエンドエンジニアとしてデータ管理を行う上で非常に役立ちます。フルスタックエンジニアとして、幅広いスキルを身につけることができます。
品質保証エンジニア
品質保証エンジニア(QAエンジニア)は、ソフトウェアの品質を保証するために、テスト計画の作成、テストの実施、バグの報告などを行います。このコースで作成するレトロ風RPGは、実際にプレイしてテストを行うことで、品質保証のスキルを磨くことができます。様々な状況を想定してテストケースを作成し、バグを発見・報告する経験は、QAエンジニアとして非常に役立ちます。また、第12章で学ぶEXE化のプロセスは、配布可能なアプリケーションの品質を保証する上で重要な知識となります。
バックエンドエンジニア
バックエンドエンジニアは、サーバーサイドのロジック、データベース、およびアプリケーションのインフラストラクチャを開発・管理します。このコースでは、ゲームのデータ処理や保存、JSONを使ったデータの入出力など、バックエンド開発に関連するスキルを習得します。特に、第6章で学ぶゲームデータの構造化とJSONを用いた保存方法は、バックエンドエンジニアとしてデータ管理を行う上で非常に役立ちます。バックエンドエンジニアとして、効率的で安定したシステムを構築するための基礎を築くことができます。
フロントエンドエンジニア
フロントエンドエンジニアは、ウェブサイトやアプリケーションのユーザーインターフェースを開発します。このコースでは、ゲーム開発を通じて、ユーザーとのインタラクションを効果的に設計する方法を学びます。Pygameを使ったゲーム開発では、キー入力やマウス入力、画像や文字の描画など、フロントエンド開発に必要な要素が詰まっています。特に、第4章で学ぶPygameの使い方は、インタラクティブなコンテンツを作成する上で非常に役立ちます。フロントエンドエンジニアとして、ユーザーエクスペリエンスを向上させるためのスキルを磨くことができます。
組み込みシステムエンジニア
組み込みシステムエンジニアは、特定の機能を実現するために設計されたコンピューターシステム(マイクロコントローラーなど)のソフトウェアを開発します。このコースでは、Pythonの基本的な文法を習得し、特定の環境(Windows)向けのアプリケーションを開発する経験を積むことができます。組み込みシステムエンジニアは、ハードウェアとソフトウェアの連携を理解する必要があるため、Pythonを使ってハードウェアを制御するようなプロジェクトに挑戦することもできます。Pythonは、組み込みシステム開発においても有用なツールとなり得ます。
モバイルアプリケーション開発者
モバイルアプリケーション開発者は、iOSやAndroidなどのモバイルプラットフォーム向けのアプリケーションを開発します。このコースでは、Windows向けのアプリケーション開発を学びますが、Pythonの知識とプログラミングの基礎は、モバイルアプリケーション開発にも応用できます。Pythonは、Kivyなどのフレームワークを使用することで、モバイルアプリケーション開発にも利用できます。モバイルアプリケーション開発者を目指す上で、このコースでPythonの基礎を学ぶことは、将来的なスキルアップにつながります。
VR開発者
VR開発者は、バーチャルリアリティ(VR)環境向けのアプリケーションやゲームを開発します。このコースでは、Pygameを使って2Dゲームを作成しますが、3Dゲーム開発の基礎となるグラフィックス処理やユーザーインターフェースの設計などを学ぶことができます。Pythonは、Unityなどのゲームエンジンと連携することで、VR開発にも利用できます。VR開発者を目指す上で、このコースでゲーム開発の基礎を学ぶことは、将来的なスキルアップにつながります。
データサイエンティスト
データサイエンティストは、大量のデータを分析し、有益な情報や洞察を得る専門家です。このコースでは、直接的にデータ分析を行うわけではありませんが、Pythonの基礎をしっかりと学ぶことができます。Pythonは、データサイエンスの分野で広く使用されているプログラミング言語であり、データ分析に必要なライブラリ(NumPy, Pandas, Scikit-learnなど)を使いこなすためには、Pythonの基本的な知識が不可欠です。データサイエンティストへの第一歩として、このコースでPythonの基礎を固めることができます。

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Pythonで作る レトロ風RPG: Pythonの基礎からWindows向けゲーム開発まで.
この本は、Pygameを使ったゲーム開発の基礎を学ぶための入門書です。Pygameの基本的な機能や使い方を分かりやすく解説しており、このコースでPygameを学ぶ上で役立ちます。特に、画像描画、キー入力、音声再生などの基本的な機能を理解するのに役立ちます。この本は、コースの補助教材として最適です。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser