メインコンテンツへスキップ
見出し画像

pythonでレトロゲームが書けるpyxelがすごい

    【追記おしらせ!】本ブログで紹介したPyxelの本が出ます!しかも Kitaoさん著&監修。ご縁あってイベントも開催します!
    ■ゲームで学ぶPython! Pyxelではじめるレトロゲームプログラミング

    発売はGGJ中!AICUでも出版記念応援イベント・勉強会実施するかもです!

    AICU Creators Talk 5 Pythonをゲーム開発で楽しく学ぶ 書籍出版記念ワークショップ https://t.co/AkbSuKhr20 #AICU_ACT #Pyxel #Python #レトロゲーム開発 #AICU

    — Dr.(Shirai)Hakase - しらいはかせ (@o_ob) January 28, 2025


    今週末(めちゃくちゃ忙しいのに)フランス大使館からサイエンティフィックゲームジャムの審査員を頼まれてしまった…まあやるからには楽しんでやるしかないナ……と思って予習をしています(めちゃくちゃ忙しいのに)。

    この記事めちゃ伸びてるんですが、
    次の日曜日に日本科学未来館で予約不要でプレイできて懇親会まであるのが伝わってない感じあるので加筆した!

    公式サイト: https://jp-minerals.org/scientificgamejam/jp/participate.html
    X(Twitter): https://x.com/sgjtokyo2024

    高校生部門は「pyxel」という環境を使うそうな。

    本題はこちらです

    Pyxel (ピクセル) は、 Python 向けのレトロゲームエンジンです。
    使える色は 16 色のみ、同時に再生できる音は 4 音までなど、レトロゲーム機を意識したシンプルな仕様で、Python を使ってドット絵スタイルのゲームづくりが気軽に楽しめます。

    https://github.com/kitao/pyxel/blob/main/docs/README.ja.md

    おー。日本語READMEがある。開発者さんも日本語なのかな?

    と思って触ってみたけど、これ結構すごいのでは。
    世界で最も使いこなしているかもしれないfrenchbreadさん(日本人)のnoteを見つけたので紹介します。


    2024年10月10日 Steamにて発売予定のインディーゲーム「Dungeon Antiqua」のPVです。
    Steamで売ってます。SteamDeckでも動くそうな!

    HTMLでも動くのでブラウザでも動く。


    書籍もあった
    「開発初心者のためのHowTo pyxelでサクッとレトロゲーム開発!」
    Hisa (著), タイニーコア株式会社 (著) 形式: Kindle版

    2019/9/22に池袋で開催された技術書典7で初展示したpythonでゲームを開発するための技術書です。
    IT専門学校で講師をしている作者が学生の理解が難しかった箇所や分かりづらかった箇所をStep by Stepで説明しております。
    ゲーム開発にチャレンジしたい方にぜひ読んでいただきたい一冊になっております。


    目次
    第1章 はじめに
    第2章 開発環境を作る
    第3章 開発環境に慣れてみよう
    第4章 ゲーム画面に自分で描いたキャラを登場させる
    第5章 敵キャラをやっつける(あたり判定導入)
    第6章 アニメーションをやってみよう
    第7章 背景を作成する
    第8章さいごに(実行ファイル作成手順など)

    サンプルを実行する

    Pyxel をインストールした後、次のコマンドでカレントディレクトリに Pyxel のサンプルコードをコピーします。

    pyxel copy_examples
    1. 01_hello_pyxel.pyシンプルなアプリケーション デモコード

    2. 02_jump_game.pyPyxel リソースファイルを使ったジャンプゲームデモコード

    3. 03_draw_api.py描画 API のデモ デモコード

    4. 04_sound_api.pyサウンド API のデモ デモコード

    5. 05_color_palette.py カラーパレット一覧 デモコード

    6. 06_click_game.pyマウスクリックゲーム デモコード

    7. 07_snake.pyBGM 付きスネークゲーム デモコード

    8. 08_triangle_api.py 三角形描画 API のデモ デモコード

    9. 09_shooter.py画面遷移のあるシューティングゲームデモコード

    10. 10_platformer.pyマップのある横スクロールアクションゲームデモコード

    11. 11_offscreen.pyImage クラスによるオフスクリーン描画 デモコード

    12. 12_perlin_noise.py パーリンノイズアニメーション デモコード

    13. 13_bitmap_font.pyビットマップフォント描画 デモコード

    14. 14_synthesizer.pyオーディオ拡張機能によるシンセサイザー デモコード

    15. 15_tiled_map_file.pyタイルマップファイル (.tmx) の読み込みと描画 デモコード

    16. 16_transform.py画像の回転と拡大縮小 デモコード

    17. 99_flip_animation.pyflip 関数によるアニメーション (非 Web 環境のみ) デモコード

    18. 30sec_of_daylight.pyxapp第 1 回 Pyxel Jam 優勝ゲーム (Adam制作) デモコード

    19. megaball.pyxapp アーケードボール物理ゲーム (Adam制作) デモコード

    20. 8bit-bgm-gen.pyxapp BGM自動作成ツール (frenchbread制作)デモコード


    サンプルは以下のコマンドで実行できます。

    cd pyxel_examples
    pyxel run 01_hello_pyxel.py
    pyxel play 30sec_of_daylight.pyxapp


    画像

    その他のコマンド

    pyxel 
    Pyxel 2.2.7, a retro game engine for Python
    usage:
        pyxel run PYTHON_SCRIPT_FILE(.py)
        pyxel watch WATCH_DIR PYTHON_SCRIPT_FILE(.py)
        pyxel play PYXEL_APP_FILE(.pyxapp)
        pyxel edit [PYXEL_RESOURCE_FILE(.pyxres)]
        pyxel package APP_DIR STARTUP_SCRIPT_FILE(.py)
        pyxel app2exe PYXEL_APP_FILE(.pyxapp)
        pyxel app2html PYXEL_APP_FILE(.pyxapp)
        pyxel copy_examples


    デモゲームが同梱されているので遊んでみる

    pyxel play .\30sec_of_daylight.pyxapp

    title : 30 Seconds of Daylight
    author : Adam
    desc : First Pyxel Jam-winning roguelike game
    site : https://github.com/kitao/30SecondsOfDaylight
    license : MIT
    version : 1.0

    画像

    カーソルキーかWASDで動いて、アタックしたり拾ったりしながら森を彷徨って鍵を探す。日が暮れるのが怖い。


    megaball、これはマーブルマッドネスかも?
    ちゃんと坂道登る。

    画像

    frenchbreadさん作の「8bit BGM generator」

    pyxel play .\8bit-bgm-gen.pyxapp

    title   : 8bit BGM generator
    author  : frenchbread
    desc    : A Pyxel music auto-generation tool
    site    : https://github.com/shiromofufactory/8bit-bgm-generator
    license : MIT
    version : 1.21

    画像

    えっ、めためたおもしろい!
    ファミコンサウンドがこんなに簡単に作れちゃう。
    オトッキーを彷彿とさせたわ
    日本語モードも有る

    画像
    画像

    ソースとマニュアルはこちら

    Webアプリ版はこちら https://retro-bgm-generator.web.app/

    こんなんなんぼでも聞き続けられるわ!!好き!!!
    戦闘音スタイルにして自分を鼓舞する(8bitゲーマー)

    他にもいろいろおもしろくて、コードの解説とかしたくなっちゃうから今夜はこの辺にしておきます。
    LLM時代のゲームとかも作れそうやな…ChatGPTはじめLLMはPython得意だし、ファイルが複数に別れてないしな…ニヤニヤ。

    いい時代になったもんだ!

    科学ゲームジャムに、おいでよ!

    pyxelで興味を持ってくれた方へ、今週末、日本科学未来館で開催です。
    一般の人も遊べますよ!

    最終日午後には、一般の来場者にも完成したゲームを遊んでいただき、楽しかったゲームについて投票していただきます! https://t.co/6keviER9Qx

    — サイエンティフィック・ゲームジャム 東京2024 (@sgjtokyo2024) November 26, 2024

    Pyxel作者です。今週末のサイエンティフィック・ゲームジャムでは審査員としても同席させていただきますのでよろしくお願いいたします!

    おまけで最近Qiitaに投稿したPyxel公式紹介記事もよろしければどうぞ。https://t.co/FHNeblHlWq

    — Takashi Kitao (@kitao) November 27, 2024

    Kitaoさんも降臨!

    日本科学未来館でのイベント概要

    • 日時: 12月1日(日)

      • 13:30: 受付開始

      • 14:00: イベント開始

      • 18:00: イベント終了

    • 場所: 東京・日本科学未来館(Miraikan) 7階 イノベーションホール

    • サイエンティフィック・ゲームジャムの成果を体験できるエキサイティングな日です!一般の皆様も完成したゲームのプレゼンテーションをご覧いただき、楽しかったゲームについて投票していただけます。イベントの締めくくりとして、カクテルパーティにもご参加いただけます(無料)。

    プログラム

    1. サイエンティフィック・ゲームジャムと審査員のご紹介 (2:00 PM - 2:25 PM)

      • サイエンティフィック・ゲームジャムについて紹介します。

      • 科学者、ゲーム開発者、教育者など、様々な専門性をもつ審査員の皆様をご紹介します。

    2. ゲームプレゼンテーションとプレイテスト (2:25 PM - 3:30 PM)

      • 各チームとそのゲームの科学テーマについて紹介します。

      • 各ゲームを実際にプレイし、科学研究がどのようにインタラクティブな体験に変えられたかを体感してください。

    3. 審査 (3:30 PM - 4:15 PM)

      • 一般の方も交えた質疑応答を通して、創造性、科学的価値、ゲーム性、デザインの観点から各ゲームを評価します。
        すべての参加者はお気に入りのゲームに投票し、特別な一般賞の決定に貢献できます!

    4. 表彰式 (4:15 PM - 4:45 PM)

      • チームの成果を祝し、各部門の受賞者を発表します:

        • ゴールデンピクセル賞: 総合最優秀ゲーム

        • シルバーピクセル賞: 準優勝

        • ピクセルサウンドユニバース賞: 最優秀サウンドデザイン

        • ピクセルゲームプレイ賞: 最優秀ゲームプレイ

        • ピクセルグラフィックユニバース賞: 最優秀ビジュアルデザイン

        • ピクセルサイエンスアットステーク賞: 科学の表現が最も優れているゲーム

        • 特別一般賞: 一般参加者が選ぶお気に入りのゲーム

    5. カクテルパーティ (5:00 PM - 6:30 PM)

      • イベントの締めくくりとして、カクテルパーティを開催します。リフレッシュメントを楽しみ、チームと交流し、他の参加者とネットワークを広げましょう。

    入場料はありません(未来館の博物館を訪れる権利は含まれていません)。予約は不要です。ホールの収容人数に制限があります。先着順での入場となります。

    画像
    https://jp-minerals.org/scientificgamejam/jp/event.html

    「つくる人をつくる」AICUとしても応援したいと思います!

    AICUマガジン Vol.6はエンタメ技術特集、Kindleで無料です、読んでね!

    #pyxel


     
     
    過去の未来から来た、ホワイトハッカー作家。 年間700本以上の記事を書きながら、企業のAIDXをがっつりコンサルしたり、生成AI時代の「つくる人」の技術を 「難しいまま、面白く」社会に実装しています。 講演依頼なども歓迎です https://akihiko.shirai.as