Third-party material & attribution
picogame’s own code — the native engine (shared-bindings/picogame, shared-module/picogame,
common-hal/picogame), the Python helpers (lib/picogame_*.py), the simulator, tools, the
editor, and the docs — is original work under the MIT License (see LICENSE).
The engine is inspired by techniques from PicoLibSDK (fixed-point affine blitting, strip rendering, etc.); inspiration and credited technique are not copied code, and those engine files are original MIT. This file lists the places where picogame does ship material derived from third-party projects, who owns it, and under what terms — so the attribution travels with the code.
Scope note: none of the material below is part of the native C engine. It all lives in examples/, tools/, compat/, and bundled assets — the learning/ecosystem layer. The upstream-bound C module (and the original-MIT
picogame-libsbundle) carry no third-party code.
Components
Section titled “Components”| What | Files | Upstream | Author | License | Notes |
|---|---|---|---|---|---|
| Converted sprite/art data | examples/pic_*.py (+ generated .bin) | PicoLibSDK | Miroslav Nemecek | PicoLibSDK permissive (below) | Art bytes converted 1:1 from PicoLibSDK images via tools/picolib_img.py; pixels preserved exactly |
| ”Pictor” meadow-world port | examples/picogame_pictor.py + its pic_* assets | PicoLibSDK (Pictor) | Miroslav Nemecek | PicoLibSDK permissive | Reimplemented game logic + converted assets |
| ”Train” puzzle port | examples/picogame_train.py, examples/train_tiles.py, examples/train_levels.py | PicoLibSDK (Train) | Miroslav Nemecek | PicoLibSDK permissive | Tileset, 51 levels + passwords, and game logic derived from PicoLibSDK’s Train |
| Image converter | tools/picolib_img.py | — (reads PicoLibSDK’s .cpp image format) | picogame | MIT | Original tool; only targets PicoLibSDK’s PicoPadImg.exe output format |
| ”TinyPacman” genre port | examples/picogame_pacman.py | TinyJoypad / TinyPacman (redistributed via PicoLibSDK) | Daniel C (TinyJoypad) | ⚠ verify separately | A genre reimplementation, not a code copy — but TinyJoypad has its own terms, distinct from PicoLibSDK. Confirm before bundling/redistributing. |
stage/ugame compatibility shim | compat/stage.py, compat/ugame.py | circuitpython-stage | Radomir Dopieralski | MIT (below) | Reimplements the stage/ugame API on picogame so existing stage games run unmodified; image-loader + class API mirror stage, rendering is original picogame. |
| 8×8 bitmap font | compat/picogame_bitfont.py | circuitpython-stage (font/font.bmp) | Radomir Dopieralski | MIT (below) | The stage font art, repacked into a 2-bit embedded glyph table; renderer is original. |
If you add more derived material, add a row here and keep the upstream author’s copyright + license header inside the file itself.
License texts
Section titled “License texts”PicoLibSDK
Section titled “PicoLibSDK”Source: https://github.com/Panda381/PicoLibSDK · https://picopad.eu/en/
Stated verbatim in every PicoLibSDK source file header:
PicoLibSDK - Alternative SDK library for Raspberry Pico and RP2040Copyright (c) 2023 Miroslav Nemecek, Panda38@seznam.cz, hardyplotter2@gmail.comLicense: This source code is freely available for any purpose, including commercial. It is possible to take and modify the code or parts of it, without restriction.This is a permissive custom grant (not a standard SPDX license). It permits use, modification, and commercial use of the code or parts of it without restriction. picogame uses it for the converted assets and the Pictor/Train ports listed above, with attribution preserved.
For inclusion in a license-strict downstream (e.g. an SPDX/REUSE-checked tree such as CircuitPython upstream), prefer an explicit MIT relicense of any derived material from the author, since a non-standard license string isn’t machine-recognized. None of this material is part of picogame’s upstream-bound C engine, so it does not block upstreaming the engine.
circuitpython-stage
Section titled “circuitpython-stage”Source: https://github.com/python-ugame/circuitpython-stage
MIT License, Copyright (c) Radomir Dopieralski. The compat/ shim (stage.py, ugame.py) and the
compat/picogame_bitfont.py font are derived from it: the stage/ugame class+image-loader API
and the 8×8 font art come from circuitpython-stage; the rendering is reimplemented on picogame. The
MIT licence permits this with attribution + the licence text — both kept in this file and in the
source headers. This material lives in the ecosystem layer (compat/), not in the
original-MIT picogame-libs bundle nor the upstream-bound C engine.
TinyJoypad / TinyPacman
Section titled “TinyJoypad / TinyPacman”Source: TinyJoypad project (Daniel C). examples/picogame_pacman.py is a from-scratch genre
reimplementation, but the original has its own licensing terms separate from PicoLibSDK —
verify and record them here before redistributing the Pacman example.
What is not third-party
Section titled “What is not third-party”For the avoidance of doubt, all of the following are picogame original work under MIT:
- the native module:
shared-bindings/picogame/*,shared-module/picogame/*,ports/*/common-hal/picogame/* - the Python runtime helpers:
lib/picogame_*.py - the desktop simulator (
sim/), the web editor (editor/),tools/(except where a tool’s header says otherwise) - all documentation (
*.md) and tutorials - example games that are not listed in the table above (original or built only from CC0/own assets)