Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Let's play: proposal to upstream picogame

オープン
#11,198 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
c
領域
embedded-iot

調査の方向性

The issue proposes upstreaming the picogame C module but does not name CircuitPython files, tests, or an implementation entry point. First read the linked picogame engine overview and review the repository's process for adding C modules and board build options. The immediate outcome is a maintainer decision on scope, ROMFS and Core1 requirements, and distribution; implementation work is not yet defined.

索引モデルが issue の本文から書いたものです。

説明

advanced api displayio enhancement

It's been a year since I started working on the picogame game engine https://picogame.makerclass.cz/.

In my opinion, it is ready for the next step. Over the last two months I haven't had to change anything in its core API except adding new primitives for the 3D helpers, so I consider it stable - and by now dozens of users have run it on their own boards, some have built their own games with it. I'd like to discuss integrating the C module into CircuitPython.

I also need help deciding a few details about how to finalize the engine, and what requirements would Adafruit have for it.

Two features still need a direction:

  • Core1: on SPI boards this adds about 30 % performance for pseudo-3D scenes; on the Fruit Jam without USB host it generally adds about 50–70 % for full-motion games. In reality this is primarily a benefit for 3D scenes, which picogame wasn't originally designed for. The question is whether it makes sense to keep improving this aspect.

  • ROMFS asset partition: for games with large assets, a small flash partition (e.g. 32–96 kB carved from the CIRCUITPY drive) that the engine can blit from directly - assets then cost zero RAM, which unlocks much better-looking games. It requires a partition layout change, so I'd like to hear how you'd prefer that to be handled.

I'd also like to discuss distribution. I would enable picogame on the PicoPad board I maintain (https://circuitpython.org/board/pajenicko_picopad/), and I think it makes sense enabled on other gaming boards and the Fruit Jam. It's useful on a bare Pico too, but there it probably shouldn't be on by default - for those maybe a separate build variant, similar to how the Zephyr builds, should be nice.

A few details: the whole C module costs about 37 kB of flash on a PicoPad with optimized compile flags (~6 kB of that came with 3D). The C module is fully usable on its own - see https://picogame.makerclass.cz/concepts/engine-only/ - the rest of the engine is 30+ Python libraries that would stay a normal library bundle outside the tree: they abstract the hardware (GPIO buttons, USB gamepads/keyboards and I2C pads all behave the same), audio and other conveniences, configured through settings.toml so boards and peripherals can be tuned without touching game code. The engine is covered by a desktop simulator, a browser (WASM) build and a benchmark suite, and 40+ existing games and demos serve as a regression corpus - all of which I intend to keep maintaining.

What should be the next step?

主要言語
C
スター
4.6k
フォーク
1.4k
平均マージ
1日 8時間
マージ済み PR(30日)
155

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

adafruit/circuitpython のほかの issue

adafruit/circuitpython の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。