新刊紹介
新しい同人誌を作りました。『PythonとPygameで作る レトロ風RPG 全コード』という本です。
PythonでPC向けのゲームを作るための、開発環境の構築や、プログラムの書き方、実例をまとめた本です。サンプルコードや、EXE化したゲームなどが付属しています。
https://ruten.booth.pm/items/5518418 今回、新しい試みとして、同人誌の内容を、noteのマガジンとWebで、少しずつ公開していこうと思います。全ては公開しないですが、有用な部分を中心に、かなりの部分を公開していく予定です。
https://note.com/yanai/m/m04d7505862dahttps://crocro.com/write/python_pygame_rpg/書いていた頃の話
この同人誌を作っていた時期は、去年の終盤から、今年の2月にかけてで、商業本『リバーシを作りながら学ぶJavaScript』と同時期でした。商業本を作るときには、いろいろと待ち時間が発生します。そのため交互に書き進めました。
https://www.amazon.co.jp/dp/4798071692https://www.shuwasystem.co.jp/book/9784798071695.html 『リバーシを作りながら学ぶJavaScript』の方は、リバーシ開発を通してJavaScriptを学ぶことを主眼とした本です。
対して『PythonとPygameで作る レトロ風RPG 全コード』の方は、Pythonが分かっている人が、ゲームを開発することを主眼とした本です。
本の中には、Python速習のための文法解説を30ページほど入れていますが、ある程度プログラムに慣れた初級者~中級者あたりを想定して書いています。
本の内容
作成するゲームのスクリーンショットです。
使用する技術を紹介します。
* ゲーム開発は『Pygame』を使います。
* 『venv』を使って仮想環境を作ります。
* 作ったゲームのEXE化は『PyInstaller』を使います。
* プログラムのチェックは『mypy』でおこないます。
上記の環境で作った場合、出力する実行ファイルのサイズは10数MBと小さくて済みます。開発ファイルも、プログラムと画像とフォントと音声だけで済みます。
開発するゲームは、次のような特徴を持ちます。
* 数分で遊べるレトロ風RPGです。
* マップを移動して、たまに敵に遭遇して戦闘が起きます。
* 街に到着するとHPとMPが回復します。また、初回の到着ではアイテムがもらえます。
* 魔王城に到着すると魔王との戦いが始まり、勝利するとゲームクリアになります。
また、このゲームは次のような仕様を持ちます。
* ウィンドウ サイズを自由に変更して遊べます。最大化もできます。
* ゲーム画面自体は、320×240の領域に描画して、そこから拡大して表示します。
* ゲーム データは、JSON形式で保存して読み込めます。
* タイトル、マップ、バトルといった複数のシーンを行き来できます。
* キーボードで操作します。
目次は次のとおりです。
第1章 開発するゲーム
第2章 開発環境の構築
第3章 Pythonの基本的な文法
第4章 Pygameの使い方
第5章 main.pyと初期化
第6章 データ パッケージ
第7章 イメージ パッケージ
第8章 ゲーム パッケージ
第9章 タイトル シーン パッケージ
第10章 マップ シーン パッケージ
第11章 バトル シーン パッケージ
第12章 その他のプログラム
まとめ
というわけで、今回書いた本が、誰かの役に立てばよいなと思っております。是非、手に取ってください。
https://ruten.booth.pm/items/5518418https://crocro.com/shop/item/python_pygame_rpg.html