We may earn an affiliate commission when you visit our partners.
Course image
速水 夢月

Pythonで、Gameを作る王道としては、Pygameがあります。ただ、Pygameは、近代的なゲームは作ることができますが、ひと昔前のレトロゲームを作ることには向いていません。

なぜならば、昔のパソコンは機能的にも性能的にも非力であり、ゲームと言っても、80x25とかの限られた範囲の中でキャラクタやグラフィック描画、サウンドを駆使して作っていたからです。

そこで登場したのが、Pyxelです。Pyxelは、キャラクタがドットであり、サウンドも、ファミコンでしか発生できない音(三角波、パルス波、ノイズ、…)など、昔のレトロゲームを作成するには欠かせない基本機能を念頭に作られたゲームモジュールです。特にファミコンとかの世代の方々は、ドット絵といい、ファミコン風の音楽といい、とても懐かしいかもしれません。

このコースでは、まずはPyxelの基本機能について説明をします。そして、次に実際にゲーム(レトロGalaxian)を作成しながらPyxelを使ったゲームの作り方を覚えます。

さあ、一緒に学んでいきましょう。

Enroll now

What's inside

Learning objectives

  • レトロゲーム開発モジュールpyxelモジュールの詳細な使い方
  • ~レトロゲームの基本となるドット絵の作り方
  • ~ピコピコ音でお馴染みのファミコンサウンドの作り方
  • ~応用例として、レトロゲームの定番ギャラクシアンgalaxianの作り方
  • Pythonプログラミング技法

Syllabus

はじめに
【2020/5/12 追記】pyxel.pix命令について
Pyxel基本

Pyxelの概要、基本的なAPIについて学びます

Read more

エイリアンの攻撃には「単独攻撃」(alone)、「編隊(フォーメーション)攻撃」(formation)、および、残りのエイリアンが6体未満になったときの「ランダム攻撃」(random)の3種類の攻撃パターンがあります。ここではまず「単独攻撃」のアルゴリズムの説明とその実装を行います。

エイリアンの攻撃には「単独攻撃」(alone)、「編隊(フォーメーション)攻撃」(formation)、および、残りのエイリアンが6体未満になったときの「ランダム攻撃」(random)の3種類の攻撃パターンがあります。ここでは「編隊(フォーメーション)攻撃」のアルゴリズムの説明とその実装を行います。

エイリアンの攻撃には「単独攻撃」(alone)、「編隊(フォーメーション)攻撃」(fprmation)、および、残りのエイリアンが6体未満になったときの「ランダム攻撃」(random)の3種類の攻撃パターンがあります。ここでは「ランダム攻撃」のアルゴリズムの説明とその実装を行います。

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Pyxel, a module designed to emulate the limitations of old computers, making it ideal for creating authentic retro games
Teaches Python programming techniques within the context of game development, providing a practical application of coding skills
Explores the creation of 8-bit style graphics and chiptune music, evoking a sense of nostalgia for classic gaming consoles like the Famicom
Starts with the basics of Pyxel and gradually builds towards creating a complete Galaxian-style game, making it accessible for newcomers
Examines the classic game Galaxian, offering insights into the design and implementation of early arcade games
Covers the audio features of Pyxel, including how to create music and sound effects reminiscent of the Famicom era

Save this course

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

Reviews summary

Pyxelで学ぶレトロゲーム開発入門

学生によると、このコースはPythonライブラリであるPyxelを用いてレトロゲーム開発を学ぶ上で、実践的で非常に良い入門となっています。特にGalaxianクローンを作成するハンズオン形式は、楽しくゲーム開発の基礎を学べると高く評価されています。多くの学習者は講師の説明が丁寧で分かりやすいと感じており、基本的なPyxelの機能ゲーム開発の概念を習得できたと述べています。ただし、一部のレビューでは、ある程度のPythonの基礎知識が前提となる点や、より高度なゲーム開発技術については別途学習が必要である点が指摘されています。全体としては、レトロゲームPyxelに興味がある学習者にとって、推奨できる実践的コースです。
内容の一部が適宜更新されている。
"2020/5/12追記とあり、内容が更新されている点が評価できます。"
"古いレビューで指摘されていた点が、すでに修正されているように見受けられました(仮定)。"
"講師がコースを改善しようとしている姿勢が感じられます。"
講師の説明が丁寧で理解が進む。
"講師の方の説明が非常に丁寧で分かりやすく、動画もサクサク進むので飽きずに学べました。"
"コードの解説がなぜそう書くのかまで言及されており、深く理解できました。"
"初心者にも優しい口調で、質問もしやすかったです(フォーラムなどでの仮定)。"
レトロゲーム開発に特化したPyxelを学べる。
"Pyxelというユニークなライブラリの基本的な使い方を体系的に学べました。"
"ドット絵やピコピコ音など、レトロゲーム独特の表現方法が理解できました。"
"Pyxelでの開発がどのようなものか、イメージを掴むのに最適でした。"
手を動かしGalaxianを作りながら学べる。
"実際にGalaxianを作りながら学べる構成がとても良かったです。コードを書いて動かすのが楽しかった。"
"ゲームを完成させた時の達成感が大きく、モチベーションが維持できました。"
"ハンズオン形式で進むので、理論だけでなく実践的なスキルが身につきました。"
Pyxelの基礎は学べるが、応用は別途学習が必要。
"Pyxelの基本的な機能は網羅されていますが、より複雑なゲームや応用的なテクニックはコース外で学ぶ必要があります。"
"ゲーム開発の入門としては最適ですが、自分でゼロから多様なゲームを作るには、さらに深い知識や経験が必要だと感じました。"
"コース内容はレトロゲームの基本を理解するのに役立ちました。"
受講には最低限のPython経験が推奨される。
"全くのPython初心者には少し難しい部分があるかもしれません。基本的な文法は押さえておくと良い。"
"エラーが出た際に自分で調べる力が求められるため、プログラミング経験が全くないと苦労するかも。"
"コース内容自体は丁寧ですが、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でレトロゲームGalaxianを作ってみよう~Pyxel自由自在~ with these activities:
Pythonの基礎を復習する
コース開始前にPythonの基本的な構文、変数、ループ、関数などを復習することで、Pyxelを使ったゲーム開発をスムーズに進めることができます。
Browse courses on Python
Show steps
  • Pythonの入門書やオンラインチュートリアルを見直す
  • 簡単なPythonプログラムを書いて実行してみる
  • Pyxelのドキュメントに目を通す
Pyxelの公式ドキュメントを読む
Pyxelの公式ドキュメントを読むことで、Pyxelの機能やAPIについてより深く理解し、コースの内容をより効果的に学習できます。
Show steps
  • Pyxelの公式ドキュメントをダウンロードまたはオンラインで開く
  • 各APIの説明とサンプルコードを丁寧に読む
  • 実際にサンプルコードを試してみる
簡単なドット絵を作成する
コースで学ぶドット絵の作成スキルを向上させるために、簡単なキャラクターや背景のドット絵を作成し、Pyxelにインポートして表示してみましょう。
Show steps
  • ドット絵エディタ(Pyxelエディタまたは他のツール)を選択する
  • 簡単なキャラクターや背景のデザインを考える
  • ドット絵を作成し、PNG形式で保存する
  • Pyxelでドット絵を読み込み、表示するプログラムを作成する
Four other activities
Expand to see all activities and additional details
Show all seven activities
PyxelのAPIを使って簡単な図形を描画する練習
Pyxelの基本的な描画API(line, rect, circなど)を使って、様々な図形を描画する練習をすることで、APIの使い方を習得し、ゲーム開発に必要な描画スキルを向上させます。
Show steps
  • Pyxelをインストールし、開発環境を構築する
  • Pyxelの描画APIのリファレンスを参照する
  • 様々な図形(線、四角形、円など)を描画するプログラムを作成する
  • 描画する図形の色や位置、サイズなどを変更してみる
簡単なシューティングゲームのプロトタイプを作成する
コースで学んだ知識を応用して、簡単なシューティングゲームのプロトタイプを作成することで、ゲーム開発の基礎を習得し、実践的なスキルを身につけます。
Show steps
  • ゲームの基本的な仕様(キャラクター、敵、弾、背景など)を設計する
  • Pyxelを使ってキャラクターや背景のドット絵を作成する
  • キャラクターの移動、弾の発射、敵の出現などの基本的な機能を実装する
  • 衝突判定やスコア表示などの機能を追加する
レトロゲーム制作に関する書籍を読む
レトロゲーム制作に関する書籍を読むことで、ゲーム開発の理論やテクニックをより深く理解し、コースの内容をより効果的に学習できます。
Show steps
  • レトロゲーム制作に関する書籍を探す(オンライン書店や図書館など)
  • 書籍の目次やレビューを参考に、興味のある書籍を選ぶ
  • 書籍を読み、ゲーム開発の理論やテクニックを学ぶ
  • 学んだ知識をPyxelを使ったゲーム開発に応用する
作成したゲームをGitHubで公開する
作成したゲームをGitHubで公開することで、他の人に自分の作品を見てもらい、フィードバックを得ることができます。また、ポートフォリオとして活用することもできます。
Show steps
  • GitHubアカウントを作成する
  • GitHubで新しいリポジトリを作成する
  • 作成したゲームのソースコードをリポジトリにアップロードする
  • READMEファイルを作成し、ゲームの説明や操作方法などを記述する

Career center

Learners who complete 【夢月流】PythonでレトロゲームGalaxianを作ってみよう~Pyxel自由自在~ will develop knowledge and skills that may be useful to these careers:
趣味のゲーム開発者
趣味のゲーム開発者は、プロのゲーム開発者ではなく、個人的な楽しみのためにゲームを開発します。このコースでは、Pyxelという手軽なゲーム開発モジュールを使って、レトロゲームを作成することができます。プログラミング初心者でも、Galaxianのような簡単なゲームを作成することで、ゲーム開発の楽しさを体験することができます。特に、レトロゲームが好きで、自分でゲームを作ってみたいと考えている方にとって、このコースは最適です。
レトロゲーム開発者
レトロゲーム開発者は、過去のゲーム機やアーケードゲームを再現したり、インスパイアされた新しいゲームを開発します。このコースでは、Pyxelというレトロゲーム開発に特化したモジュールを使用し、ドット絵やファミコンサウンドといった要素を扱います。これは、レトロゲーム開発者にとって不可欠なスキルです。Galaxianの作成を通じて、ゲームのロジックやデザインを実践的に学べます。レトロゲーム開発に興味があるなら、このコースで基礎を固めてみましょう。
ゲームプログラマー
ゲームプログラマーは、ゲームのロジック、AI、ユーザーインターフェースを開発する役割を担います。このコースでは、Pyxelを使ったレトロゲームの作成を通じて、ゲーム開発の基礎を習得できます。特に、ドット絵の作成やファミコン風のサウンドの作成は、レトロゲーム特有の技術であり、ゲームプログラマーとしての幅を広げるでしょう。Galaxianの作成を通して、ゲームの基本的な構造やプログラミングの概念も学べます。このコースは、ゲームプログラマーを目指す方にとって理想的な入門編となるでしょう。
テクニカルアーティスト
テクニカルアーティストは、アーティストとプログラマーの中間に位置し、アートワークの技術的な側面を担当します。このコースでは、Pyxelを使ったドット絵の作成やアニメーションの実装を通して、ゲーム開発におけるアートワークの技術的な側面を学ぶことができます。特に、レトロゲームのような制約のある環境下でのアートワーク制作の経験は、テクニカルアーティストとしてのスキルを高めるでしょう。Galaxianの作成も通して、ゲーム開発におけるテクニカルな知識を習得できます。
教育者
教育者は、プログラミングやゲーム開発を教えることができます。このコースでは、Pyxelというレトロゲーム開発に特化したモジュールを使用し、ドット絵やファミコンサウンドといった要素を扱います。これは、教育者にとって、子供たちにプログラミングやゲーム開発の楽しさを伝えるための良い教材となります。Galaxianの作成を通して、ゲームのロジックやデザインを実践的に教えることができます。レトロゲーム開発に興味がある子供たちに、このコースで基礎を教えましょう。
ドット絵アーティスト
ドット絵アーティストは、ピクセル単位でキャラクターや背景を描画する専門家です。レトロゲームやインディーゲームで需要が高まっています。このコースでは、Pyxelを使ってドット絵の基本的な作り方を学ぶことができます。特に、イメージエディタを使ったキャラクターの作成や、それを動かす方法を習得することで、ドット絵アーティストとしてのスキルを高めることができます。レトロゲーム開発におけるドット絵の重要性を理解し、実践的なスキルを身につけたい方にとって、このコースは最適です。
サウンドデザイナー
サウンドデザイナーは、ゲームや映像作品の効果音やBGMを作成します。このコースでは、Pyxelのオーディオ機能を使い、ファミコンサウンドのようなレトロなサウンドを作成する方法を学びます。ピコピコ音の作り方や、サウンドエディタを使った音楽の作成は、サウンドデザイナーとしての表現力を高めるでしょう。特に、レトロゲームのサウンドに特化した知識や技術を習得したい方にとって、このコースは非常に役立ちます。
デジタルアーティスト
デジタルアーティストは、コンピュータを使って絵を描いたり、イラストやデザインを作成します。このコースでは、Pyxelを使ってドット絵を作成する方法を学びます。ドット絵は、デジタルアートの一つの表現方法であり、レトロな雰囲気の作品を制作するのに適しています。デジタルアーティストとして、新しい表現方法を身につけたいと考えている方にとって、このコースは新しい可能性を開くかもしれません。
ゲームデザイナー
ゲームデザイナーは、ゲームのコンセプト、ルール、ストーリー、レベルデザインなどを設計します。このコースでは、Pyxelを使って実際にゲームを作成することで、ゲームデザインの基礎を学ぶことができます。Galaxianの作成を通して、ゲームの構造やロジック、ユーザーインターフェースなどを実践的に学ぶことができます。ゲームデザイナーとして、実際にゲームを作成する経験を積みたい方にとって、このコースは良い出発点となるでしょう。
ゲームテスター
ゲームテスターは、ゲームのバグや不具合を発見し、品質を向上させる役割を担います。このコースでは、Galaxianを作成する過程で、ゲームの構造やロジックを深く理解することができます。この知識は、ゲームテスターとして、より効果的なテストを行うために役立ちます。また、Pyxelを使ったゲーム開発の経験は、開発者の視点も理解することに繋がり、より建設的なフィードバックを提供できるようになるでしょう。このコースは、ゲームテスターとしてのスキルアップを目指す方にとって有益です。
Python開発者
Python開発者は、Pythonプログラミング言語を使用して、様々なアプリケーションを開発します。このコースでは、Pyxelというゲーム開発モジュールを使って、Pythonでゲームを作成する方法を学びます。ゲーム開発を通して、Pythonのプログラミングスキルを向上させることができます。特に、ゲーム開発に興味があるPython開発者にとって、このコースは新しい分野への挑戦を促すきっかけとなるでしょう。
組み込みシステムエンジニア
組み込みシステムエンジニアは、家電製品や産業機器などの組み込みシステムを開発します。レトロゲーム機のような限られたリソースで動作するシステムを開発する経験は、組み込みシステムエンジニアにとっても役立ちます。このコースでは、Pyxelを使ってレトロゲームを作成することで、リソース管理や最適化のスキルを磨くことができます。組み込みシステム開発におけるゲーム的な要素を取り入れたいと考えているエンジニアにとって、このコースはインスピレーションを与えてくれるでしょう。
モバイルアプリケーション開発者
モバイルアプリケーション開発者は、スマートフォンやタブレット向けのアプリケーションを開発します。このコースでは、レトロゲーム開発を体験することで、ユーザーインターフェースやゲームロジックの構築について学ぶことができます。Pyxelを使ったゲーム開発は、モバイルアプリケーション開発者が新しい視点を得る良い機会となるでしょう。特に、ゲーム要素を取り入れたモバイルアプリケーションを開発したいと考えている方にとって、このコースは参考になるかもしれません。
ウェブ開発者
ウェブ開発者は、ウェブサイトやウェブアプリケーションを開発します。近年、ブラウザ上で動作するゲームも増えており、ウェブ開発者がゲーム開発の知識を持つことは有益です。このコースでは、Pyxelを使ってレトロゲームを作成することで、ゲーム開発の基本的な知識を習得できます。ウェブ開発にゲーム的な要素を取り入れたり、ゲーム開発の新しいスキルを身につけたいと考えているウェブ開発者にとって、このコースは新しい可能性を開くかもしれません。
VR/AR開発者
VR/AR開発者は、仮想現実や拡張現実のコンテンツを開発します。VR/ARコンテンツにも、ゲーム要素を取り入れたものが多く存在します。このコースでは、Pyxelを使ったレトロゲーム開発を通じて、ゲームの基本的な構造やロジックを学ぶことができます。VR/ARコンテンツにゲーム要素を取り入れたいと考えている開発者にとって、このコースは基礎知識を習得する良い機会となるでしょう。

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でレトロゲームGalaxianを作ってみよう~Pyxel自由自在~.
Pyxelの公式ドキュメントは、Pyxelのすべての機能とAPIについて詳しく解説しています。このドキュメントを読むことで、Pyxelの基本的な使い方から応用的なテクニックまで、幅広く学ぶことができます。特に、各APIのリファレンスは、ゲーム開発中に頻繁に参照することになるでしょう。このコースと並行して読むことで、理解を深めることができます。

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