Skip to content

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-libs bundle) carry no third-party code.


WhatFilesUpstreamAuthorLicenseNotes
Converted sprite/art dataexamples/pic_*.py (+ generated .bin)PicoLibSDKMiroslav NemecekPicoLibSDK permissive (below)Art bytes converted 1:1 from PicoLibSDK images via tools/picolib_img.py; pixels preserved exactly
”Pictor” meadow-world portexamples/picogame_pictor.py + its pic_* assetsPicoLibSDK (Pictor)Miroslav NemecekPicoLibSDK permissiveReimplemented game logic + converted assets
”Train” puzzle portexamples/picogame_train.py, examples/train_tiles.py, examples/train_levels.pyPicoLibSDK (Train)Miroslav NemecekPicoLibSDK permissiveTileset, 51 levels + passwords, and game logic derived from PicoLibSDK’s Train
Image convertertools/picolib_img.py— (reads PicoLibSDK’s .cpp image format)picogameMITOriginal tool; only targets PicoLibSDK’s PicoPadImg.exe output format
”TinyPacman” genre portexamples/picogame_pacman.pyTinyJoypad / TinyPacman (redistributed via PicoLibSDK)Daniel C (TinyJoypad)⚠ verify separatelyA genre reimplementation, not a code copy — but TinyJoypad has its own terms, distinct from PicoLibSDK. Confirm before bundling/redistributing.
stage/ugame compatibility shimcompat/stage.py, compat/ugame.pycircuitpython-stageRadomir DopieralskiMIT (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 fontcompat/picogame_bitfont.pycircuitpython-stage (font/font.bmp)Radomir DopieralskiMIT (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.


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 RP2040
Copyright (c) 2023 Miroslav Nemecek, Panda38@seznam.cz, hardyplotter2@gmail.com
License:
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.

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.

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.


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)