見出し画像

3.とりあえず動かそう!Pyxelでゲーム作り+ちょこっとPython:ミニゲーム

この記事は、Scratchを少し触ったことのある中学生や、学校で必修科目だからプログラミングを学ぶ高校生、他の言語は経験したけれどPythonは初めてという人に向けた、PythonとPyxelの入り口の記事です。
Pyxel Code Makerを使うと、パソコンに環境を作らなくても、ブラウザ上でPyxelのプログラムを書いて、そのまま実行できます。今回はこれを使って試してみます。

第3回は、クリックするとジャンプして爆弾をよけるミニゲームの説明です。
リンクをクリック → bomb-jump


Pyxelのゲームプログラミングはだいたいこんな感じ

Pyxelのゲームプログラミングには、ある程度決まった型があります。

ゲームの主要な部分class App。
最初に画面のサイズなどを決めてinit、画像データを読み込みますload。
そして、ゲームの状態を更新する処理updateと、画面に描く処理drawを分けて書きます。

ゲームは次のことをものすごい速さで繰り返しています。
キャラクターの位置を少し変える。
画面を消す。
新しい位置にキャラクターを描く。
これを何度も繰り返すことで、キャラクターが動いているように見えます。

アニメーションも同じです。
今の絵を消して、次のポーズの絵を描く。
また消して、別のポーズを描く。
この繰り返しで、歩いているように見えます。

Pyxelの画像表示も少し独特です。
画像ファイルをそのまま貼り付けるというより、イメージバンクという場所に置いた画像の中から、必要な部分を切り取って表示します。
たとえば、キャラクターの立っているポーズ、走っているポーズ、ジャンプしているポーズを、ひとつの画像の中に並べておきます。
そこから「この場所の16×16ピクセルを使う」と指定して表示します。

AI時代に必要なこと

今はAIに指示を出せば、コードを書いてもらえる時代です。
だからこそ大事なのは、コードを一文字ずつ暗記することではありません。
「何をしたいのか」を自分の言葉で説明できることです。

  • キャラクターを右に動かしたい。

  • クリックしたらジャンプさせたい。

  • 敵に当たったらゲームオーバーにしたい。

  • タイトル画面からゲーム画面に切り替えたい。

こういうふうに、ゲームの動きを言葉にできると、AIにも相談しやすくなります。プログラミングで一番大事なのは、最初から完璧なコードを書くことではありません。

  • まず、キャラクターを表示する。

  • 次に、少し動かす。

  • それから、ジャンプさせる。

  • ぶつかったかどうか調べる。

  • ぶつかったら止める。

  • ゲームオーバーにする。

このように、小さな動きをひとつずつ作っていくことです。
Scratchを経験したことがある人なら、「キャラクターに命令を出す」という考え方はもう知っています。PyxelとPythonでは、それを文字で書くようになるだけです。

このプログラムでしていること

  • 最初のクリックでゲーム開始

  • ゲーム中のクリックでジャンプ

  • 爆弾に当たるとゲームオーバー

  • ゲームオーバー後のクリックでリスタート

Load(ロード)と Save(セーブ)

Pyxel Code Makerで改造したり、新たに作成した、プログラムとリソースファイルを保存・読み込む方法について説明します。
例題のプログラムを自分のパソコンやタブレットに保存・読み込む場合も同じです。

パソコンの場合(Windows11)
Save
 画面上部の Save のプルダウンで Fileを選択します。
 わかりやすいファイル名を入れて保存します。
 ZIP ファイルとしてコンピューターに保存されます。
Load
 画面上部の Load のプルダウンで Fileを選択します。
 保存した ZIP ファイルを選択して開くと実行できます。

iPad の場合
Save
 画面上部の Save のプルダウンで Fileを選択します。
 「ダウンロードしますか」と聞いてくるので、ダウンロードをクリック。
 ZIP ファイルとしてファイルのダウンロードフォルダに保存されます。
 ファイル名をわかりやすいものに変えておきます。
Load
 画面上部の Load のプルダウンで Fileを選択します。
 保存した ZIP ファイルを選択すると実行できます。

プログラムの説明は次の記事に

このシリーズの目的は、まず「とりあえず動かしてみる」ことです。
そのため、Pyxel Code Makerでコードを試し、ゲームの動きを見てもらえれば十分です。

コードの内容を詳しく知りたい方や、VS Codeで本格的に開発してみたい方は、次の記事を参考にしてください。

関連ページ・書籍

とりあえず動かそう!Pyxelでゲーム作り+ちょこっとPython シリーズ
第1回 はじめの一歩
第2回 何かを表示してみよう
第3回 ミニゲーム ← このページ
第4回 ゲームの説明

公式レファレンス
【公式】準備ゼロで使えるPyxel開発環境『Pyxel Code Maker』
Pyxel Code Maker マニュアル
Pyxel Editor マニュアル
Pyxel ユーザーガイド
Pyxel API Reference

関連書籍

いいなと思ったら応援しよう!