Not everything in a game has to be drawn or built from nothing. This page lists open-source tools and asset packs that suit a sports fan game, what each one costs, and its licence. lib/third-party-registry.ts is the one place this list lives; this page is generated from it, so add an entry there rather than editing a table here by hand.
Quickstart: a football pitch in one install
PitchKit is MIT-licensed, so a game that needs a pitch to plot shots or heatmaps on can install it and use it with no licence to negotiate:
npm install @pitchkit/reactimport { Pitch, Scatter } from "@pitchkit/react";
<Pitch>
<Scatter data={shots} x={(s) => s.x} y={(s) => s.y} />
</Pitch>;Or take a UI pack from Kenney with no install at all. Every asset on kenney.nl is CC0 (public domain), so a button, panel or slider pack is a zip you download and drop into public/: kenney.nl/assets/ui-pack has 430 of them.
The rest of this page is grouped by what the tool does, with a table per group: what it is, its licence, its cost, when to reach for it, when to skip it, and how to add it.
<!-- third-party-registry:start -->
Pitch and match visualisation
Draw a pitch and plot data on it, rather than building an SVG renderer from nothing.
| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |
|---|---|---|---|---|---|---|
| PitchKit | A React and TypeScript library that draws a football pitch, with layers for shot maps, pass networks, heatmaps and Voronoi diagrams stacked on top of it as children of a <Pitch> component. Reads coordinates from StatsBomb, Opta, Wyscout, SkillCorner and UEFA formats, and is responsive by default. | MIT | Free | Your predictor or stats game needs a pitch to place players, shots or a heatmap on, and you already have, or can get, coordinates in one of the formats it reads. | The game has no coordinate data to plot, or plays a sport that is not football: it draws football pitches only. | npm install @pitchkit/react |
Interface assets
Buttons, panels and sounds for a game board, from Kenney, all public domain (CC0).
| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |
|---|---|---|---|---|---|---|
| Kenney UI Pack | 430 flat UI sprites: buttons, panels, sliders and checkboxes in several colour sets, sized for a game board rather than a web form. | CC0 (public domain). No attribution required; crediting "Kenney" is welcome, its logo is reserved for its own studio's projects. | Free | A board, a button or a panel needs a game-like look and your own art, or Gamestage UI, is not ready yet. | You are already using Gamestage UI or shadcn/ui on the same screen: mixing three button styles reads as unfinished, not as choice. | Download the pack from https://kenney.nl/assets/ui-pack and copy the sprites you need into public/. There is no package to install. |
| Kenney UI Audio | 50 short sound effects for button presses, switches and menu interactions. | CC0 (public domain). No attribution required. | Free | A button press, a correct answer or a reveal wants a sound and the game has none yet. | The game already has its own sound design, or plays mainly in mobile browsers, where the first sound needs a tap to unlock anyway. | Download the pack from https://kenney.nl/assets/ui-audio and serve the files you need from public/. |
Sport sprites and icons
Generic sports art and small interface icons, for a placeholder rather than a brand.
| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |
|---|---|---|---|---|---|---|
| Kenney Sports Pack | 380 top-down sprites across a range of sports: balls, rackets, goals and simple player figures. | CC0 (public domain). No attribution required. | Free | You need a quick sprite for a ball, a goal or a generic sports object while the game's own brand art is not ready. | The game plays a real sport a fan will recognise: this pack is generic, dated 2017, and reads as a placeholder rather than a team's kit. | Download the pack from https://kenney.nl/assets/sports-pack. |
| Kenney Game Icons | 105 small icons: gamepad, joystick, arrows and control prompts. | CC0 (public domain). No attribution required. | Free | A control hint or a small interface icon is missing, such as a controller prompt on a taster shown on a big screen. | You need a sport-specific icon such as a trophy or a medal: this pack does not have them. | Download the pack from https://kenney.nl/assets/game-icons. |
Fonts
Display and pixel fonts made for games, not licensed type foundries.
| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |
|---|---|---|---|---|---|---|
| Kenney Fonts | 11 pixel and display fonts, as .ttf files, made for game interfaces. | CC0 (public domain). No attribution required. | Free | A scoreboard or a title wants a game-like display font and Studio has not set a brand font for it. | The producer has set a brand font in Studio's theming (see Theming): a second font fights it rather than completing it. | Download from https://kenney.nl/assets/kenney-fonts and self-host the .ttf with an @font-face rule. |
3D modelling tools
Paid desktop apps for a quick 3D asset. Gamestage games are 2D browser pages, so reach for these only when a taster genuinely renders 3D.
| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |
|---|---|---|---|---|---|---|
| Kenney Asset Forge | A desktop app that builds a 3D model by snapping together library blocks, then exports it as OBJ, FBX, glTF and more. | The app is paid. Every block, and every model you export, is public domain: no credit needed. | $19.95 (Deluxe $39.95), on Steam and itch.io | The game needs a simple 3D asset, such as a trophy or a stadium prop, and nobody on the team models in a full 3D tool. | The game is a 2D browser page, which is most of them: this is for the rare taster that renders 3D. | Buy and install from https://kenney.nl/tools/asset-forge, export a model, and load its glTF like any other static asset. |
| Kenney Shape | A desktop app that turns a 2D drawing into a 3D model. | The app is paid. The models you export are yours to use commercially. | $3.99, on Steam and itch.io | You have a 2D icon or logo and want a quick 3D version of it, such as a spinning trophy. | The game is a 2D browser page, which is most of them. | Buy and install from https://kenney.nl/tools/kenney-shape. |
Placeholder avatars
A free web tool that mixes pixel-art parts into a downloadable image, for a fan slot with no photo yet.
| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |
|---|---|---|---|---|---|---|
| Kenney Avatar Mixer | A web tool that mixes pixel-art faces into a random avatar and lets you download the result as a PNG. | CC0 (public domain). No attribution required. | Free | A leaderboard or a profile slot needs a placeholder face before real fan photos or avatars exist. | The game already has fan photos, or a brand-approved avatar style a producer set in Studio. | Use the tool at https://kenney.nl/tools/avatar-mixer and download the PNG. Nothing to install. |
<!-- third-party-registry:end -->
Before you add anything else
Kenney's own word is that every asset on kenney.nl is CC0, in full: no attribution, no royalty, no restriction, even in a paid product. The only thing it reserves is Kenney's own logo, kept for its own studio's projects. A paid tool such as Asset Forge is different from a paid asset pack: the app costs money, but what you build with it and export is yours, public domain, the same as everything else here.
An unofficial data source carries a different warning, covered in Data sources. This page is about code and art, which carry no such caveat once the licence above is met.
If you add or replace something here and it changes a fan-facing font, sound or image, say so in the same commit as the code that uses it: a licence is a fact about a file, and the two should never drift apart.
