pygame オンライン
pygame でゲームを書き、「プレイ」を押してブラウザでキーボードで遊べます。本物の pygame-ce で、インストール不要。無料、登録なし。
pygameをオンラインで、ブラウザだけで実行
片側でpygameのプログラムを書き、もう片側で遊びます。プレイを押してゲームをクリックし、矢印キー、文字キー、スペース、マウスを使ってください。while running: のループも pygame.event.get() も clock.tick(60) も、自分のパソコンとまったく同じように動きます。インストールもアカウントも要りません。
ゲームはpygameのコミュニティ版であるpygame-ce 2.5.7で動き、PythonはWebAssemblyにコンパイルされたPython 3.14です。サーバーではなくブラウザの中で動くので、遊んでいる間はずっと動き続けます。ここで書くコードは普通のpygameです。main.py を自分のパソコンにコピーして pip install pygame-ce を実行すれば、同じように遊べます。
このpygameプレイグラウンドの便利なところ
- コードの隣に遊べるウィンドウがあります。プレイ(またはCtrl+Enter)を押すと、
clock.tick()で指定したフレームレートでゲームが動き、その下のコンソールにすべてのprintとエラーが表示されます。 - 見た目だけ似せたものではなく本物のpygameです。
Surface、draw、Rectと当たり判定、font、transform、sprite、mask、key.get_pressed()、マウスイベント、time.set_timerは、pygameのドキュメントどおりに動きます。 - 最初の一歩に使える6つのサンプルゲーム: 四角を動かす、跳ねるボール、落ちてくるブロックをキャッチ、スネークゲーム、2人対戦のPong、お絵かきプログラム。数字をひとつ変えてプレイを押し、どうなるか見てみましょう。
- 最近のブラウザならどれでも動くので、Chromebook、学校のノートパソコン、タブレットでも使えます。タッチ画面では、ゲームの上に矢印キーとスペースボタンが表示されます。
pygameプレイグラウンドで作れるもの
- スネークゲーム: マス目のグリッド、リストで持つヘビの体、ランダムな場所に出るエサ、
font.renderで描くスコア。ヘビが伸びるほど速くしたり、壁を足したりしてみましょう。 - 1つのキーボードで遊ぶ2人対戦のPong。WとSで操作する側と矢印キーで操作する側が対戦し、
Rectの当たり判定で跳ね返るボールと上部のスコアがあります。コンピューターの対戦相手を加えたり、打つたびにボールを速くしたりできます。 - 落ちてくるブロックをキャッチ:
pygame.time.set_timerが0.7秒ごとにブロックを落とし、パドルで受け止めます。ライフを数えたり、ボーナスブロックを足したり、スコアが上がるほど速くしたりしてみましょう。
pygame オンラインのよくある質問
何もインストールせずにpygameをオンラインで動かせますか?
これは本物のpygameですか?
pip install pygame-ce でインストールし、pygame としてインポートします。自分のパソコンで動かすためにコードを変える必要はありません。ウィンドウ、時計、キーボードがデスクトップのウィンドウではなくこのページにつながっているので、pygame.display.set_mode を呼ぶとエディターの隣にゲームが開きます。pygbagのようにasyncioが必要ですか?
while running: と各フレームの最後の clock.tick(60) で書いてください。ページが tick のたびにブラウザに処理を譲るので、タブが固まることはなく、キー入力もゲームに届きます。pygbag向けに asyncio.run(main()) で書いたプログラムも動きます。このプレイグラウンドでできないことは?
pygame.image.load と pygame.mixer.Sound は開くものがありません。代わりに図形と文字で描いてください。音は出ず、フォントはすべてpygameの内蔵フォントです。ウィンドウは1つで最大1280×960ピクセル、ジョイスティックとネットワークはありません。input() には読み取るキーボードがないので、pygameのイベントを使ってください。無料ですか?コードは保存されますか?
main.py をパソコンに保存できます。pygameでゲームを作れるようになるには?
Pygameに役立つツール
Pygame プレイグラウンドと相性の良い、ブラウザベースの無料ツール。すべて Coddy の一部です。